: [Python-Dev] RE: Painful death in debug build (original) (raw)
Tim Peters tim.one@home.com
Sat, 6 Oct 2001 01:32:44 -0400
- Previous message: FW: [PythonLabs] Re: [Python-Dev] RE: Painful death in debug build
- Next message: : [Python-Dev] RE: Painful death in debug build
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
This is enough to reproduce the problem under a debug Windows build:
class X(long): pass
x = X(0xffffL) print "before del" del x print "after del"
It does not fail if the instance is created via
x = X(0x7fffL)
instead. It does fail on
x = X(0x8000L)
The relevant difference is that Python uses 15-bit "digits" internally for longs, so 0x8000 may be the smallest value that will cause it to allocate more memory than already comes for free with the _longobject header:
struct _longobject { PyObject_HEAD int ob_size; digit ob_digit[1]; };
but-too-tired-to-do-more-now-ly y'rs - tim
- Previous message: FW: [PythonLabs] Re: [Python-Dev] RE: Painful death in debug build
- Next message: : [Python-Dev] RE: Painful death in debug build
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]