[Vm-dev] [Cog] It seems like there's a bug

Eliot Miranda eliot.miranda at gmail.com
Mon Aug 6 18:09:05 UTC 2012


Hi Igor,

On Mon, Aug 6, 2012 at 6:50 AM, Igor Stasenko <siguctua at gmail.com> wrote:

>
> Hi, all
> there was an outstanding issue with running a 200MB Moose image on windows,
> the VM was simply crashed.
>
> I took a look and found that the problem is in:
>
> #eeInstantiateSmallClass:sizeInBytes:
>
> crashing (i guess)


How does it crash?



> at first few allocation once image loaded, because
> see the stack trace:
>
> Smalltalk stack dump:
>   0x1900dc I SmalltalkImage>clearExternalObjects 63367860: a(n)
> SmalltalkImage
>   0x190108 I SmalltalkImage>snapshot:andQuit: 63367860: a(n) SmalltalkImage
> 0x1007b820 s [] in WorldState class>saveSession
> 0x1007b87c s BlockClosure>ensure:
>
>
> so, i changed the last line in that method:
>
> -       ^self eeAllocate: sizeInBytes headerSize: hdrSize h1: header1 h2:
> header2 h3: 0
>
> +       ^  self allocate: sizeInBytes headerSize: hdrSize h1: header1 h2:
> header2 h3: 0 doFill: false format: 0
>
> and it is no longer crashes, and i were able to open and interact with
> that image..
> The VM works fine except from strange behavior with mouse cursor
> (which is always hidden unless you move & click the mouse), regardless
> of image you opened..
> So, it sounds like the dirty fix is is really dirty and incomplete (if
> it can be considered a fix at all).
>
> Then i recompiled again, and i don't know what is changed (should be
> nothing), but while VM are no longer crashes, it doesn't opens a main
> window ..
> it simply stalls somewhere with 0% CPU load..
> looks like problem with undelivered events/signals etc.. or some
> threads are unable to initialize properly.. .
>
> Back to
> #eeInstantiateSmallClass:sizeInBytes:
> as i understand it is an optimized version of
> #instantiateSmallClass:sizeInBytes:
> so, replacing it back with that method should be ok?
> Except that ee-one guarantees to not trigger GC but looking at senders
> of this message it looks like it is not necessary to guarantee that..
>
> But i worry that the real fix should be in completely different place,
> because i guess we observe only a consequence of another flaw: since
> that method allocates new object(s) it assumes that there's enough
> free space on heap..
> and since there's none.. this means that some of the logic is flawed
> in another place.
>
>
> Eliot, if you can take a look, i can send you that image in private
> mail, because it looks like it will be hard to reproduce.
> Image opens and works fine on mac.. but on windows we're getting these
> strange issues.
>
> --
> Best regards,
> Igor Stasenko.
>



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


More information about the Vm-dev mailing list