Cog code compaction crash when stepping in the debugger
Hi All, 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) MethodContext 0xbffe2b34 I MethodContext(ContextPart)>methodReturnReceiver 0x1d95ab50: a(n) MethodContext 0xbffe2b5c M MethodContext(InstructionStream)>interpretNextInstructionFor: 0x1d95ab50: a(n) MethodContext 0xbffe2b78 M MethodContext(ContextPart)>step 0x1d95ab50: a(n) MethodContext ... Most recent primitives ... primitiveWait at:put: signal @ basicNew shallowCopy findSubstring:in:startingAt:matchTable: indexOfAscii:inString:startingAt: perform: objectAt: at: findNextUnwindContextUpTo: at:put: at:put: stackp: **CompactCode** But this isn't telling me enough. Firstly I've just committed changes to http://www.squeakvm.org/svn/squeak/branches/Cog/platforms/Mac%20OS/vm/sqMacM... http://www.squeakvm.org/svn/squeak/branches/Cog/platforms/unix/vm/sqUnixMain... also print the register state when the VM segfaults or gets sent SGUSR1 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. Thanks, Eliot
participants (1)
-
Eliot Miranda