[pypy-issue] Issue #3068: Error setting frame tracing from a different thread (pypy/pypy)

Fabio Zadrozny issues-reply at bitbucket.org
Tue Sep 3 08:46:35 EDT 2019


New issue 3068: Error setting frame tracing from a different thread
https://bitbucket.org/pypy/pypy/issues/3068/error-setting-frame-tracing-from-a

Fabio Zadrozny:

I’m not sure if this is the same as: [https://bitbucket.org/pypy/pypy/issues/3067/error-getting-locals-for-frame-from-a](https://bitbucket.org/pypy/pypy/issues/3067/error-getting-locals-for-frame-from-a) \(internally it may be, but the way to reproduce is very different and this is much more critical to the debugger, so, I’m doing a new report\).

Just to give some background, without being able to set the frame tracing from a different thread, the `pydevd` debugger is not able to change breakpoints \(in `pydevd` the frame is checked to see if it has a breakpoint and if it has it's traced, if it doesn't have a breakpoint it runs untraced -- now, if a user adds a breakpoint later on, `pydevd` will set `frame.f_trace` for the frames that were previously untraced so that the breakpoints are re-evaluated, but this is not working on `pypy` due to this bug\).

I guess the debugger could workaround by disabling this optimization, but this is such a huge performance boost in most real-world cases when debugging \(where there are breakpoints only in a few places\) that it'd be really nice if `PyPy` could properly support that.

I'm attaching a test-case which shows the issue \(this works in `CPython` but doesn't work in `PyPy`\).




More information about the pypy-issue mailing list