[Python-Dev] RE: [Zope-Coders] core dump in Zope 2.7 test suite (original) (raw)

Martin v. Löwis martin at v.loewis.de
Tue Sep 16 16:00:27 EDT 2003


Jeremy Hylton <jeremy at zope.com> writes:

> Still, it doesn't look to me like the code expected that str could contain > uninitialized heap trash at this point, so I'd like someone who thinks they > understand this code to think about how that could happen (it apparently is > happening, so "beats me" isn't good enough ).

I certainly don't understand the code yet.

The code you quote is about the "singleton" Unicode character (i.e. those with code points < 256). If you create a Unicode object S with len(S)==1, and ord(S) < 256, you don't necessarily get a new object, but you may get an existing (cached) one. If you then apply PyUnicde_Resize to that object, you get an error because resizing that object would require changing all shared copies, which is bad because Unicode object are immutable.

I agree with Tim that, in no case, resize should be called for a garbage string - only valid strings (i.e. with truly allocated memory) should ever be resized.

Regards, Martin



More information about the Python-Dev mailing list