On Fri, 2003-08-01 at 15:57, Hancock, David (DHANCOCK) wrote:
> Several times a week on our production systems, we're seeing our
> WebKit processes (normally entitled "python Launch.py
> ThreadedAppServer") lose their command lines in the output from ps.
> They're also well wedged, and the processes need to be killed by hand
> to clear this situation. Has anybody else seen this and have some
> ideas to help us troubleshoot? For now, we're detecting the situation
> with automated monitoring (and process-killing and webkit-restarting),
> but we'd sure like to know how we can prevent it, not just work around
It looks like you haven't had a response to this. That's too bad, but
it's probably because it's a hard problem.
I don't know of any way to deal with this, really. Stuck threads are
stuck. After a brief look, I do see a patch to kill threads in Python:
It would be nice to have that ability, even if it wasn't portable. I
suspect that this may not solve this problem, however, as throwing a
SystemExit exception in the wedged thread may not do any good -- it may
only kill functional threads... probably the wedged threads are actually
stuck outside of the interpreter, in a C module. But I don't really
know, and it's hard to figure out since in any case something erroneous
is going on, and funny errors are hard to reproduce and test. Not that
I've tested any of it at all...
I wonder if it would be good enough if Webware detected wedged threads,
and increased the number of threads to make up for it. Eventually it
would be nice to kill them (kill -9 probably required), but it would
only be to retrieve the resources, not to keep the AppServer alive.
> Python 2.2
> Webware 0.8
> RedHat Linux 7.3
> A couple C extensions: DCOracle2 and pymqi (interface to
> IBM's MQSeries)
I would expect that these C extensions would be the source of the
problem. They always seem to be. Sometimes I wonder if multiple
processes really are the way to go. They are much easier to manage...
well, maybe not easier, but rather possible.