On May 8, 2008, at 8:30 AM, Michael Abshoff wrote:

> Robert Bradshaw wrote:
>> On May 7, 2008, at 10:46 PM, Stefan Behnel wrote:
>>
>
> Hi,
>
>>> Yes, that's where we took the suppression file from that we use for
>>> lxml.
>>>
>>> http://codespeak.net/svn/lxml/trunk/valgrind-python.supp
>>>
>>
>>
> I am actually pretty paranoid about using suppression files and I do
> prefer recompiling python "--without-pymalloc". But that is likely  
> to be
> something most people will not do since they do not build their own
> python interpreter from sources.
>
>> I bet turning off string interning, etc. would help clean up lots of
>> the noise too.
>>
> Hmm, I have seen a lot of noise with Cython 0.9.6.14 even when I set
>
> generate_cleanup_code = 3
>
> In Sage about 100 doctests segfault at exit [out of 900] with that
> setting on, nearly all of them involved matrix[2].pyx somehow IIRC.
> Something for dev1 maybe? It is my understanding that this isn't the
> default of Cython, but more which classes import other classes and in
> which order.

Cleanup is inherently dangerous... Suppose one has two modules a and  
b, with classes A and B respectively, both of which have non-empty  
__del__ or __dealloc__ methods. Then if a holds an instance of B and  
b holds an instance of A (think parent-element) then it is impossible  
to cleanup a or b after the other module has been deallocated.

> Anyhow: How do I turn off "string interning"?

It's in Compiler/Options.py. This may some segfaults go away too, but  
slows things down.

- Robert

_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to