Message266690
I found a relatively recent case of this failing on a buildbot:
http://buildbot.python.org/all/builders/AMD64%20FreeBSD%209.x%203.x/builds/4339/steps/test/logs/stdio
== CPython 3.6.0a1+ (default:eaee5aed6fbc, May 27 2016, 05:52:21) [GCC 4.2.1 20070831 patched [FreeBSD]]
0:19:34 [401/401/1] test_io crashed
Timeout (0:15:00)!
Thread 0x0000000801807400 (most recent call first):
File "/usr/home/buildbot/python/3.x.koobs-freebsd9/build/Lib/test/test_io.py", line 3808 in check_interrupted_write_retry
File "/usr/home/buildbot/python/3.x.koobs-freebsd9/build/Lib/test/test_io.py", line 3834 in test_interrupted_write_retry_text
Line 3808 is the write() call, so it could be hanging if the second signal is delivered just before Python makes the write() syscall. Perhaps it might help to use setitimer() so that even if a signal is delivered at an inconvenient moment, the write() call will still be interrupted by a later signal, and read thread will still be spawned.
Also see Issue 22331 for an idea to avoid the EBADF hack. |
|
| Date |
User |
Action |
Args |
| 2016-05-30 12:41:43 | martin.panter | set | recipients:
+ martin.panter, pitrou, vstinner, neologix, python-dev |
| 2016-05-30 12:41:43 | martin.panter | set | messageid: <[email protected]> |
| 2016-05-30 12:41:43 | martin.panter | link | issue23680 messages |
| 2016-05-30 12:41:43 | martin.panter | create | |
|