<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p><font size="+1">Hi Juan, <br>
      </font></p>
    <p><font size="+1">I found that debugging faulty morph is hard in
        some situation, at least in the context of DrGeo which, I
        acknowledge, may not be representative.</font></p>
    <p><font size="+1">Any way, when I have this DrGeo drawable (just a
        morph) to which I add other morph (view of geometric model),
        whenever this morph is causing an error (for example sending a
        message to a nil object), Cuis enters an unstoppable infinite
        loop (Alt+ [.] does not work) and log is printed on the command
        line terminal (log attached too). The debugger never shows up:</font></p>
    <pre><code><font size="+1">Error: Error: instVarAt:put: failed</font></code></pre>
    <pre><code><font size="+1">See /home/hilaire/Travaux/Developpement/Cuis/Cuis-Smalltalk-Dev/CuisDebug-2021-04-29_14.22.45.log</font></code></pre>
    <pre><code><font size="+1">29 April 2021 2:22:45.925242 pm</font></code></pre>
    <pre><code><font size="+1">UndefinedObject(Object)>>error:</font></code></pre>
    <pre><code><font size="+1">[] in WorldMorph>>displayWorldSafely</font></code></pre>
    <pre><code><font size="+1">BlockClosure>>valueWithPossibleArgument:and:</font></code></pre>
    <pre><code><font size="+1">[] in BlockClosure>>ifError:</font></code></pre>
    <pre><code><font size="+1">BlockClosure>>valueWithPossibleArgument:</font></code></pre>
    <pre><code><font size="+1">[] in [] in Error(Exception)>>evaluateHandlerBlock:</font></code></pre>
    <pre><code><font size="+1">BlockClosure>>on:do:</font></code></pre>
    <pre><code><font size="+1">[] in Error(Exception)>>evaluateHandlerBlock:</font></code></pre>
    <pre><code><font size="+1">BlockClosure>>ifCurtailed:</font></code></pre>
    <pre><code><font size="+1">Error(Exception)>>evaluateHandlerBlock:</font></code></pre>
    <pre><code><font size="+1">MethodContext(ContextPart)>>evaluateSignal:</font></code></pre>
    <pre><code><font size="+1">MethodContext(ContextPart)>>handleSignal:</font></code></pre>
    <pre><code><font size="+1">Error(Exception)>>signalIn:</font></code></pre>
    <pre><code><font size="+1">Error(Exception)>>signal</font></code></pre>
    <pre><code><font size="+1">Error(Exception)>>signal:</font></code></pre>
    <pre><code><font size="+1">UndefinedObject(Object)>>error:</font></code></pre>
    <pre><code><font size="+1">UndefinedObject(Object)>>primitiveFailed:</font></code></pre>
    <pre><code><font size="+1">UndefinedObject(Object)>>primitiveFailed</font></code></pre>
    <pre><code><font size="+1">UndefinedObject(Object)>>instVarAt:put:</font></code></pre>
    <pre><code><font size="+1">Error: Error: instVarAt:put: failed</font></code></pre>
    <pre><code><font size="+1">See /home/hilaire/Travaux/Developpement/Cuis/Cuis-Smalltalk-Dev/CuisDebug-2021-04-29_14.22.45.log</font></code></pre>
    <pre><code><font size="+1">29 April 2021 2:22:45.926454 pm</font></code></pre>
    <pre><code><font size="+1">UndefinedObject(Object)>>error:</font></code></pre>
    <pre><code><font size="+1">[] in WorldMorph>>displayWorldSafely</font></code></pre>
    <pre><code><font size="+1">BlockClosure>>valueWithPossibleArgument:and:</font></code></pre>
    <pre><code><font size="+1">[] in BlockClosure>>ifError:</font></code></pre>
    <pre><code><font size="+1">BlockClosure>>valueWithPossibleArgument:</font></code></pre>
    <pre><code><font size="+1">[] in [] in Error(Exception)>>evaluateHandlerBlock:</font></code></pre>
    <pre><code><font size="+1">BlockClosure>>on:do:</font></code></pre>
    <pre><code><font size="+1">[] in Error(Exception)>>evaluateHandlerBlock:</font></code></pre>
    <pre><code><font size="+1">BlockClosure>>ifCurtailed:</font></code></pre>
    <pre><code><font size="+1">Error(Exception)>>evaluateHandlerBlock:</font></code></pre>
    <pre><code><font size="+1">MethodContext(ContextPart)>>evaluateSignal:</font></code></pre>
    <pre><code><font size="+1">MethodContext(ContextPart)>>handleSignal:</font></code></pre>
    <pre><code><font size="+1">Error(Exception)>>signalIn:</font></code></pre>
    <pre><code><font size="+1">Error(Exception)>>signal</font></code></pre>
    <pre><code><font size="+1">Error(Exception)>>signal:</font></code></pre>
    <pre><code><font size="+1">UndefinedObject(Object)>>error:</font></code></pre>
    <pre><code><font size="+1">UndefinedObject(Object)>>primitiveFailed:</font></code></pre>
    <pre><code><font size="+1">UndefinedObject(Object)>>primitiveFailed</font></code></pre>
    <pre><code><font size="+1">UndefinedObject(Object)>>instVarAt:put:</font></code></pre>
    <p><font size="+1"><br>
      </font></p>
    <p><font size="+1"></font><br>
    </p>
    <pre class="moz-signature" cols="72">-- 
GNU Dr. Geo
<a class="moz-txt-link-freetext" href="http://drgeo.eu">http://drgeo.eu</a>
<a class="moz-txt-link-freetext" href="http://blog.drgeo.eu">http://blog.drgeo.eu</a></pre>
  </body>
</html>