[Stackless] a stackless crash

Christian Tismer tismer at stackless.com
Sun Nov 4 00:57:59 CET 2007


Richard Tew wrote:
> On 11/2/07, Kristján Valur Jónsson <kristjan at ccpgames.com> wrote:
>> Attached are the files for easy repro.
>> Build _crash.cpp into a _crash_d.pyd, place  it next to crash.py and do:
>> python_d crash.py
>>
>> You may want to set a breakpoint in channelobject.c, line 29, to catch the point where the tasklet is unlinked from the channel and left to die.
> 
> My vote would go for channel_clear explicitly killing the tasklets
> blocked on the given channel.  What I take from this bug is that it is
> not enough to hope that they die, we need to engage in some tasklet
> euthanasia for the common good.

But how to do that?
You cannot avoid to revive them, and you cannot stop from
catching an exception. They can even re-insert themselves into
the channel, immediately.
Maybe it is necessary to make all stackless-related functions
fail for dying tasklets during destruction?
I think there is this zombie flag. We might use that to
deny service.

thinking more -- chris
-- 
Christian Tismer             :^)   <mailto:tismer at stackless.com>
tismerysoft GmbH             :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9A     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 802 86 56  mobile +49 173 24 18 776  fax +49 30 80 90 57 05
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
       whom do you want to sponsor today?   http://www.stackless.com/




More information about the Stackless mailing list