[Vm-dev] Event-driven Cog still crashing (more observations)

Dimitry Golubovsky golubovsky at gmail.com
Tue Jul 19 03:33:48 UTC 2011


Hi,

Thanks Igor, Mariano, and David for your suggestions.

I have recompiled the VM with debug on.

I got this in gdb (crashes right after (ProcessorScheduler classPool
at: #BackgroundProcess) terminate. is executed)

The output shown right before the first entry in the interpreter in
event-driven mode, that is, after the first longjmp and return.

heartbeat
heartbeat
heartbeat
enter interpreter

(stackPageFor((page->baseFP))) == page 17826

(stackPageFor((page->headSP))) == page 17829

(((page->nextPage)->prevPage)) == page 17822

!(((page->baseFP)) == 0) 17825

(((page->nextPage)->prevPage)) == page 17822

(stackPageFor((page->baseFP))) == page 17826

(stackPageFor((page->headSP))) == page 17829

Program received signal SIGSEGV, Segmentation fault.
0x08074e71 in pageListIsWellFormed ()
    at /home/dima/src/cogvm/dmg-blessed/src/vm/gcc3x-interp.c:17822
17822                   if (!(asserta((((page->nextPage)->prevPage))
== page))) {
(gdb) where
#0  0x08074e71 in pageListIsWellFormed ()
    at /home/dima/src/cogvm/dmg-blessed/src/vm/gcc3x-interp.c:17822
#1  0x0806800f in checkForEventsMayContextSwitch (mayContextSwitch=1)
    at /home/dima/src/cogvm/dmg-blessed/src/vm/gcc3x-interp.c:8807
#2  0x0806df9a in handleStackOverflowOrEventAllowContextSwitch
(mayContextSwitch=1)
    at /home/dima/src/cogvm/dmg-blessed/src/vm/gcc3x-interp.c:13052
#3  0x0806187e in L0internalActivateNewMethod ()
    at /home/dima/src/cogvm/dmg-blessed/src/vm/gcc3x-interp.c:4605
#4  0x0809740f in main (argc=2, argv=0xbffff014, envp=0xbffff020)
    at /home/dima/src/cogvm/dmg-blessed/platforms/unix/vm/sqUnixEvtMain.c:1761
(gdb)

And these page numbers in assert messages are not random, they repeat
every time the VM runs.

Thanks.

-- 
Dimitry Golubovsky

Anywhere on the Web


More information about the Vm-dev mailing list