We are having a problem that appears to be caused by a cheeky thread
preventing other threads from running, holding up all other requests
to the application. Without the ability to see the state of each
thread we're just playing guessing games trying to figure out the
After a bit of searching we came across Fazal Majid's useful
which exports thread stack frames as a dict.
If you've used Java much you know that sending SIGQUIT to a Java
process will dump all thread stack frames to stderr. We wanted to
mimic this behavior in Python and so patched the ThreadedAppServer
class to catch SIGQUIT, dump threads to stdout, and continue on its
Attached is the patch to Webware 0.9.1's ThreadedAppServer. Obviously
it requires the alpha/beta (but seemingly stable) threadframe package,
so caveat emptor, etc. etc.