SIGCHILD causes "Interrupted system call" errors on Python 2.4, in a fresh SVN checkout

[email protected] Mon, 01 Mar 2010 03:34:30 -0000
Newsgroups gmane.comp.python.twisted.bugs
Message-ID <[email protected]>
New submission from TimAllen <[email protected]>:

Apparently this is a regression from #733.

>From a fresh `git svn` checkout of r28580 on my Python 2.4-based system, when I run `bin/trial twisted/` I get the following errors:
{{{
===============================================================================
[FAIL]: twisted.internet.test.test_process.PTYProcessTestsBuilder_SelectReactor.test_systemCallUninterruptedByChildExit

Traceback (most recent call last):
  File "/mnt/aquaria/nobackup/home/tim/tmp/Twisted-git/twisted/internet/test/test_process.py", line 219, in test_systemCallUninterruptedByChildExit
    self.assertEqual(result, ["Foo\n"])
twisted.trial.unittest.FailTest: not equal:
a = []
b = ['Foo\n']

===============================================================================
[FAIL]: twisted.internet.test.test_process.ProcessTestsBuilder_PollReactor.test_systemCallUninterruptedByChildExit

Traceback (most recent call last):
  File "/mnt/aquaria/nobackup/home/tim/tmp/Twisted-git/twisted/internet/test/test_process.py", line 219, in test_systemCallUninterruptedByChildExit
    self.assertEqual(result, ["Foo\n"])
twisted.trial.unittest.FailTest: not equal:
a = []
b = ['Foo\n']

===============================================================================
[FAIL]: twisted.internet.test.test_process.ProcessTestsBuilder_SelectReactor.test_systemCallUninterruptedByChildExit

Traceback (most recent call last):
  File "/mnt/aquaria/nobackup/home/tim/tmp/Twisted-git/twisted/internet/test/test_process.py", line 219, in test_systemCallUninterruptedByChildExit
    self.assertEqual(result, ["Foo\n"])
twisted.trial.unittest.FailTest: not equal:
a = []
b = ['Foo\n']

===============================================================================
[ERROR]: twisted.internet.test.test_process.PTYProcessTestsBuilder_PollReactor.test_systemCallUninterruptedByChildExit

Traceback (most recent call last):
  File "/mnt/aquaria/nobackup/home/tim/tmp/Twisted-git/twisted/internet/base.py", line 409, in _continueFiring
    callable(*args, **kwargs)
  File "/mnt/aquaria/nobackup/home/tim/tmp/Twisted-git/twisted/internet/test/test_process.py", line 213, in f
    result.append(f2.read())
exceptions.IOError: [Errno 4] Interrupted system call
===============================================================================
[ERROR]: twisted.internet.test.test_process.PTYProcessTestsBuilder_SelectReactor.test_systemCallUninterruptedByChildExit

Traceback (most recent call last):
  File "/mnt/aquaria/nobackup/home/tim/tmp/Twisted-git/twisted/internet/base.py", line 409, in _continueFiring
    callable(*args, **kwargs)
  File "/mnt/aquaria/nobackup/home/tim/tmp/Twisted-git/twisted/internet/test/test_process.py", line 213, in f
    result.append(f2.read())
exceptions.IOError: [Errno 4] Interrupted system call
===============================================================================
[ERROR]: twisted.internet.test.test_process.ProcessTestsBuilder_PollReactor.test_systemCallUninterruptedByChildExit

Traceback (most recent call last):
  File "/mnt/aquaria/nobackup/home/tim/tmp/Twisted-git/twisted/internet/base.py", line 409, in _continueFiring
    callable(*args, **kwargs)
  File "/mnt/aquaria/nobackup/home/tim/tmp/Twisted-git/twisted/internet/test/test_process.py", line 213, in f
    result.append(f2.read())
exceptions.IOError: [Errno 4] Interrupted system call
===============================================================================
[ERROR]: twisted.internet.test.test_process.ProcessTestsBuilder_SelectReactor.test_systemCallUninterruptedByChildExit

Traceback (most recent call last):
  File "/mnt/aquaria/nobackup/home/tim/tmp/Twisted-git/twisted/internet/base.py", line 409, in _continueFiring
    callable(*args, **kwargs)
  File "/mnt/aquaria/nobackup/home/tim/tmp/Twisted-git/twisted/internet/test/test_process.py", line 213, in f
    result.append(f2.read())
exceptions.IOError: [Errno 4] Interrupted system call
-------------------------------------------------------------------------------
}}}

Ticket #733 comment 42 says "If neither of these is available, revert to the old behavior." It seems the revert-to-old-behaviour part of the patch isn't really working.

(as a side note, if there's a way to run Twisted from an SVN checkout with all the C extensions built, I'd be interested to hear it)


----------
Type     : regression
Component: core
Keywords : 
Priority : normal
Nosy     : 
----------
http://twistedmatrix.com/trac/ticket/4331