In the new buildd manager, which now interleaves Popen with other builder comms, we are getting "Interrupted system call" errors when polling builders. This is most likely because the reset script for another builder just finished and we get a SIGCHLD, which terminates the socket receive op.
{{{
2010-08-12 11:05:38+0100 [-] Disabling builder: http://yellow.buildd:8221/ -- (4
, 'Interrupted system call')
2010-08-12 11:05:38+0100 [-] Traceback (most recent call last):
2010-08-12 11:05:38+0100 [-] File "/srv/launchpad.net/codelines/soyuz-producti
on-rev-9648/lib/lp/buildmaster/model/builder.py", line 204, in updateBuilderStat
us
2010-08-12 11:05:38+0100 [-] builder.checkSlaveAlive()
2010-08-12 11:05:38+0100 [-] File "/srv/launchpad.net/codelines/soyuz-producti
on-rev-9648/lib/lp/buildmaster/model/builder.py", line 286, in checkSlaveAlive
2010-08-12 11:05:38+0100 [-] if self.slave.echo("Test")[0] != "Test":
2010-08-12 11:05:38+0100 [-] File "/usr/lib/python2.5/xmlrpclib.py", line 1147
, in __call__
2010-08-12 11:05:38+0100 [-] return self.__send(self.__name, args)
2010-08-12 11:05:38+0100 [-] File "/usr/lib/python2.5/xmlrpclib.py", line 1437, in __request
2010-08-12 11:05:38+0100 [-] verbose=self.__verbose
2010-08-12 11:05:38+0100 [-] File "/usr/lib/python2.5/xmlrpclib.py", line 1185, in request
2010-08-12 11:05:38+0100 [-] errcode, errmsg, headers = h.getreply()
2010-08-12 11:05:38+0100 [-] File "/usr/lib/python2.5/httplib.py", line 1199, in getreply
2010-08-12 11:05:38+0100 [-] response = self._conn.getresponse()
2010-08-12 11:05:38+0100 [-] File "/usr/lib/python2.5/httplib.py", line 928, in getresponse
2010-08-12 11:05:38+0100 [-] response.begin()
2010-08-12 11:05:38+0100 [-] File "/usr/lib/python2.5/httplib.py", line 385, in begin
2010-08-12 11:05:38+0100 [-] version, status, reason = self._read_status()
2010-08-12 11:05:38+0100 [-] File "/usr/lib/python2.5/httplib.py", line 343, in _read_status
2010-08-12 11:05:38+0100 [-] line = self.fp.readline()
2010-08-12 11:05:38+0100 [-] File "/usr/lib/python2.5/socket.py", line 331, in readline
2010-08-12 11:05:38+0100 [-] data = recv(1)
2010-08-12 11:05:38+0100 [-] error: (4, 'Interrupted system call')
2010-08-12 11:05:39+0100 [-] yellow was made unavailable, resetting attached job
2010-08-12 11:05:40+0100 [-] Dispatching: <lawrencium:http://lawrencium.ppa:8221/>
}}}
In the new buildd manager, which now interleaves Popen with other builder comms, we are getting "Interrupted system call" errors when polling builders. This is most likely because the reset script for another builder just finished and we get a SIGCHLD, which terminates the socket receive op.
{{{ yellow. buildd: 8221/ -- (4 .net/codelines/ soyuz-producti 9648/lib/ lp/buildmaster/ model/builder. py", line 204, in updateBuilderStat checkSlaveAlive () .net/codelines/ soyuz-producti 9648/lib/ lp/buildmaster/ model/builder. py", line 286, in checkSlaveAlive echo("Test" )[0] != "Test": python2. 5/xmlrpclib. py", line 1147 send(self. __name, args) python2. 5/xmlrpclib. py", line 1437, in __request self.__ verbose python2. 5/xmlrpclib. py", line 1185, in request python2. 5/httplib. py", line 1199, in getreply getresponse( ) python2. 5/httplib. py", line 928, in getresponse python2. 5/httplib. py", line 385, in begin python2. 5/httplib. py", line 343, in _read_status python2. 5/socket. py", line 331, in readline lawrencium. ppa:8221/>
2010-08-12 11:05:38+0100 [-] Disabling builder: http://
, 'Interrupted system call')
2010-08-12 11:05:38+0100 [-] Traceback (most recent call last):
2010-08-12 11:05:38+0100 [-] File "/srv/launchpad
on-rev-
us
2010-08-12 11:05:38+0100 [-] builder.
2010-08-12 11:05:38+0100 [-] File "/srv/launchpad
on-rev-
2010-08-12 11:05:38+0100 [-] if self.slave.
2010-08-12 11:05:38+0100 [-] File "/usr/lib/
, in __call__
2010-08-12 11:05:38+0100 [-] return self.__
2010-08-12 11:05:38+0100 [-] File "/usr/lib/
2010-08-12 11:05:38+0100 [-] verbose=
2010-08-12 11:05:38+0100 [-] File "/usr/lib/
2010-08-12 11:05:38+0100 [-] errcode, errmsg, headers = h.getreply()
2010-08-12 11:05:38+0100 [-] File "/usr/lib/
2010-08-12 11:05:38+0100 [-] response = self._conn.
2010-08-12 11:05:38+0100 [-] File "/usr/lib/
2010-08-12 11:05:38+0100 [-] response.begin()
2010-08-12 11:05:38+0100 [-] File "/usr/lib/
2010-08-12 11:05:38+0100 [-] version, status, reason = self._read_status()
2010-08-12 11:05:38+0100 [-] File "/usr/lib/
2010-08-12 11:05:38+0100 [-] line = self.fp.readline()
2010-08-12 11:05:38+0100 [-] File "/usr/lib/
2010-08-12 11:05:38+0100 [-] data = recv(1)
2010-08-12 11:05:38+0100 [-] error: (4, 'Interrupted system call')
2010-08-12 11:05:39+0100 [-] yellow was made unavailable, resetting attached job
2010-08-12 11:05:40+0100 [-] Dispatching: <lawrencium:http://
}}}