Hi Chris,<div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 4, 2012 at 7:50 PM, Chris Muller <span dir="ltr">&lt;<a href="mailto:asqueaker@gmail.com" target="_blank">asqueaker@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Eliot, here is one using the new r2628 VM on Linux.<br></blockquote><div><br></div><div>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&#39;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.</div>
<div><br></div><div>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&#39;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&#39;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.</div>
<div><br></div><div>Let me know if you&#39;d like to try an assert-enabled VM.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Tue, Dec 4, 2012 at 12:02 PM, Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt; wrote:<br>
&gt; For the list&#39;s information it looks like the new r2628 VMs on my site fix<br>
&gt; this crash.<br>
&gt;<br>
&gt;<br>
&gt; On Sun, Dec 2, 2012 at 4:15 AM, Stéphane Rollandin &lt;<a href="mailto:lecteur@zogotounga.net">lecteur@zogotounga.net</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hello,<br>
&gt;&gt;<br>
&gt;&gt; Attached is a crash dump of the (I think) latest Cog VM on Windows 7. The<br>
&gt;&gt; crash happens when after double-cliking Croquet.exe I select the image I<br>
&gt;&gt; want to open. Strangely it does not always happen though.<br>
&gt;&gt;<br>
&gt;&gt; Stef<br>
&gt;&gt;<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>cheers,<div>Eliot</div><br>
</div>