[issue17277] incorrect line numbers in backtrace after removing a trace function

2017-12-20 Thread Atsuo Ishimoto

Change by Atsuo Ishimoto :


--
nosy: +ishimoto

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17277] incorrect line numbers in backtrace after removing a trace function

2015-07-04 Thread Xavier de Gaye

Xavier de Gaye added the comment:

The patch is wrong, the frame may not be run by the current PyThreadState.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17277
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17277] incorrect line numbers in backtrace after removing a trace function

2014-07-09 Thread Xavier de Gaye

Xavier de Gaye added the comment:

The previous patch changed a field in the PyThreadState structure. This new 
patch is simpler and does not prevent to change f_lineno when it is not the 
attribute of the frame being traced. The new patch fixes also issue 7238, issue 
16482 and issue 17697.

--
Added file: http://bugs.python.org/file35915/lineno_getter.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17277
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17277] incorrect line numbers in backtrace after removing a trace function

2014-06-02 Thread Nikolaus Rath

Changes by Nikolaus Rath nikol...@rath.org:


--
nosy: +nikratio

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17277
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17277] incorrect line numbers in backtrace after removing a trace function

2014-04-23 Thread Phil Connell

Changes by Phil Connell pconn...@gmail.com:


--
nosy: +pconnell

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17277
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17277] incorrect line numbers in backtrace after removing a trace function

2013-02-25 Thread Xavier de Gaye

Xavier de Gaye added the comment:

The traced_frame.patch fixes also issue 7238 and issue 16482.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17277
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17277] incorrect line numbers in backtrace after removing a trace function

2013-02-24 Thread Xavier de Gaye

Xavier de Gaye added the comment:

The proposed patch fixes the backtrace line numbers issue, but it does not fix
PyFrame_GetLineNumber() which is the recommended way to get the frame line
number.

As mentionned in the original message, testing for f-f_trace to implement the
f_lineno getter is not correct. The f_lineno setter is also wrong in allowing to
modify f_lineno when the frame is not the one that is being traced (pdb prevents
that to happen though, in do_jump()).

I am working on another patch that should fix the issue by changing
PyFrame_GetLineNumber() and the f_lineno accessors.

--

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17277
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17277] incorrect line numbers in backtrace after removing a trace function

2013-02-24 Thread Xavier de Gaye

Xavier de Gaye added the comment:

 fix the issue by changing PyFrame_GetLineNumber() and the f_lineno accessors

The new patch named traced_frame.patch has been uploaded.

Also, now it is not allowed anymore to set the f_lineno attribute of a frame
that is not the frame being traced, as f_lasti is invalidated anyway on
returning to the evaluation of that frame.

--
Added file: http://bugs.python.org/file29222/traced_frame.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17277
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17277] incorrect line numbers in backtrace after removing a trace function

2013-02-23 Thread Xavier de Gaye

Xavier de Gaye added the comment:

The patch (on the default branch) reverts one of the changes made in r72488 to
introduce the new PyFrame_GetLineNumber() function (issue 5954): tb_lineno is
now back again the result of the call to PyCode_Addr2Line() instead of the
call to PyFrame_GetLineNumber().

The other changes made by r72488 in _warnings.c and ceval.c should also
probably be reverted as well.

The patch updates bdb set_continue() for consistency.

The patch adds a test to test_sys_settrace.

--
keywords: +patch
Added file: http://bugs.python.org/file29170/backtrace_lno.patch

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17277
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17277] incorrect line numbers in backtrace after removing a trace function

2013-02-22 Thread Xavier de Gaye

New submission from Xavier de Gaye:

It seems that using f_trace in the f_lineno getter PyFrame_GetLineNumber(), as
the condition to decide when tracing is active, is incorrect.
See the following two examples.

In the backtrace printed by tracer.py running with python 3.3,
the last entry should be line 12 instead of line 10:

$ python3 /tmp/tracer.py
Traceback (most recent call last):
  File /tmp/tracer.py, line 15, in module
foo()
  File /tmp/tracer.py, line 10, in foo
bar()
ZeroDivisionError: division by zero


This simple case does not occur with pdb, because pdb takes care of deleting
the f_trace attribute of all the frames in the call stack when removing the
trace function (see set_continue() in bdb.py). But this is not good enough when
a generator is involved as can be seen when running generator.py. In the
backtrace the last entry should be line 6 instead of line 8:

$ python3 /tmp/generator.py
 /tmp/generator.py(16)module()
- foo()
(Pdb) step
--Call--
 /tmp/generator.py(10)foo()
- def foo():
(Pdb) step
 /tmp/generator.py(11)foo()
- it = gen()
(Pdb) step
 /tmp/generator.py(12)foo()
- next(it)
(Pdb) step
--Call--
 /tmp/generator.py(3)gen()
- def gen():
(Pdb) return
--Return--
 /tmp/generator.py(8)gen()-0
- yield i
(Pdb) step
 /tmp/generator.py(13)foo()
- next(it)
(Pdb) continue
Traceback (most recent call last):
  File /tmp/generator.py, line 16, in module
foo()
  File /tmp/generator.py, line 13, in foo
next(it)
  File /tmp/generator.py, line 8, in gen
yield i
ZeroDivisionError: division by zero


It seems that it could be possible to fix this issue by replacing the test for
f-f_trace in PyFrame_GetLineNumber, by a test for f-f_tstate-use_tracing,
and updating accordingly the f_lineno and f_trace setters.

--
components: Interpreter Core
files: tracer.py
messages: 182672
nosy: xdegaye
priority: normal
severity: normal
status: open
title: incorrect line numbers in backtrace after removing a trace function
type: behavior
versions: Python 2.7, Python 3.3, Python 3.4
Added file: http://bugs.python.org/file29162/tracer.py

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17277
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17277] incorrect line numbers in backtrace after removing a trace function

2013-02-22 Thread Xavier de Gaye

Changes by Xavier de Gaye xdeg...@gmail.com:


Added file: http://bugs.python.org/file29163/generator.py

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17277
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17277] incorrect line numbers in backtrace after removing a trace function

2013-02-22 Thread Terry J. Reedy

Changes by Terry J. Reedy tjre...@udel.edu:


--
nosy: +belopolsky

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17277
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue17277] incorrect line numbers in backtrace after removing a trace function

2013-02-22 Thread Jesús Cea Avión

Jesús Cea Avión added the comment:

Xavier, could you possibly provide a patch and a test?

--
nosy: +jcea

___
Python tracker rep...@bugs.python.org
http://bugs.python.org/issue17277
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com