[Stackless] advice on debugging stackless
Andrew Francis
andrewfr_ice at yahoo.com
Sun Feb 17 15:41:57 CET 2008
Hi Simon:
> I've a heavily event based system going on, so I
> suspect these problems are caused by circular
events.
I have been developing a WS-BPEL processor part-time
for the past three years(!!!). My processor has
network , timer, and scheduling events.
For circular events, my tactics are
1) Deadlock avoidance - draw dependency graphs.
2) Keep track of the number of tasklets running and
blocked.
if you have a construct like
while (stackless.getruncount() > 1):
stackless.schedule()
often what happens if you have deadlock is that this
loop will unexpectedly exit.
(if your programme is complex, you can have localised
deadlock)
what I do is keep track of the channels and the
tasklets and have a dump function, using
channel.__reduce__ to take a look at the status.
3) Simplify design - i.e, for stuff like semaphores,
use a simple channel and a counter, instead of say,
multiple channels.
On a deadlock situation, read the following thread.
http://www.stackless.com/pipermail/stackless/2005-December/thread.html
Cheers,
Andrew
____________________________________________________________________________________
Never miss a thing. Make Yahoo your home page.
http://www.yahoo.com/r/hs
More information about the Stackless
mailing list