[squeak-dev] Image crashes just after start-up

David Röthlisberger squeak at c3com.ch
Wed Apr 16 08:39:50 UTC 2008


> Set the SqueakMaxHeapSize in the info.plist to a bigger number 1GB 
> versus 512MB and see if that makes a different.

I did this, but no, the problem remains.

> I noted the VM crashs in
> org.squeak.Squeak                  0x000f4724 lookupMethodInClass + 84
> 
> but we'd need the stack back trace to understand where it was called from.

okay, I used gdb to get a stack trace when starting an image producing the crash:


Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0xfb6004c4
0x000f4724 in lookupMethodInClass ()
(gdb) call (int) printAllStacks()
warning: Unable to restore previously selected frame.
warning: Unable to restore previously selected frame.
Process
453606372 [] in >forgetAllGrabCommandsFrom:
453605940 BlockContext>on:do:
453605848 BlockContext>ifError:
453605664 >forgetAllGrabCommandsFrom:
453605388 >resetAllHistory
453604560 >startUp:
445250644 [] in SystemDictionary>send:toClassesNamedIn:with:
445250420 OrderedCollection>do:
445250328 SystemDictionary>send:toClassesNamedIn:with:
445250236 SystemDictionary>processStartUpList:
445232196 SmalltalkImage>snapshot:andQuit:embedded:
445232104 SmalltalkImage>snapshot:andQuit:
445232012 SmalltalkImage>saveSession
445231828 TheWorldMenu>doMenuItem:with:
445231736 [] in MenuItemMorph>invokeWithEvent:
445231644 BlockContext>ensure:
445231552 Cursor>showWhile:
445231416 MenuItemMorph>invokeWithEvent:
445231324 MenuItemMorph>mouseUp:
445231232 MenuItemMorph>handleMouseUp:
445231100 MouseButtonEvent>sentTo:
445231008 Morph>handleEvent:
445230916 MorphicEventDispatcher>dispatchDefault:with:
445230824 MorphicEventDispatcher>dispatchEvent:with:
445230732 Morph>processEvent:using:
445230640 MorphicEventDispatcher>dispatchDefault:with:
445230532 MorphicEventDispatcher>dispatchEvent:with:
445230400 Morph>processEvent:using:
445230308 Morph>processEvent:
445230216 MenuMorph>handleFocusEvent:
445229940 [] in HandMorph>sendFocusEvent:to:clear:
445230032 [] in PasteUpMorph>becomeActiveDuring:
445229848 BlockContext>on:do:
445229756 PasteUpMorph>becomeActiveDuring:
445229572 HandMorph>sendFocusEvent:to:clear:
445229480 HandMorph>sendEvent:focus:clear:
445229388 HandMorph>sendMouseEvent:
445229244 HandMorph>handleEvent:
445228988 HandMorph>processEvents
445229080 [] in WorldState>doOneCycleNowFor:
445228896 SequenceableCollection>do:
445228804 WorldState>handsDo:
445228712 WorldState>doOneCycleNowFor:
445228620 WorldState>doOneCycleFor:
445228528 PasteUpMorph>doOneCycle
441031360 [] in >spawnNewProcess
441031452 [] in BlockContext>newProcess



Process
453585108 >finalizationProcess
453584832 [] in >restartFinalizationProcess
453584924 [] in BlockContext>newProcess



Process
307823020 >?
307823360 [] in >?
307823452 [] in BlockContext>?


Process
453500076 InputSensor>userInterruptWatcher
453499892 [] in InputSensor>installInterruptWatcher
453499984 [] in BlockContext>newProcess

Process
453714748 Delay>wait
453714840 [] in EventSensor>eventTickler
453714656 BlockContext>on:do:
453500572 EventSensor>eventTickler
453500296 [] in EventSensor>installEventTickler
453500480 [] in BlockContext>newProcess

Process
453501020 SystemDictionary>lowSpaceWatcher
453501112 [] in SystemDictionary>installLowSpaceWatcher
453501204 [] in BlockContext>newProcess


warning: Unable to restore previously selected frame.
$1 = 2



Does this shed some light on it?
To me this means that one or more objects are corruptly saved in memory and on 
start-up the last executed method (#forgetAllGrabCommandsFrom:) tries to access all 
objects in the image, which leads to the crash. The question is now what caused those 
objects to get saved in a corrupt manner?

David


> On Apr 15, 2008, at 2:20 AM, David Röthlisberger wrote:
> 
>> Thanks to the help of John I found out that the image crashes when the 
>> method CommandHistory class >> forgetAllGrabCommandsFrom: gets excuted.
>> I have the impression that the method ProtoObject >> nextObject is 
>> failing.
>> Does anybody know how this can happen and what can be done in that case?
>>
>> I know a scenario that I need to execute in my image so that the crash 
>> happens on start-up. When I save the image after I have executed this 
>> scenario, the image crashes on start-up for sure. Do you know what 
>> kind of code could cause this primitive in ProtoObject >> nextObject 
>> to fail?
>>
>> This scenario builds up a Mondrian graph, so Morphic is heavily used. 
>> The size of the graph doesn't matter though.
> 



More information about the Squeak-dev mailing list