[issue40092] Crash in _PyThreadState_DeleteExcept() at fork in the process child

Michael Felt report at bugs.python.org
Thu Apr 1 05:59:19 EDT 2021


Michael Felt <aixtools at felt.demon.nl> added the comment:

OK: further.

Two options are suggested:

There are different options to solve this issue:

* Reset _tstate_lock before using it... not sure that it's worth it, since we are going to delete the threading.Thread object with its _tstate_lock object anymore. After calling fork, the child process has exactly 1 thread: all other threads have been removed.

* Modify release_sentinel() to not use the lock: avoid PyThread_release_lock() call.

** as to option 1 - it is 'worth it' if it stops the crashes

** This is deeper than I usually go in Python code - but I'll make an effort - help is appreciated.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue40092>
_______________________________________


More information about the Python-bugs-list mailing list