[pypy-dev] Fatal RPython error: MemoryError
Armin Rigo
arigo at tunes.org
Wed Aug 8 10:09:44 CEST 2012
Hi Eli, hi Roger,
Both of your solutions might work.
Roger, you overlook a problem in this pseudo-code:
> print 'MemoryError'
> print stack_trace() # of app
We can't suddenly print the stack trace of the application from inside
the GC. In order to have a regular stack trace printed, an exception
must be raised, which is caught and re-raised by the various levels,
collecting stack information in (new) PyTraceback objects; then, in
PyPy, we need to import (at app-level) the "traceback" module and call
a function from there. This takes a lot of extra memory.
Well, overall we need first someone to care about sanitizing the GC
first. When the GC raises an RPython MemoryError in the middle of a
minor collection, it probably leaves things in a broken state. It
didn't show up so far because you can't do anything anyway but get the
crash.
A bientôt,
Armin.
More information about the pypy-dev
mailing list