[Python-Dev] Invalid memory read in PyObject_Free (original) (raw)

Michael Hudson mwh@python.net
Fri, 04 Jul 2003 16:30:27 +0100


amaury.forgeotdarc@ubitrade.com writes:

Hello,

I have a problem with Python 2.3b2 and its new object allocator; it appears when running Python under Purify, and can lead to unpredictable behaviour in the general case.

This is not new; people have observed the same behaviour under valgrind.

All errors are in PyObjectFree and PyObjectRealloc (in obmalloc.c), while calling the macro ADDRESSINRANGE(p, pool->arenaindex)

This seems to occur every time the pointer was allocated outside the memory pool, which happens for non-small requests (>256 bytes).

In obmalloc.c there is some code that does not strictly conform to ANSI C. However, I do not believe there have been reports of machines in the wild where this is a problem, and on such platforms there is an easy solution: turn off pymalloc.

Cheers, M.

-- at any rate, I'm satisfied that not only do they know which end of the pointy thing to hold, but where to poke it for maximum effect. -- Eric The Read, asr, on google.com