Skip to content

Inconsistent behavior for sys.monitoring.events.CALL #116626

Closed
@gaogaotiantian

Description

@gaogaotiantian

Bug report

Bug description:

According to the docs, CALL event should be emitted as long as there's a function call in Python code. However, CALL_FUNCTION_EX does it differently - it only emits the event when it's a call to C function. So monitoring the following code produce different results:

def f(a, b):
    return a + b
f(1, 2)  # Emits CALL event
args = (1, 2)
f(*args)  # Does NOT emit CALL event

I think we should just fix CALL_FUNCTION_EX to make it work the same as the other CALL instructions.

CPython versions tested on:

CPython main branch

Operating systems tested on:

Linux

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.12only security fixes3.13bugs and security fixestype-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions