Charles-François Natali <neolo...@free.fr> added the comment:

> The initial problem was test_3_join_in_forked_from_thread() and the hangs 
> does still happen:
>

Yes, the patch was there to fix test_2_join_in_forked_from_thread.

> [324/356] test_threading
> Timeout (1:00:00)!
> Thread 0x404248c0:
>  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/subprocess.py", 
> line 1498 in _communicate_with_poll
>  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/subprocess.py", 
> line 1423 in _communicate
>  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/subprocess.py", 
> line 836 in communicate
>  File 
> "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/script_helper.py", 
> line 32 in _assert_python
>  File 
> "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/script_helper.py", 
> line 50 in assert_python_ok
>  File 
> "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_threading.py", 
> line 434 in _run_and_join
>  File 
> "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_threading.py", 
> line 493 in test_3_join_in_forked_from_thread
>  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/unittest/case.py", 
> line 407 in _executeTestPart
>  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/unittest/case.py", 
> line 462 in run
>  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/unittest/case.py", 
> line 514 in __call__
>  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/unittest/suite.py", 
> line 105 in run
>  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/unittest/suite.py", 
> line 67 in __call__
>  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/unittest/suite.py", 
> line 105 in run
>  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/unittest/suite.py", 
> line 67 in __call__
>  File 
> "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/unittest/runner.py", line 
> 168 in run
>  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/support.py", 
> line 1259 in _run_suite
>  File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/support.py", 
> line 1285 in run_unittest
>  File 
> "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_threading.py", 
> line 774 in test_main
>  File "./Lib/test/regrtest.py", line 1070 in runtest_inner
>  File "./Lib/test/regrtest.py", line 861 in runtest
>  File "./Lib/test/regrtest.py", line 669 in main
>  File "./Lib/test/regrtest.py", line 1648 in <module>
>
> http://www.python.org/dev/buildbot/all/builders/x86%20Ubuntu%20Shared%203.x/builds/4081/steps/test/logs/stdio
>

This means that the subprocess hangs, but without a backtrace of the
child process (issue #12413), it's hard to analyse it further.
I've had a look at the code, and couldn't find anything obviously
wrong; Gregory's patches to sanitize threading's lock should have
fixed this. I also tried running this test in a loop for 48 hours but
couldn't reproduce it.
One possible explanation (but it's just a wild guess) is that with a
certain kernel/libc configuration, the lock deallocation code can
deadlock (I've seen pthread_cond_destroy() block, this could maybe
happen with sem_destroy()).

So I suggest to try to come up with a solution to #12413, which should
help analyzing this - and similar - issues.

----------

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

Reply via email to