Hi,
We are hitting this assert in scheduling.c with a win32 debug build:
assert(ts->recursion_depth == 0 || ts->st.main == NULL && ts->st.current ==
NULL && prev == next);
We have tried both the release26-maint branch (assert is on line 1034) and the
trunk (line 1037). This code will trigger the assert:
def InfiniteLoop(i):
while 1:
print "schedule", i
stackless.tasklet(InfiniteLoop)(1)
stackless.tasklet(InfiniteLoop)(2)
# The current main thread of execution counts as one running tasklet, so
# we know that if it is the only one remaining, we can exit.
while stackless.getruncount() != 1:
t = stackless.run(1000)
# If we got a tasklet back, it was the one that was interrupted.
# we need to reinsert it for rescheduling.
if t:
t.insert()
The assert fires because ts->st.current is not NULL. This issue was also
reported back in January
(http://www.stackless.com/pipermail/stackless/2009-January/003838.html). It was
mentioned in one of the replies that there was a fix but I haven't been able to
find it. Is there a fix available? Or is it safe to comment out that part of
the assert?
Thanks,
Tom
_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless