[Zope-dev] disabling gc does not necessarily hide memory corruption

Chris McDonough chrism@zope.com
Mon, 17 Dec 2001 22:46:16 -0500


Anthony,

This behavior is with the patches to the compiler package that were the 
genesis of this thread?

Anthony Baxter wrote:
>>>>Leonardo Rochael Almeida wrote
>>>>
>>>From my mile-high look at the issues, it seems like the cycle-gc asks
>>for an object where to look for for it's references (at least thats what
>>the tp_traverse function looks like it does). So, if your tp_traverse
>>sends the gc somewhere it shouldn't go (or if tp_traverse itself is not
>>some C function pointer), you get a crash.
>>
> 
> When I look at it, I see the GC hitting an object with a null tp_type, and
> a refcount of 1. This is monster bogus - but normally (non-GC) it would
> just be ignored and sit there as a small memory leak. 
> 
> 
>>import gc
>>gc.disable()
>>also stops the SIG11 without the need of a python recompile, but I'll
>>only be sure when the server gets office-hours-traffic tomorrow morning.
>>
> 
> I find that if I do this I get a vast vast number of RestrictedPython
> cycles leaking (according to the manage_debug screen) and memory consumption
> goes through the roof.
> 
> _______________________________________________
> Zope-Dev maillist  -  Zope-Dev@zope.org
> http://lists.zope.org/mailman/listinfo/zope-dev
> **  No cross posts or HTML encoding!  **
> (Related lists - 
>  http://lists.zope.org/mailman/listinfo/zope-announce
>  http://lists.zope.org/mailman/listinfo/zope )
> 


-- 
Chris McDonough                    Zope Corporation
http://www.zope.org             http://www.zope.com
"Killing hundreds of birds with thousands of stones"