[Python-Dev] Invalid memory read in PyObject_Free

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 PyObject_Free and Py_Object_Realloc (in obmalloc.c),
> while calling the macro
>         ADDRESS_IN_RANGE(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