[squeak-dev] Cog code compaction crash when stepping in the debugger
eliot.miranda at gmail.com
Wed Sep 25 20:30:33 UTC 2013
I'm seeing an occasional crash in Cog when stepping the simulator when
working on Spur. The crash comes about when the system executes
primitiveStoreStackp (primitive 76) as part of ContextPart>>push:, and a
code compaction occurs within the primitive. The crash.dmp file looks like
the following (eliding for brevity):
Bus error Sat Sep 21 06:03:12 2013
C stack backtrace:
0 Squeak 0x000700a1 reportStackState + 145
1 Squeak 0x00070a32 sigsegv + 306
2 libSystem.B.dylib 0x99fa105b _sigtramp + 43
3 ??? 0xffffffff 0x0 + 4294967295
4 Squeak 0x00101d9a interpret + 2970
Smalltalk stack dump:
0xbffe2ae8 M MethodContext(ContextPart)>push: 0x1d95abac: a(n) MethodContext
0xbffe2b0c M MethodContext(ContextPart)>return:from: 0x1d95ab50: a(n)
0xbffe2b34 I MethodContext(ContextPart)>methodReturnReceiver 0x1d95ab50:
0xbffe2b5c M MethodContext(InstructionStream)>interpretNextInstructionFor:
0x1d95ab50: a(n) MethodContext
0xbffe2b78 M MethodContext(ContextPart)>step 0x1d95ab50: a(n) MethodContext
Most recent primitives
But this isn't telling me enough.
Firstly I've just committed changes to
also print the register state when the VM segfaults or gets sent
etc. I can't test on FreeBSD. If anyone builds with these changes on Free
BSD can they please let me know if they work or not?
Secondly perhaps someone has a reproducible case coming from running e.g.
ContextPart>>runAtEachStep: type code? If so, please can I have a copy?
Lastly, if anyone has a crash that matches the above, but with the new
crash dump info, I'd love to see the crash.dmp file.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Squeak-dev