I don't know.  I've uncovered some nastyness in the process.
Soft switching is fragile with regards to channel refcounting and the fix I 
have in mind is very simple.  But having it in action actually showed some 
other strange behavior that I"m looking at.
K

> -----Original Message-----
> From: Richard Tew [mailto:[email protected]]
> Sent: 13. ágúst 2009 20:32
> To: Kristján Valur Jónsson
> Cc: Stefan Reich; [email protected]
> Subject: Re: [Stackless] Stackless 2.6.2/Win crash with very short
> script
> 
> 2009/8/14 Kristján Valur Jónsson <[email protected]>:
> > I've more or less given up on this.
> > The problem  The problem is that the engine is in a fragile state
> until a soft-switch has completed.  This is especially true for a hard-
> switch wrapped in a soft switch, i.e. one where a "jump_soft_to_hard
> has been put on the frame.  Until that jump is actually performed, one
> cannot switch away from that tasklet.
> >
> > In effect it means that if a stackless (or semi stackless with
> jump_soft_to_hard) jump has been set up but not done, we cannot call
> switch tasks.  And task switching occurs if a reference goes away,
> which is possible through multiple means in the meantime.
> >
> > Maybe the best way is to put channels, wich are in such a state as to
> require waking up a tasklet to die, in a special garbage bin, that is
> emptied in a safe place on a regular basis.  I'll try that next.
> 
> My worry about the potential fixes you have described for this bug,
> are that they are top heavy for what they are addressing.  Let's be
> honest here, what we have is a case that crashes that no-one would
> ever do in production.  Making larger fixes than the problem itself,
> well, I wonder if we are incurring additional codebase complexity for
> little benefit.
> 
> I say let this one sit.
> 
> Cheers,
> Richard.


_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless

Reply via email to