[Python-Dev] Fun with numbers (original) (raw)
Tim Peters tim.one@comcast.net
Sun, 28 Apr 2002 00:07:10 -0400
- Previous message: [Python-Dev] Fun with numbers
- Next message: [Python-Dev] Making None a keyword
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
[Barry]
>>> 23000 .class = bool Debug memory block at address p=0x814f544: 485823496 bytes originally requested the 4 pad bytes at p-4 are not all FORBIDDENBYTE (0xfb): at p-4: 0x7a *** OUCH at p-3: 0x61 *** OUCH at p-2: 0xc8 *** OUCH at p-1: 0x3c *** OUCH the 4 pad bytes at tail=0x250a094c are Segmentation fault
Darn. Of the 3 memory corruption problems the debug pymalloc has caught so far, 2 were detected as underwrites (scribbling before the requested space, as opposed to overwrites scribbling after it). More, they're terrible underwrites, so bad that they corrupt not only the 4 pad bytes before the start, but also the 4 "number of bytes originally requested" bytes before those. That leads to an insane "bytes originally requested" message, and also to a segfault as the checking routine adds that field to the start address and tries to look at the trailing pad bytes.
All of this surprises me. I expected most corruption to be via overwrites, and I asked everyone before to limit their corruption to no more than 4 bytes .
- Previous message: [Python-Dev] Fun with numbers
- Next message: [Python-Dev] Making None a keyword
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]