[pypy-issue] [issue978] metainterp bug

Carl Friedrich Bolz tracker at bugs.pypy.org
Fri Feb 3 22:52:56 CET 2012

Carl Friedrich Bolz <cfbolz at gmx.de> added the comment:

ok, I haven't really understood the problem yet, but it looks unrelated to both
resume data and virtualizables. instead, it seems to be some sort of memory
corruption to me. 

What the ResumeDataDirectReader does before the assertion fails is call
cpu.get_latest_value_ref(0). The result of that is supposed to be a pointer to
the current virtualizable. However, in the crashing case it seems to return a
value that is not a pointer at all, or in any case it points to some memory that
is itself corrupted. I think that it's the former, though. Treating this random
bit of memory as a virtualizable violates some assertions.

I am a bit clueless what to do next, though. I guess a memory watchpoint would
help in this case, because the target of the write (the list of ref-values in
the cpu class) is at a fixed position.

nosy: +cfbolz
status: unread -> chatting

PyPy bug tracker <tracker at bugs.pypy.org>

More information about the pypy-issue mailing list