[Stackless] Stackless bugfix
Kristján Valur Jónsson
kristjan at ccpgames.com
Thu Nov 19 14:43:00 CET 2009
I found a serious stackless bug recently. We have been observing a strange stack overrun on application exit for a long time, and I was finally able to reproduce it and track it down.
I committed a fix to the stackless trunk in revision 76339 and subsequently ported it to all maintainance branches.
This bug is only relevant if there are multiple "external" entry points into stackless. Such as a C application that makes calls like PyObject_CallMethod() to procedures that cause stackless to initialize a main tasklet and then hard switches to other tasklets. For such multiple external entry points, stackless needs to keep tab of each saved stack to know to which entry point it belongs, so that it can do a final task switch if needed when returning from the external call. This mechanism was broken but should now be whole.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Stackless