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.

classification
Title: ThreadSignals.test_signals() of test_threadsignals hangs on PPC Tiger 3.x buildbot
Type: Stage:
Components: Interpreter Core, macOS, Tests Versions: Python 3.2, Python 3.3
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: ronaldoussoren Nosy List: pitrou, python-dev, ronaldoussoren, sable, vstinner
Priority: normal Keywords: buildbot

Created on 2011-04-01 15:55 by vstinner, last changed 2022-04-11 14:57 by admin. This issue is now closed.

Messages (6)
msg132748 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-04-01 15:55
Thanks to the new faulthandler module (#11393) and regrtest timeout (#11727, timeout of 15 minutes), I finally found why test_threadsignals hangs on PPC Tiger 3.x:
-------------------------------------
...
[ 25/354] test_threadsignals
Thread 0xa000ed88:
  File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/test/test_threadsignals.py", line 46 in test_signals
  File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/unittest/case.py", line 387 in _executeTestPart
  File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/unittest/case.py", line 442 in run
  File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/unittest/case.py", line 494 in __call__
  File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/unittest/suite.py", line 105 in run
  File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/unittest/suite.py", line 67 in __call__
  File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/unittest/suite.py", line 105 in run
  File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/unittest/suite.py", line 67 in __call__
  File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/test/support.py", line 1078 in run
  File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/test/support.py", line 1166 in _run_suite
  File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/test/support.py", line 1192 in run_unittest
  File "/Users/buildbot/buildarea/3.x.parc-tiger-1/build/Lib/test/test_threadsignals.py", line 210 in test_main
  File "./Lib/test/regrtest.py", line 1032 in runtest_inner
  File "./Lib/test/regrtest.py", line 826 in runtest
  File "./Lib/test/regrtest.py", line 650 in main
  File "./Lib/test/regrtest.py", line 1607 in <module>
make: *** [buildbottest] Error 1
program finished with exit code 2
elapsedTime=1103.489396
-------------------------------------
http://www.python.org/dev/buildbot/all/builders/PPC%20Tiger%203.x/builds/1685/steps/test/logs/stdio

test_threadsignals hangs at:
----------------
class ThreadSignals(unittest.TestCase):
    def test_signals(self):
        signalled_all.acquire()
        self.spawnSignallingThread()
        signalled_all.acquire() <~~~~ here
        ...
----------------

self.spawnSignallingThread() calls:
----------------
def send_signals():
    os.kill(process_pid, signal.SIGUSR1)
    os.kill(process_pid, signal.SIGUSR2)
    signalled_all.release()
----------------

Before fixing the bug, we can workaroung the hang in the test using a timeout on the second acquire.

This issue may be related to #11223.
msg132749 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-04-01 16:02
The trace is supposed to contain the traceback of all threads, and I see only one thread. So I suppose that send_signals() thread has exited. I don't know if it raises an exception or was interrupted before calling signalled_all.release().
msg132906 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-04-03 23:25
May be related to #11753.
msg132930 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2011-04-04 10:54
New changeset 9d59ae98013c by Victor Stinner in branch 'default':
Reenable regrtest.py timeout (30 min): #11738 and #11753 looks to be fixed
http://hg.python.org/cpython/rev/9d59ae98013c
msg132950 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-04-04 14:56
I think that the last test_threadsignals failures on PPC Tiger were related to the new regrtest timeout, and it is now fixed.
msg134132 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2011-04-20 09:19
> I think that the last test_threadsignals failures on PPC Tiger
> were related to the new regrtest timeout, and it is now fixed.

Wrong, it was a deadlock. It is a duplicate of #11768 and it is now fixed.
History
Date User Action Args
2022-04-11 14:57:15adminsetgithub: 55947
2011-04-20 09:19:44vstinnersetmessages: + msg134132
2011-04-04 14:56:57vstinnersetstatus: open -> closed
resolution: fixed
messages: + msg132950
2011-04-04 10:54:50python-devsetnosy: + python-dev
messages: + msg132930
2011-04-03 23:25:17vstinnersetmessages: + msg132906
2011-04-01 16:02:42vstinnersetmessages: + msg132749
2011-04-01 15:55:33vstinnercreate