[Python-Dev] Can someone try to duplicate corruption on Gentoo?
tim.peters at gmail.com
Fri Aug 30 01:43:13 CEST 2013
a user reported a debug PyMalloc "bad leading pad byte" memory
corruption death while running their code. After some thrashing, they
decided to rebuild Python, and got the same kind of error while
rebuilding Python. See
in that bug report:
# emerge dev-lang/python:2.7
* IMPORTANT: 11 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.
Calculating dependencies... done!
Debug memory block at address p=0xa7f5900: API 'o'
80 bytes originally requested
The 7 pad bytes at p-7 are not all FORBIDDENBYTE (0xfb):
at p-7: 0xfb
at p-6: 0xfb
at p-5: 0xfa *** OUCH
at p-4: 0xfb
at p-3: 0xfb
at p-2: 0xfb
at p-1: 0xfb
Because memory is corrupted at the start, the count of bytes requested
may be bogus, and checking the trailing pad bytes may segfault.
The 8 pad bytes at tail=0xa7f5950 are FORBIDDENBYTE, as expected.
The block was made by call #21242094 to debug malloc/realloc.
Data at p: 73 00 00 00 79 00 00 00 ... 67 00 00 00 00 00 00 00
Fatal Python error: bad leading pad byte
Aborted (core dumped)
I don't have access to Gentoo, and don't know squat about its
`emerge`, but if someone else can do this it might help ;-) The
Python used to run `emerge` here was a --with-pydebug Python the bug
reporter built earlier.
More information about the Python-Dev