Bug report
Bug description:
Original gist: https://gist.github.com/devdanzin/ed7691a99c26ede561a549ab1dba00b2
Summary
In Modules/_lsprof.c (lines 821-823), when sys.monitoring.use_tool_id() fails, PyErr_Format unconditionally replaces the real exception with a generic ValueError.
Fix
Remove the PyErr_Format call and let the original exception propagate.
Reproducer
import cProfile
p1 = cProfile.Profile()
p1.enable()
p2 = cProfile.Profile()
try:
p2.enable() # ValueError: "Another profiling tool is already active"
except ValueError as e:
print(f"Generic message masks real error: {e}")
finally:
p1.disable()
CPython versions tested on:
CPython main branch
Operating systems tested on:
No response
Linked PRs
Bug report
Bug description:
Original gist: https://gist.github.com/devdanzin/ed7691a99c26ede561a549ab1dba00b2
CPython versions tested on:
CPython main branch
Operating systems tested on:
No response
Linked PRs