It turns out that WrapperGarbageCollector::collect() can sometimes get called recursively through Py_DECREF(), which was occasionally leading to double deallocations. The code has now been rearranged slightly to avoid these double deallocations.
It turns out that WrapperGarbageCollector::collect() can sometimes get called recursively through Py_DECREF(), which was occasionally leading to double deallocations. The code has now been rearranged slightly to avoid these double deallocations.

davidsminor/cortex,goddardl/cortex,danieldresser/cortex,danieldresser/cortex,davidsminor/cortex,danieldresser/cortex,hradec/cortex,hradec/cortex,lento/cortex,danieldresser/cortex,goddardl/cortex,lento/cortex,davidsminor/cortex,lento/cortex,hradec/cortex,appleseedhq/cortex,goddardl/cortex,appleseedhq/cortex,davidsminor/cortex,appleseedhq/cortex