[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

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

if you have a construct like

while (stackless.getruncount() > 1):

often what happens if you have deadlock is that this
loop will unexpectedly exit.

(if your programme is complex, you can have localised

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.



Never miss a thing.  Make Yahoo your home page. 

More information about the Stackless mailing list