Open car-bianco opened 1 year ago
If you execute only in pure-python mode, does this still happen?
i.e.: if you set an environment variable as: PYDEVD_USE_CYTHON=NO
If you execute only in pure-python mode, does this still happen?
i.e.: if you set an environment variable as:
PYDEVD_USE_CYTHON=NO
This does not seem to make any difference, sadly.
Any suggestion as to what else we should try?
Hey @fabioz , Sorry for the double-reply.
After the following two steps, it looks like I can terminate the program successfully.
pydevd.stoptrace()
at the beginning of the "shutdown" phasewhile True:
to while not _kill_received:
Would you consider this to be a viable solution? If so, I'd find it reasonable to add the option to explicitly shutdown the reader thread.
Hello everyone!
I have been tasked with integrating debugging via Pydev into an application consisting of multiple Python scripts being executed within a C++ process. Every script runs in its own Python interpreter instance. I am using PyDev 9.3.0 on Linux.
When the process enters a certain "shutdown" phase, all interpreters should be terminated by calling
Py_EndInterpreter()
. When Pydev is enabled, the process is aborted with the following error traceback:Though
dispose_and_kill_all_pydevd_threads()
is being executed, it looks like theReaderThread
and thePyDBCommandThread
are not being closed. They are daemon threads - so they are only ended when the program exits.Are there any workarounds in order to "gracefully shutdown" those threads anyway, or suggestions as to how this issue can be solved?