[Vm-dev] Cog code compaction crash when stepping in the debugger

Eliot Miranda eliot.miranda at gmail.com
Wed Sep 25 20:30:33 UTC 2013


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/sqMacMain.cand
http://www.squeakvm.org/svn/squeak/branches/Cog/platforms/unix/vm/sqUnixMain.cto
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20130925/b2e75640/attachment-0001.htm


More information about the Vm-dev mailing list