This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients bentoi, bquinlan, cagney, gregory.p.smith, hroncok, hugh, josh.r, jwilk, pablogsal, pitrou, vstinner
Date 2021-06-28.23:45:32
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1624923932.47.0.981132646511.issue35866@roundup.psfhosted.org>
In-reply-to
Content
> #6  0x00007ffff7bc7712 in __pthread_unwind () from /lib64/libpthread.so.0
> #7  0x00007ffff7bbf7e7 in pthread_exit () from /lib64/libpthread.so.0
> #8  0x000000000051b2fc in PyThread_exit_thread () at Python/thread_pthread.h:238
> #9  0x000000000055ed16 in t_bootstrap (boot_raw=0x7fffe8da0e40) at ./Modules/_threadmodule.c:1021

The thread_run() function (previously "t_bootstrap()") which is the low-level C function to run a thread in Python _thread.start_new_thread() no longer calls PyThread_exit_thread(): see bpo-44434.

I'm able to reproduce the issue using attached cf-deadlock.py with Python 3.8:

* Run 3 processes running cf-deadlock.py 
* Run the Python test suite to stress the machine: ./python -m test -r -j4  # try different -j values to stess the machine more or less

In the main branch (with bpo-44434 fix), I can no longer reproduce the issue. I ran cf-deadlock.py in 4 terminals in parallel with "./python -m test -r -j2" in a 5th terminal for 5 minutes. I couldn't reproduce the issue. On Python 3.8, I reproduced the issue in less than 1 minute.

Can someone please confirm that the issue is now fixed? Can we mark this issue as a duplicate of bpo-44434?
History
Date User Action Args
2021-06-28 23:45:32vstinnersetrecipients: + vstinner, gregory.p.smith, bquinlan, pitrou, bentoi, jwilk, josh.r, cagney, hroncok, pablogsal, hugh
2021-06-28 23:45:32vstinnersetmessageid: <1624923932.47.0.981132646511.issue35866@roundup.psfhosted.org>
2021-06-28 23:45:32vstinnerlinkissue35866 messages
2021-06-28 23:45:32vstinnercreate