<div dir="ltr">Bob,<div><br></div><div>    thank you!!  morphicOpenOn:context:label:contents:fullView: is indeed the method in question. So if one moves the ErrorRecursion := false outside of the addDeferredUIMessage: block everything works.  i.e. now the code reads:</div><div><br></div><div><div><span class="gmail-Apple-tab-span" style="white-space:pre">         </span>Project current addDeferredUIMessage:</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                  </span>[ debugger := self new</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                         </span>process: process</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                               </span>controller: nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                </span>context: context.</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                      </span>full</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                           </span>ifTrue: [ debugger openFullNoSuspendLabel: title ]</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                             </span>ifFalse:</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                       </span>[ debugger</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                             </span>openNotifierContents: contentsStringOrNil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                              </span>label: title ].</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                        </span>debugger errorWasInUIProcess: errorWasInUIProcess.</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                     </span>"Try drawing the debugger tool at least once to avoid freeze."</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                       </span>Project current world displayWorldSafely].</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">             </span>ErrorRecursion := false ].</div><div><br></div><div>and the old code doesn't work:</div><div><br></div><div><div><span class="gmail-Apple-tab-span" style="white-space:pre">               </span>Project current addDeferredUIMessage:</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                  </span>[ debugger := self new</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                         </span>process: process</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                               </span>controller: nil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                </span>context: context.</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                      </span>full</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                           </span>ifTrue: [ debugger openFullNoSuspendLabel: title ]</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                             </span>ifFalse:</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                       </span>[ debugger</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                             </span>openNotifierContents: contentsStringOrNil</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                                              </span>label: title ].</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                        </span>debugger errorWasInUIProcess: errorWasInUIProcess.</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                     </span>"Try drawing the debugger tool at least once to avoid freeze."</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                       </span>Project current world displayWorldSafely.</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">                      </span>ErrorRecursion := false ]].</div></div><div><br></div><div>So there question is, what are the tests for the ErrorGuard and ErrorRecursion?  I need to run these before committing the fix above.</div><div><br></div><div>Bob, way to go!  Thank you.</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jan 24, 2018 at 3:52 PM, Bob Arning <span dir="ltr"><<a href="mailto:arning315@comcast.net" target="_blank">arning315@comcast.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF">
    <p><font face="Georgia">I tried this in 5.1 and it worked</font></p>
    <p><font face="Georgia">Debugger class>><br>
      </font></p>
    <p><font face="Georgia">morphicOpenOn: process context: context
        label: title contents: contentsStringOrNil fullView: full<br>
            "Open a notifier in response to an error, halt, or notify. A
        notifier view just shows a short view of the sender stack and
        provides a menu that lets the user open a full debugger."<br>
        <br>
            | errorWasInUIProcess debugger |<br>
            ErrorRecursion ifTrue: [<br>
                "self assert: process == Project current uiProcess --
        DOCUMENTATION ONLY"<br>
                ErrorRecursion := false.<br>
                "^ Project current handleFatalDrawingError: title"].   
        <============commented this out<br>
        ...<br>
      </font><br>
    </p><div><div class="gmail-h5">
    <br>
    <div class="gmail-m_-5988897607938864499moz-cite-prefix">On 1/24/18 6:31 PM, Eliot Miranda
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">Hi All,
        <div><br>
        </div>
        <div>    I'm comparing two close copies of a class in attempting
          a complex refactoring, comparing the original code with the
          close copy.  In doing this I need to open up two debuggers to
          step through the two computations simultaneously.  If I try it
          this way, where the two JITs break at a particular bytecode:</div>
        <div><br>
        </div>
        <div>
          <div>[:m :opts|</div>
          <div> [StackToRegisterMappingCogit cog: m options: opts] fork.</div>
          <div> Processor yield.</div>
          <div> <wbr>AltStackToRegisterMappingCogit cog: m options: opts]</div>
          <div><span class="gmail-m_-5988897607938864499gmail-Apple-tab-span" style="white-space:pre-wrap">     </span>value:
            TabbedPalette class>>#unload</div>
          <div><span class="gmail-m_-5988897607938864499gmail-Apple-tab-span" style="white-space:pre-wrap">     </span>value:
            #(ObjectMemory Spur64BitCoMemoryManager</div>
          <div><span class="gmail-m_-5988897607938864499gmail-Apple-tab-span" style="white-space:pre-wrap">                     </span>debugBytecodePointers
            #(59)</div>
          <div><span class="gmail-m_-5988897607938864499gmail-Apple-tab-span" style="white-space:pre-wrap">                     </span>compilationTrace
            0).</div>
        </div>
        <div><br>
        </div>
        <div>I get an emergency evaluator :-(, and if I type restart I
          only ever get one debugger.  What's the right way to do this?</div>
        <div><br>
        </div>
        <div>To boil down the example I need this to work:</div>
        <div><br>
        </div>
        <div>    [1 halt] fork.</div>
        <div>    Processor yield.</div>
        <div>    2 halt</div>
        <div><br>
        </div>
        <div>i.e. I want to be able to get two debuggers, one open on 1
          halt, and the other on 2 halt.<br>
          <div class="gmail-m_-5988897607938864499gmail_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>
      </div>
      <br>
      <fieldset class="gmail-m_-5988897607938864499mimeAttachmentHeader"></fieldset>
      <br>
      <pre></pre>
    </blockquote>
    <br>
  </div></div></div>

<br><br>
<br></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></div></div>