[Vm-dev] Re: Cog Crash in allocateOpcodesbytecodes

Eliot Miranda eliot.miranda at gmail.com
Thu Apr 26 23:46:36 UTC 2012


On Thu, Apr 26, 2012 at 2:48 PM, Mariano Martinez Peck <
marianopeck at gmail.com> wrote:

>
> BTW...I did an image as you like Eliot, it crashes from startup :)
> https://gforge.inria.fr/frs/download.php/30652/PharoKernel-1.4-crash.zip
>
> Cheers
>
> On Thu, Apr 26, 2012 at 10:42 PM, Mariano Martinez Peck <
> marianopeck at gmail.com> wrote:
>
>> Hi Eliot. We are doing a crazy experiment where we serialize almost all
>> PharoCore and we materialize it in a PharoKernel image. During the
>> initialization (after the load), there is one line that crashes Cog:
>>
>> PolymorphSystemSettings showDesktopLogo: true.
>>
>> For what I can see, I may be related to the fact that #pharoLogoContents
>> is too long or something like that?
>>
>
That's exactly it.  Could you send me the source and the symbolic for
the pharoLogoContents method?  i.e. symbolic is e.g. (Object >> # printOn:)
symbolic.  I want to see why the method has so many bytecodes. Then I can
think about how to implement a sensible limit on the number of bytecodes.

the same experiment with StackVM works fine.
>> Of course in a normal image (without this experiment) I can do
>> PolymorphSystemSettings showDesktopLogo: true. without problems.
>>
>>
>> From gdb i see:
>>
>> (gdb) bt
>> #0  0x0000a190 in compileCogMethod (selector=528828260) at
>> /Users/mariano/Pharo/VM/git/cogVMBlessedSSH/blessed/build/../src/vm/cogit.c:
>> 3601
>> #1  0x00009088 in cogselector (aMethodObj=531503072,
>> aSelectorOop=528828260) at
>> /Users/mariano/Pharo/VM/git/cogVMBlessedSSH/blessed/build/../src/vm/cogit.c:
>> 3129
>> #2  0x0003268b in ceSendsupertonumArgs (selector=528828260,
>> superNormalBar=0, rcvr=536158520, numArgs=0) at
>> /Users/mariano/Pharo/VM/git/cogVMBlessedSSH/blessed/build/../src/vm/gcc3x-cointerpmt.c:11007
>> #3  0x1f40006c in ?? ()
>> #4  0x00067350 in threadSchedulingLoop (vmThread=0x1030c00) at
>> /Users/mariano/Pharo/VM/git/cogVMBlessedSSH/blessed/build/../src/vm/gcc3x-cointerpmt.c:44006
>> #5  0x0003d2cb in initialEnterSmalltalkExecutive () at
>> /Users/mariano/Pharo/VM/git/cogVMBlessedSSH/blessed/build/../src/vm/gcc3x-cointerpmt.c:17788
>> #6  0x0003df8f in initStackPagesAndInterpret () at
>> /Users/mariano/Pharo/VM/git/cogVMBlessedSSH/blessed/build/../src/vm/gcc3x-cointerpmt.c:18208
>> #7  0x00022618 in interpret () at
>> /Users/mariano/Pharo/VM/git/cogVMBlessedSSH/blessed/build/../src/vm/gcc3x-cointerpmt.c:2066
>> #8  0x0006dc60 in -[sqSqueakMainApplication runSqueak] (self=0x1d0ca60,
>> _cmd=0x124ebf) at
>> /Users/mariano/Pharo/VM/git/cogVMBlessedSSH/blessed/build/../platforms/iOS/vm/Common/Classes/sqSqueakMainApplication.m:174
>> #9  0x93ad586c in __NSFirePerformWithOrder ()
>> #10 0x908b8dd2 in __CFRunLoopDoObservers ()
>> #11 0x90874ced in __CFRunLoopRun ()
>> #12 0x908743c4 in CFRunLoopRunSpecific ()
>> #13 0x908741f1 in CFRunLoopRunInMode ()
>> #14 0x97760e04 in RunCurrentEventLoopInMode ()
>> #15 0x97760af5 in ReceiveNextEventCommon ()
>> #16 0x97760a3e in BlockUntilNextEventMatchingListInMode ()
>> #17 0x96d1a595 in _DPSNextEvent ()
>> #18 0x96d19dd6 in -[NSApplication
>> nextEventMatchingMask:untilDate:inMode:dequeue:] ()
>> #19 0x96cdc1f3 in -[NSApplication run] ()
>> #20 0x96cd4289 in NSApplicationMain ()
>> #21 0x0006b9f9 in main (argc=1, argv=0xbffff688, envp=0xbffff690) at
>> /Users/mariano/Pharo/VM/git/cogVMBlessedSSH/blessed/build/../platforms/iOS/vm/Common/main.m:52
>>
>>
>> And the line that fails is:     allocateOpcodesbytecodes((numBytecodes +
>> extra) * 10, numBytecodes);
>>
>> numBytecodes is 49729 and extra is 10.
>>
>> Any idea?
>>
>> thanks!
>>
>> --
>> Mariano
>> http://marianopeck.wordpress.com
>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
>


-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20120426/9d8f7983/attachment-0001.htm


More information about the Vm-dev mailing list