I've simplified this issue down and am able to reproduce it without Twisted: http://gist.github.com/603154
Still not sure what the cause is, so if anyone has any ideas I'd love to hear them. Thanks! On Mon, Sep 27, 2010 at 8:15 PM, Garret Heaton <powdaho...@gmail.com> wrote: > To me this seems like a very strange problem and I've tried to debug it > best I can but I don't know much about many of the components at work. > Here's what happened: > > I've been happily using Capistrano to deploy many twistd services to Ubuntu > 9.04 machines. It restarts them via an init.d script based off this > template: > http://twistedmatrix.com/trac/attachment/ticket/3434/twistdplugin. I'm > running a self-installed Twisted 8.2.0 on both systems with some small > tweaks to logging. > > On newer Ubuntu 10.04 machines I've been deploying to the twistd services > don't restart properly. There are no errors in the log. The only log lines > I'd get were: > [-] Log opened. > [-] twistd 8.2.0 (/usr/bin/python 2.6.5) starting up. > [-] reactor class: twisted.internet.epollreactor.EPollReactor. > > But they were only failing to restart when run via Capistrano. I realized > that the only difference was that Capistrano was using a pseudo terminal > when it issued its commands. To recreate the problem without Capistrano I > can run: > > ssh -t u...@host "/etc/init.d/service start" > > But it works fine when I run: > > ssh u...@host "/etc/init.d/service start" > > The 3 log lines I see in the failed case are written by twistd before it > forks (clone() syscall) to create the daemon process. The strace dump of > twistd when run with and without pseudo terminal were identical. I tried > running strace with the -f option to get some info about the child process > but it didn't fail in that case since I guess it doesn't actually fork. > Running in a pseudo terminal with --nodaemon passed to twistd also works > fine. > > I've tested this with multiple twistd services and am having the same issue > with all of them. > > Any ideas? Did I completely misdiagnose the problem? Has there been some > change in this area between Twisted 8.2.0 and 10.x? I'm certainly confused. > :) > > - Garret > >
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python