Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

sys.monitoring PY_UNWIND not being delivered when a generator is closed/garbage collected #140373

Open
Assignees
Labels
3.13bugs and security fixes 3.14bugs and security fixes 3.15new features, bugs and security fixes interpreter-core(Objects, Python, Grammar, and Parser dirs) type-bugAn unexpected behavior, bug, or error
@jaltmayerpizzorno

Description

Bug report

Bug description:

With Python 3.12, this code generates a PY_UNWIND event; with 3.13 and later, it no longer does.

import sys
def gen():
 yield 1
 yield 2
def callback(code, off, exc):
 if code is gen.__code__:
 print("got unwind!")
ID=3
sysmon = sys.monitoring
sysmon.use_tool_id(ID, "test")
sysmon.register_callback(ID, sysmon.events.PY_UNWIND, callback)
sysmon.set_events(ID, sysmon.events.PY_UNWIND)
g = gen()
next(g)
del g # or g.close()

CPython versions tested on:

3.13, 3.14

Operating systems tested on:

macOS, Linux

Linked PRs

Metadata

Metadata

Labels

3.13bugs and security fixes 3.14bugs and security fixes 3.15new features, bugs and security fixes interpreter-core(Objects, Python, Grammar, and Parser dirs) type-bugAn unexpected behavior, bug, or error

Projects

No projects

Milestone

No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      AltStyle によって変換されたページ (->オリジナル) /