Stefan Behnel | 5 Feb 20:08 2011

[Cython] We missed a crash bug in 0.14.1


sadly, we missed the opportunity to fix a crash bug in 0.14.1. It's been 
there for ages, so it's not a regression, but the recent runs of the Py2.6 
regression tests should have been red enough to tell us that it was there...

Basically, when you put "*args" or "**kwargs" into a closure, and anything 
bad happens during argument unpacking (such as an illegal argument type), 
the closure fields will get DECREF-ed but not set back to 0, so that the 
deallocation code crashes afterwards.

I don't think it's that uncommon to have args and kwargs in a closure, just 
think of a generic wrapper function. I opened a milestone 0.14.2 because I 
think this is worth fixing soon, maybe within a week or two, in case we 
want to wait for other problems to turn up.