homepage

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 vstinner
Date 2011年04月18日.20:17:58
SpamBayes Score 4.9581762e-05
Marked as misclassified No
Message-id <1303157880.98.0.834054534396.issue11870@psf.upfronthosting.co.za>
In-reply-to
Content
test_3_join_in_forked_from_thread() of test_threading failed on "x86 Ubuntu Shared 3.x" buildbot:
-----------------------------------
[201/354] test_threading
[41179 refs]
[40407 refs]
[40407 refs]
[40407 refs]
Timeout (1:00:00)!
Thread 0x404218c0:
 File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/subprocess.py", line 466 in _eintr_retry_call
 File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/subprocess.py", line 1486 in _try_wait
 File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/subprocess.py", line 1528 in wait
 File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_threading.py", line 455 in _run_and_join
 File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_threading.py", line 518 in test_3_join_in_forked_from_thread
 File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/unittest/case.py", line 387 in _executeTestPart
 File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/unittest/case.py", line 442 in run
 File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/unittest/case.py", line 494 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/test/support.py", line 1078 in run
 File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/support.py", line 1166 in _run_suite
 File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/support.py", line 1192 in run_unittest
 File "/srv/buildbot/buildarea/3.x.bolen-ubuntu/build/Lib/test/test_threading.py", line 728 in test_main
 File "./Lib/test/regrtest.py", line 1041 in runtest_inner
 File "./Lib/test/regrtest.py", line 835 in runtest
 File "./Lib/test/regrtest.py", line 659 in main
 File "./Lib/test/regrtest.py", line 1619 in <module>
make: *** [buildbottest] Error 1
program finished with exit code 2
elapsedTime=4426.776675
http://www.python.org/dev/buildbot/all/builders/x86%20Ubuntu%20Shared%203.x/builds/3577/steps/test/logs/stdio
-----------------------------------
Code of the test:
----------------------------------
 def _run_and_join(self, script):
 script = """if 1:
 import sys, os, time, threading
 # a thread, which waits for the main program to terminate
 def joiningfunc(mainthread):
 mainthread.join()
 print('end of thread')
 # stdout is fully buffered because not a tty, we have to flush
 # before exit.
 sys.stdout.flush()
 \n""" + script
 p = subprocess.Popen([sys.executable, "-c", script], stdout=subprocess.PIPE)
 rc = p.wait() <~~~ HANG HERE ~~~~
 data = p.stdout.read().decode().replace('\r', '')
 p.stdout.close()
 self.assertEqual(data, "end of main\nend of thread\n")
 self.assertFalse(rc == 2, "interpreter was blocked")
 self.assertTrue(rc == 0, "Unexpected error")
 @unittest.skipUnless(hasattr(os, 'fork'), "needs os.fork()")
 def test_3_join_in_forked_from_thread(self):
 # Like the test above, but fork() was called from a worker thread
 # In the forked process, the main Thread object must be marked as stopped.
 # Skip platforms with known problems forking from a worker thread.
 # See http://bugs.python.org/issue3863.
 if sys.platform in ('freebsd4', 'freebsd5', 'freebsd6', 'netbsd5',
 'os2emx'):
 raise unittest.SkipTest('due to known OS bugs on ' + sys.platform)
 script = """if 1:
 main_thread = threading.current_thread()
 def worker():
 childpid = os.fork()
 if childpid != 0:
 os.waitpid(childpid, 0)
 sys.exit(0)
 t = threading.Thread(target=joiningfunc,
 args=(main_thread,))
 print('end of main')
 t.start()
 t.join() # Should not block: main_thread is already stopped
 w = threading.Thread(target=worker)
 w.start()
 """
 self._run_and_join(script)
----------------------------------
History
Date User Action Args
2011年04月18日 20:18:01vstinnersetrecipients: + vstinner
2011年04月18日 20:18:00vstinnersetmessageid: <1303157880.98.0.834054534396.issue11870@psf.upfronthosting.co.za>
2011年04月18日 20:17:59vstinnerlinkissue11870 messages
2011年04月18日 20:17:58vstinnercreate

AltStyle によって変換されたページ (->オリジナル) /