<div dir="ltr">Hi Vincent,<div><br></div><div>    does the image lock up when you execute Exception signal?  The two functions you see looping are part of the implementation of primitives 195 &amp; 196, findNextUnwindContextUpTo: (primitiveFindNextUnwindContext) &amp; terminateTo: (primitiveTerminateTo).  So if the image locks up the question is, is what is creating a circular structure of contexts, the VM or the image?  I am willing to take a look at an image that contains the case.  If you can create an image which enters the lop on start-up without my having to do anything I&#39;m happy to take a look.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 19, 2015 at 3:22 PM, Vincent BLONDEAU <span dir="ltr">&lt;<a href="mailto:vincent.blondeau@polytech-lille.net" target="_blank">vincent.blondeau@polytech-lille.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="FR" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">Hi, <u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">On last Moose image, I debugged the VM and executed “Exception signal”. <u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">I paused the VM and saw that 2 methods are looping together in gcc3x-cointerp.c:<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">static sqInt findMethodWithPrimitiveFromContextUpToContext(sqInt primitive, sqInt senderContext, sqInt homeContext); <u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">static sqInt findMethodWithPrimitiveFromFPUpToContext(sqInt primitive, char *startFP, sqInt homeContext);<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">The image is looping only when the debugger is launch on Error (not by launching it by the script below).<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">Maybe someone on the Pharo mailing list knows what is happening?<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">Thanks in advance,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">Cheers, <u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">Vincent<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal" style="margin-left:35.4pt"><b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">De :</span></b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"> <a href="mailto:moose-dev-bounces@iam.unibe.ch" target="_blank">moose-dev-bounces@iam.unibe.ch</a> [mailto:<a href="mailto:moose-dev-bounces@iam.unibe.ch" target="_blank">moose-dev-bounces@iam.unibe.ch</a>] <b>De la part de</b> Andrei Chis<br><b>Envoyé :</b> mardi 18 août 2015 10:53<br><b>À :</b> Moose-related development<br><b>Objet :</b> [Moose-dev] Re: Object new foo<u></u><u></u></span></p><p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p><div><p class="MsoNormal" style="margin-left:35.4pt">Hi Vincent,<u></u><u></u></p><div><p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt">You example will also kill the Pharo debugger :)<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt">The issue is that you pass &#39;Processor activeProcess&#39; which gets terminated when you close the debugger.<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt">When you open the debugger you need to make sure the process<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt">on which it is opened is suspended and can get terminated with no problem.<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt">A different way to redo the example would be:<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p></div><div><div><p class="MsoNormal" style="margin-left:35.4pt">context := Context<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt">    sender: nil<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt">    receiver: {1 . 2 . 2}<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt">    method: (OrderedCollection&gt;&gt;#add:)<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt">    arguments: #(10).<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt">process := Process <u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt"><span>                        </span>forContext: context<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt"><span>                        </span>priority: Processor userInterruptPriority.<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt">GTGenericStackDebugger openOn: (DebugSession process: process context: context).<u></u><u></u></p></div></div><div><p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt">There is a basic test for opening the debugger in GTGenericStackDebuggerSmokeTest but more could help.<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt">Cheers,<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt">Andrei<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p></div></div><div><p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p><div><p class="MsoNormal" style="margin-left:35.4pt">On Mon, Aug 17, 2015 at 11:53 PM, Vincent BLONDEAU &lt;<a href="mailto:vincent.blondeau@polytech-lille.net" target="_blank">vincent.blondeau@polytech-lille.net</a>&gt; wrote:<u></u><u></u></p><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm"><div><div><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">Indeed. Maybe some tests has to be added..</span><u></u><u></u></p><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">But for now, it seems that the debugger is crashing the image… Not just by launching it:</span><u></u><u></u></p><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">GTGenericStackDebugger openOn: (DebugSession process: Processor activeProcess context:  (Context </span><u></u><u></u></p><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">                               sender: nil</span><u></u><u></u></p><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">                               receiver: {1 . 2 . 2}</span><u></u><u></u></p><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">                               method: (OrderedCollection&gt;&gt;#add: )</span><u></u><u></u></p><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">                               arguments: #(10)))</span><u></u><u></u></p><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">But when an exception is thrown, its seems that we fall into an infinite loop around the primitive 199. Maybe the context is not well set?</span><u></u><u></u></p><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">Cheers, </span><u></u><u></u></p><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d">Vincent</span><u></u><u></u></p><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal" style="margin-left:35.4pt"><span lang="EN-GB" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif;color:#1f497d"> </span><u></u><u></u></p><div><div style="border:none;border-top:solid #e1e1e1 1.0pt;padding:3.0pt 0cm 0cm 0cm"><p class="MsoNormal" style="margin-left:70.8pt"><b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif">De :</span></b><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,sans-serif"> <a href="mailto:moose-dev-bounces@iam.unibe.ch" target="_blank">moose-dev-bounces@iam.unibe.ch</a> [mailto:<a href="mailto:moose-dev-bounces@iam.unibe.ch" target="_blank">moose-dev-bounces@iam.unibe.ch</a>] <b>De la part de</b> Alexandre Bergel<br><b>Envoyé :</b> lundi 17 août 2015 13:26<br><b>À :</b> Moose-related development<br><b>Objet :</b> [Moose-dev] Re: Object new foo</span><u></u><u></u></p></div></div><div><div><p class="MsoNormal" style="margin-left:70.8pt"> <u></u><u></u></p><div><p class="MsoNormal" style="margin-left:70.8pt">This is weird that such bug can be introduced and no alarm is raised<u></u><u></u></p></div><div><p class="MsoNormal" style="margin-left:70.8pt"> <u></u><u></u></p></div><div><p class="MsoNormal" style="margin-bottom:12.0pt;margin-left:70.8pt">Alexandre <u></u><u></u></p></div><div><p class="MsoNormal" style="margin-bottom:12.0pt;margin-left:70.8pt"><br>Le 17 août 2015 à 08:03, Jan Kurš &lt;<a href="mailto:kurs@iam.unibe.ch" target="_blank">kurs@iam.unibe.ch</a>&gt; a écrit :<u></u><u></u></p></div><blockquote style="margin-top:5.0pt;margin-bottom:5.0pt"><div><p style="margin-left:70.8pt">Yep I had this problem (falled back to previous version), I suspected debugger being the reason. <u></u><u></u></p><p style="margin-left:70.8pt">Cheers Jan <u></u><u></u></p><p class="MsoNormal" style="margin-left:70.8pt"> <u></u><u></u></p><div><div><p class="MsoNormal" style="margin-left:70.8pt">On Sun, 16 Aug 2015 03:05 Alexandre Bergel &lt;<a href="mailto:alexandre.bergel@me.com" target="_blank">alexandre.bergel@me.com</a>&gt; wrote:<u></u><u></u></p></div><blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0cm;margin-bottom:5.0pt"><p class="MsoNormal" style="margin-left:70.8pt">in Moose 6.0 simply freezes.<br>Anyone else sees this?<br><br>Alexandre<br>--<br>_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:<br>Alexandre Bergel  <a href="http://www.bergel.eu" target="_blank">http://www.bergel.eu</a><br>^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.<br><br><br><br>_______________________________________________<br>Moose-dev mailing list<br><a href="mailto:Moose-dev@iam.unibe.ch" target="_blank">Moose-dev@iam.unibe.ch</a><br><a href="https://www.iam.unibe.ch/mailman/listinfo/moose-dev" target="_blank">https://www.iam.unibe.ch/mailman/listinfo/moose-dev</a><u></u><u></u></p></blockquote></div></div></blockquote><blockquote style="margin-top:5.0pt;margin-bottom:5.0pt"><div><p class="MsoNormal" style="margin-left:70.8pt">_______________________________________________<br>Moose-dev mailing list<br><a href="mailto:Moose-dev@iam.unibe.ch" target="_blank">Moose-dev@iam.unibe.ch</a><br><a href="https://www.iam.unibe.ch/mailman/listinfo/moose-dev" target="_blank">https://www.iam.unibe.ch/mailman/listinfo/moose-dev</a><u></u><u></u></p></div></blockquote></div></div></div></div><p class="MsoNormal" style="margin-right:0cm;margin-bottom:12.0pt;margin-left:35.4pt"><br>_______________________________________________<br>Moose-dev mailing list<br><a href="mailto:Moose-dev@iam.unibe.ch" target="_blank">Moose-dev@iam.unibe.ch</a><br><a href="https://www.iam.unibe.ch/mailman/listinfo/moose-dev" target="_blank">https://www.iam.unibe.ch/mailman/listinfo/moose-dev</a><u></u><u></u></p></blockquote></div><p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div>
</div>