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 gvanrossum, larry, neologix, pitrou, serhiy.storchaka, vstinner
Date 2014-02-12.00:35:54
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1392165354.73.0.337703874053.issue20526@psf.upfronthosting.co.za>
In-reply-to
Content
Charles-François wrote:
> see issue #19466: I think that the change to clear the frame of daemon
> threads was a mistake

Good catch. If I reverted changes of #19466, threading_shutdown_interrupted.py doesn't crash anymore.

It doesn't explain how the GC header of a frame object becomes inconsistent.

IMO fixing #19466 was a good idea but because these changes, some bugs became more likley.

Maybe we can revert #19466, then try to understand and fix this GC inconstency, and later fix again #19466?

--

Oh by the way, threading_shutdown_interrupted.py shows also a deadlock. The main threads waits in threading._shutdown(), but this function is interrupted. Then it calls flush_std_files() which waits for a lock on stdout. The problem is that a thread was writing into stdout, but this thread is no more running and holds the lock.
History
Date User Action Args
2014-02-12 00:35:54vstinnersetrecipients: + vstinner, gvanrossum, pitrou, larry, neologix, serhiy.storchaka
2014-02-12 00:35:54vstinnersetmessageid: <1392165354.73.0.337703874053.issue20526@psf.upfronthosting.co.za>
2014-02-12 00:35:54vstinnerlinkissue20526 messages
2014-02-12 00:35:54vstinnercreate