Skip to content

Remove INSTRUCTION event monitoring will remove LINE events as well#109156

@gaogaotiantian

Description

@gaogaotiantian

Bug report

Bug description:

The current de-instrumentation code for instructions incorrectly de-instruments line too. So if INSTRUCTION events are removed, event if the LINE events are still there, it won't trigger the event.

importsysE=sys.monitoring.eventsdefline(*args): print("Line event: ", args) definst(*args): print("Instruction event: ", args) sys.monitoring.use_tool_id(0, "test") sys.monitoring.set_events(0, 0) sys.monitoring.register_callback(0, E.LINE, line) sys.monitoring.register_callback(0, E.INSTRUCTION, inst) sys.monitoring.set_events(0, E.LINE|E.INSTRUCTION) sys.monitoring.set_events(0, E.LINE) a=1sys.monitoring.set_events(0, 0)

CPython versions tested on:

CPython main branch

Operating systems tested on:

Linux

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    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