Skip to content

Duplicate frame in traceback of exception raised inside trace function #102818

Description

@chgnrdv

First appeared in e028ae9.
Reproducer:

importsysdeff():
passdeftrace(frame, event, arg):
raiseValueError()
sys.settrace(trace)
f()

Before 'bad' commit (3e43fac):

Traceback (most recent call last):
File "/home/.../trace_tb_bug.py", line 10, in <module>
f()
^^^
File "/home/.../trace_tb_bug.py", line 3, in f
def f():
File "/home/.../trace_tb_bug.py", line 7, in trace
raise ValueError()
^^^^^^^^^^^^^^^^^^
ValueError

After 'bad' commit (e028ae9):

Traceback (most recent call last):
File "/home/.../trace_tb_bug.py", line 10, in <module>
f()
^^^
File "/home/.../trace_tb_bug.py", line 3, in f
def f():
File "/home/.../trace_tb_bug.py", line 3, in f
def f():
File "/home/.../trace_tb_bug.py", line 7, in trace
raise ValueError()
^^^^^^^^^^^^^^^^^^
ValueError

3.11.0 release and main (039714d) also lack pointers to error locations, but this probably needs a different issue:

Traceback (most recent call last):
File "/home/.../trace_tb_bug.py", line 10, in <module>
f()
File "/home/.../trace_tb_bug.py", line 3, in f
def f():
File "/home/.../trace_tb_bug.py", line 3, in f
def f():
File "/home/.../trace_tb_bug.py", line 7, in trace
raise ValueError()
ValueError

Linked PRs

Metadata

Metadata

Assignees

Labels

type-bugAn unexpected behavior, bug, or error

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions