STINNER Victor added the comment:

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.

----------
nosy: +larry
priority: normal -> release blocker

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue20526>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to