right list for SIGABRT python binary question ?

dieter dieter at handshake.de
Sat Oct 21 03:31:54 EDT 2017


Karsten Hilbert <Karsten.Hilbert at gmx.net> writes:
> ...
> So here's the final console output of that:
> ...
> 	Debug memory block at address p=0x717b7c: API ''
> 	    0 bytes originally requested
> 	    The 3 pad bytes at p-3 are not all FORBIDDENBYTE (0xfb):
> 	        at p-3: 0x03 *** OUCH
> 	        at p-2: 0x4e *** OUCH
> 	        at p-1: 0x00 *** OUCH
> 	    Because memory is corrupted at the start, the count of bytes requested
> 	       may be bogus, and checking the trailing pad bytes may segfault.
> 	    The 4 pad bytes at tail=0x717b7c are not all FORBIDDENBYTE (0xfb):
> 	        at tail+0: 0x00 *** OUCH
> 	        at tail+1: 0x00 *** OUCH
> 	        at tail+2: 0x00 *** OUCH
> 	        at tail+3: 0x00 *** OUCH
> 	    The block was made by call #0 to debug malloc/realloc.
> 	Fatal Python error: bad ID: Allocated using API '', verified using API 'o'
> ...
> Can anyone give more guidance on what the above python debug
> output might vaguely point to ?

It points to a memory corruption.

I would approach the problem by means of debugging: put a write
breakpoint at the corrupted address "0x717b7c" and check what part
of the system accesses it (this assumes you are using a CPU
supporting write breakpoints).
It may be very tedious as the address might be accessed very often
legally before it gets corrupted.

Another approach may be to use a tool designed for memory debugging,
e.g. "valgrind".




More information about the Python-list mailing list