id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,launchpad_bug 532,occasional failure in iputil (timeout in test_runner): use 'netifaces' package?,warner,somebody,"I'm seeing very occasional failures in the {{{allmydata.test.test_runner.RunNode.test_introducer}}} test. To reproduce it, in one shell I run: {{{ run_to_death.pl 'make quicktest TEST=allmydata.test.test_runner.RunNode.test_introducer' }}} (where run_to_death.pl is a little perl script I've got to just keep running the same command over and over again until the exit status is nonzero) while in another shell I slow things down by doing {{{python -c ""while 1: pass""}}}. This usually fails after about 10 minutes. The actual failure is a timeout. It appears that the iputil.py routine that uses {{{reactor.spawnProcess}}} to run {{{/sbin/ifconfig}}} (to figure out which interfaces are available and therefore what local IP addresses we should advertise) just plain fails: the Deferred never fires. My hunch is that somehow the SIGCHLD handle is broken, so the child process has finished but the parent doesn't notice. This doesn't happen frequently enough to really worry about, but some day it'd be nice to fix it. One possibility is to switch to the 'python-netifaces' tool, which unfortunately has compiled C code, but which claims to be fairly cross-platform and probably doesn't require a separate command to be spawned. ",defect,closed,minor,1.5.0,code,1.2.0,worksforme,,,