[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?

K

> -----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
> 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