Comment 2 for bug 411349

Revision history for this message
Andrew Bennetts (spiv) wrote :

Unfortunately SIGQUIT won't be readily useful on TCP "bzr serve" servers, because the interesting thread is not the main thread, and I don't think pdb provides any way to get a backtrace for a non-main thread. The server is definitely the interesting side of this; the client is simply waiting for the server to send it more data.

An strace of the server process may be more revealing. Or, if you have gdb installed on the server (and maybe the python debugging symbols too?) you can try using the gdbinit file linked from http://wiki.python.org/moin/DebuggingWithGdb and use the "pystack" macro on the appropriate thread. Actually, even a regular "thread apply all bt" in gdb might help.

Depending on what has gone wrong, there might be a backtrace lurking in ~/.bzr.log on the server too, although in this case I'm guessing there won't be. (If the server is behaving well enough to log errors, it should be behaving well enough to return an error to the client too.)