Message211049
| 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. |
|