[Vm-dev] Event-driven Cog still crashing (more observations)
Dimitry Golubovsky
golubovsky at gmail.com
Tue Jul 19 04:22:42 UTC 2011
Hi,
Looks like I found the reason why longjmp crashes subsequent GC:
StackEvtInterpreter >> initStackPagesAndInterpret
--------------------------------------------------------------
theStackMemory := self
cCode: 'alloca(stackPagesBytes)'
inSmalltalk:
[stackPages := self stackPagesClass new.
stackPages initializeWithByteSize: stackPagesBytes for: self].
--------------------------------------------------------------
Of course longjmp discards this allocation. Next time the interpreter
is entered, this stack space will be overwritten. Hence the bizarre
effects.
I haven't tried to work around this; just wandering whether using
malloc instead of alloca is in any way harmful...
--
Dimitry Golubovsky
Anywhere on the Web
More information about the Vm-dev
mailing list