Skip to content

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

@chgnrdv

Description

@chgnrdv

First appeared in e028ae9.
Reproducer:

import sys def f(): pass def trace(frame, event, arg): raise ValueError() 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