<br><br><div class="gmail_quote">On Mon, Feb 27, 2012 at 5:20 AM, Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@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 Mariano,<br><br><div class="gmail_quote"><div class="im">On Sun, Feb 26, 2012 at 8:58 AM, Mariano Martinez Peck <span dir="ltr">&lt;<a href="mailto:marianopeck@gmail.com" target="_blank">marianopeck@gmail.com</a>&gt;</span> wrote:<br>
</div><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 <br>Hi. I have faced a VM crash while using Nautilus browser. It took me a while, but I finally could make a reproducible crash from image startup. You can find the image here: <br><a href="https://gforge.inria.fr/frs/download.php/30280/Marea.104-Crash.1.image.zip" target="_blank">https://gforge.inria.fr/frs/download.php/30280/Marea.104-Crash.1.image.zip</a><br>


<br>What the image is running at startup that causes the crash is:<br><br>| nautilus model ui|<br>Nautilus instVarNamed: &#39;groups&#39; put: nil.<br>model := Nautilus open.<br>ui := model ui.<br>ui groupsButtonAction.<br>


<br>If you need more about the &quot;domain&quot;, we can ask Ben, Nautilus developer.  From what I can see in GDB, it crashes in #mapStackPages  because it does a remap to an OOP that is 0 (zero)<br><br>while (theSP &lt;= frameRcvrOffset) {<br>


                    oop = longAt(theSP);<br>                    if (!((oop &amp; 1))) {<br>                        longAtput(theSP, remap(oop));<br>                    }<br>                    theSP += BytesPerWord;<br>                }<br>


<br><br>Any ideas?<br></blockquote><div><br></div></div></div><div>The image overflows the weakRoots table in scanning stack pages.  The weakRoots table registers weak objects for scanning at the end of a GC.  It is, unfortunately, fixed size (~2600 entries), and there are lots of WeakMessageSends and WeakAnnouncementSubscriptions on the stack.  </div>

<div><br></div><div>I found this using aDebug VM with assert enabled (i.e. compiled with NDEBUG /not/ defined).  I increased the table size to 3000 then 6000 before finding it no longer crashed with a weakRoots  table size of 12000.</div>

<div><br></div></div></blockquote><div><br>wow, I never imagine about that.<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_quote">
<div></div><div>a) Looks like weakRoots&#39; size should be configurable either via a start-up flag or an image header constant (with e.g. vmParameter accessors). </div></div></blockquote><div><br>yes, with vmParameter would be nice, like the external semaphore table.<br>
 </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_quote"><div><br></div><div>b) overflowing the weakRoots table (and possibly other tables) should probably cause the VM to abort with a useful error message.</div>

<div><br></div></div></blockquote><div><br>please!  :)<br><br>I have check in the image, before reproducing the bug, and it is not that bad:<br><br>WeakMessageSend instanceCount 755.<br>WeakAnnouncementSubscription instanceCount 538<br>
<br>So...maybe when I do the stuff that reproduces the crash there is ANOTHER bug (say a loop for example), that cause to have much more instances of those weak stuff?<br><br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class="gmail_quote"><div></div><div>cheers,</div><div>Eliot</div><div class="im"><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>Thanks,<br clear="all">
<br>-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br>
<br>
<br></blockquote></div></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div><br>
</font></span></blockquote></div><br><br clear="all"><br>-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br><br>