id,summary,reporter,owner,description,type,status,priority,milestone,component,resolution,keywords,cc,branch,branch_author,launchpad_bug
4331,"SIGCHLD causes ""Interrupted system call"" errors on Python 2.4, in a fresh SVN checkout",TimAllen,,"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)
",defect,closed,normal,,core,fixed,easy,spiv exarkun,,,
