[Python-Dev] Painful death in debug build

Tim Peters tim.one@home.com
Fri, 5 Oct 2001 18:33:47 -0400


test_descr.py crashes under the debug build now.  I've got too many things
piled on my stack to look into it right now, so it would be good if someone
could try to feel debug pain on Linux too.

The top of the call stack is

_free_dbg_lk(void * 0x009e5fd0, int 1) line 1066 + 60 bytes
_free_dbg(void * 0x009e5fd0, int 1) line 1001 + 13 bytes
free(void * 0x009e5fd0) line 956 + 11 bytes
_PyObject_GC_Del(_object * 0x009e5fdc) line 873 + 10 bytes
long_dealloc(_object * 0x009e5fdc) line 1230 + 16 bytes
subtype_dealloc(_object * 0x009e5fdc) line 301 + 7 bytes
_Py_Dealloc(_object * 0x009e5fdc) line 1738 + 7 bytes
eval_frame(_frame * 0x00803d7c) line 845 + 59 bytes
PyEval_EvalCodeEx(...)

at this point, so first guess is that it has to do with adding new-style
instances to GC.  The MS debug library free() is complaining because it
detects damage (corruption) in the pad bytes debug malloc() writes *between*
the blocks it hands out.  So it's unlikely that it points to the direct
cause; it's just detecting that user code, somewhere, sometime, wrote over
memory it had no business writing to.