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
