[Stackless] a stackless crash
Kristján Valur Jónsson
kristjan at ccpgames.com
Sun Nov 4 11:47:43 CET 2007
Yes, but I was also able to fix this by checking for null pointers, and performing an Py_INCREF(). Maybe that is all that needs fixing?
> -----Original Message-----
> From: Christian Tismer [mailto:tismer at stackless.com]
> Sent: 3. nóvember 2007 23:58
> To: Richard Tew
> Cc: Kristján Valur Jónsson; Stackless mailing list
> Subject: Re: [Stackless] a stackless crash
> 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
> >> 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