[Buildbot-devel] buildbot slave hangs on SunOS?
Ed Hartnett
ed at unidata.ucar.edu
Tue Feb 3 14:52:47 UTC 2004
Brian Warner <warner-buildbot at lothar.com> writes:
> > File "/opt/lib/python2.2/site-packages/twisted/internet/default.py", line 162, in spawnProcess
> > return process.PTYProcess(self, executable, args, env, path, processProtocol, uid, gid, usePTY)
> > File "/opt/lib/python2.2/site-packages/twisted/internet/process.py", line 509, in __init__
> > stderr.flush()
> > exceptions.IOError: [Errno 9] Bad file number
> >
> > 2004/01/27 09:22 MST [-] Malformed file descriptor found. Preening lists.
> > 2004/01/27 09:22 MST [-] bad descriptor <twisted.internet.tcp.Client to ('rodney', 8007) at 82a2f74>
> > 2004/01/27 09:22 MST [-] bad descriptor <twisted.internet.tcp.Client to ('rodney', 8007) at 82a2f74>
>
> Eww. That's weird.
>
> It looks like stderr.flush() is only called when the child process (after
> fork) experienced some other error, like execvpe failing because it couldn't
> find the command or something. There should have been a message written to
> stdout or stderr with the exception.. it wouldn't be written to the log, but
> rather to the stdout of the twistd process, which probably goes away when
> twistd daemonizes. The error in .flush() might be related to twistd closing
> fd 1, but then I don't know why the original os.fdopen didn't fail, and why
> you're able to see the log message at all.
>
> Try running that buildslave in the foreground (twistd -n) and watch the
> stdout/stderr to see if it emits more information.
>
> If that doesn't help, maybe it's something more esoteric. Does the Twisted
> test suite pass on that system? (from the top of the Twisted source tree, do
> './bin/trial -v twisted.test'. It takes maybe 5 minutes).
>
> If so, try editing slavecommand.py and set the 'usePTY = 1' at line 170ish to
> =0. That will use regular pipes instead of a PTY for the child process. PTYs
> are one of those funky system-dependent things, and maybe Solaris does it
> just differently enough that it exposes a bug.
>
> Also, if possible, try running the slave under python2.3 instead of 2.2,
> maybe there's a difference in the behavior of the built-in python libraries
> that are responsible for creating PTYs.
>
> weird,
> -Brian
OK, I upgraded to Python 2.3.3 and reinstalled twisted and
buildbot. That seemed to take care of the above problem..
Thanks,
Ed
More information about the devel
mailing list