[Vm-dev] [Cog] It seems like there's a bug
siguctua at gmail.com
Mon Aug 6 19:09:06 UTC 2012
On 6 August 2012 20:09, Eliot Miranda <eliot.miranda at gmail.com> wrote:
> 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:
>> crashing (i guess)
> How does it crash?
it crashes on self error: 'out of memory' in that method, because of
condition not met.
(youngstart is > memoryend) or something.. sorry don't have the code
before my eyes right now)
>> 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
>> as i understand it is an optimized version of
>> 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.
More information about the Vm-dev