Cog VM crash dump

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Cog VM crash dump

Stéphane Rollandin
Hello,

Attached is a crash dump of the (I think) latest Cog VM on Windows 7.
The crash happens when after double-cliking Croquet.exe I select the
image I want to open. Strangely it does not always happen though.

Stef



crash.dmp (32K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Cog VM crash dump

Stéphane Rollandin
> Attached is a crash dump of the (I think) latest Cog VM on Windows 7.

Please find the actual latest Cog VM crash dump attached. The previous
one was from an older VM... sorry about this.

Stef





crash.dmp (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Cog VM crash dump

Eliot Miranda-2
In reply to this post by Stéphane Rollandin
For the list's information it looks like the new r2628 VMs on my site fix this crash.


On Sun, Dec 2, 2012 at 4:15 AM, Stéphane Rollandin <[hidden email]> wrote:
Hello,

Attached is a crash dump of the (I think) latest Cog VM on Windows 7. The crash happens when after double-cliking Croquet.exe I select the image I want to open. Strangely it does not always happen though.

Stef






--
best,
Eliot



Reply | Threaded
Open this post in threaded view
|

Re: Cog VM crash dump

Chris Muller-3
Hi Eliot, here is one using the new r2628 VM on Linux.

On Tue, Dec 4, 2012 at 12:02 PM, Eliot Miranda <[hidden email]> wrote:

> For the list's information it looks like the new r2628 VMs on my site fix
> this crash.
>
>
> On Sun, Dec 2, 2012 at 4:15 AM, Stéphane Rollandin <[hidden email]>
> wrote:
>>
>> Hello,
>>
>> Attached is a crash dump of the (I think) latest Cog VM on Windows 7. The
>> crash happens when after double-cliking Croquet.exe I select the image I
>> want to open. Strangely it does not always happen though.
>>
>> Stef
>>
>>
>>
>
>
>
> --
> best,
> Eliot
>
>
>
>



crash.dmp (17K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Cog VM crash dump

Eliot Miranda-2
Hi Chris,

On Tue, Dec 4, 2012 at 7:50 PM, Chris Muller <[hidden email]> wrote:
Hi Eliot, here is one using the new r2628 VM on Linux.

yesterday at Cadence we identified a problem on linux with stack corruption due to a deep call chain at signal delivery time on the native stack.  The Cog JIT runs SMalltalk on a segmented stack organized as pages, each page having some headroom upon which to take an interrupt.  In this case a signal was delivered that was caught by the UnixOSProcessPlugin's handleSignal function which in turn tried to call signalSemaphoreWithIndex in the interpreterProxy.  But since this was the first time this had happened the dynamic linker kicked in to resolve the address and this call chain was deep enough to overwrite the bottom of the adjacent page, causing the garbage collector to crash when it tried to follow a corrupted pointer.

We identified the problem using an assert-enabled VM that runs a bit slower but prints useful error messages in advance of crashes.  I wonder Chris if you'd be willing to try an assert-enabled VM with your code and see if we can find out more info.  Hopefully the crash will have the same cause.  I'm working on a fix right now.  One half is to increase the per-page headroom a little.  Another fix is to generate plugins in a more intelligent way so that dynamic linking activity will be done at plugin load time, and so that internal plugins will statically link against the VM, for a little extra performance.

Let me know if you'd like to try an assert-enabled VM.

On Tue, Dec 4, 2012 at 12:02 PM, Eliot Miranda <[hidden email]> wrote:
> For the list's information it looks like the new r2628 VMs on my site fix
> this crash.
>
>
> On Sun, Dec 2, 2012 at 4:15 AM, Stéphane Rollandin <[hidden email]>
> wrote:
>>
>> Hello,
>>
>> Attached is a crash dump of the (I think) latest Cog VM on Windows 7. The
>> crash happens when after double-cliking Croquet.exe I select the image I
>> want to open. Strangely it does not always happen though.
>>
>> Stef
>>



--
cheers,
Eliot



Reply | Threaded
Open this post in threaded view
|

Re: Cog VM crash dump

Chris Muller-3
> Let me know if you'd like to try an assert-enabled VM.

Yes absolutely!  Just tell me how to acquire said VM and I'll be more
than happy to crash it...  ;)

Thank you.

Reply | Threaded
Open this post in threaded view
|

Re: Cog VM crash dump

Igor Stasenko
In reply to this post by Eliot Miranda-2
On 6 December 2012 03:22, Eliot Miranda <[hidden email]> wrote:
> We identified the problem using an assert-enabled VM that runs a bit slower
> but prints useful error messages in advance of crashes.  I wonder Chris if
> you'd be willing to try an assert-enabled VM with your code and see if we
> can find out more info.  Hopefully the crash will have the same cause.  I'm
> working on a fix right now.  One half is to increase the per-page headroom a
> little.  Another fix is to generate plugins in a more intelligent way so
> that dynamic linking activity will be done at plugin load time, and so that
> internal plugins will statically link against the VM, for a little extra
> performance.

Yes we also observed some strangeness when trying to find cause of
crash in linux<->mongodb smalltalkhub image.

- if you open a web page (served by image) and let it just load
completely, everything works just fine..
but if you storm the service by hitting 'reload' button , it was
crashing quite regularly.
under debugger i seen a lot of SIGPIPE signals coming in (because
browser terminating connection)
and then crash soon after.
still its unclear if this is the same bug.. but i am pretty sure it is
related to async i/o & events.

--
Best regards,
Igor Stasenko.

Reply | Threaded
Open this post in threaded view
|

Re: Cog VM crash dump

Eliot Miranda-2

Hi Both,

    in http://www.mirandabanda.org/files/Cog/VM/VM.r2628/ you'll find cogastlinux.tgz.  You need to run it form the console and observe and/or collect its output.  please report back assert fails to me.  Assert fails look like a C expression followed by a line number. e.g.

((senderContextOrNil & 3) == 0) && (((((usqInt)senderContextOrNil)) >= (startOfMemory())) && (((((usqInt)senderContextOrNil)) < GIV(freeStart)) && (((longAt(senderContextOrNil)) & TypeMask) != HeaderTypeGC))) 46852

On Thu, Dec 6, 2012 at 10:10 AM, Chris Muller <[hidden email]> wrote:
> Let me know if you'd like to try an assert-enabled VM.

Yes absolutely!  Just tell me how to acquire said VM and I'll be more
than happy to crash it...  ;)

Thank you.


On Thu, Dec 6, 2012 at 10:21 AM, Igor Stasenko <[hidden email]> wrote:
On 6 December 2012 03:22, Eliot Miranda <[hidden email]> wrote:
> We identified the problem using an assert-enabled VM that runs a bit slower
> but prints useful error messages in advance of crashes.  I wonder Chris if
> you'd be willing to try an assert-enabled VM with your code and see if we
> can find out more info.  Hopefully the crash will have the same cause.  I'm
> working on a fix right now.  One half is to increase the per-page headroom a
> little.  Another fix is to generate plugins in a more intelligent way so
> that dynamic linking activity will be done at plugin load time, and so that
> internal plugins will statically link against the VM, for a little extra
> performance.

Yes we also observed some strangeness when trying to find cause of
crash in linux<->mongodb smalltalkhub image.

- if you open a web page (served by image) and let it just load
completely, everything works just fine..
but if you storm the service by hitting 'reload' button , it was
crashing quite regularly.
under debugger i seen a lot of SIGPIPE signals coming in (because
browser terminating connection)
and then crash soon after.
still its unclear if this is the same bug.. but i am pretty sure it is
related to async i/o & events.

--
Best regards,
Igor Stasenko.




--
best,
Eliot