<div dir="ltr">Ah, sorry, it was not a debugger, it was a ChangeList, and curiously, the listSelections effectively contains a non boolean (nil)<br> #(false false false true true nil true false false false false false false false false false false)<br>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/9/17 Nicolas Cellier <span dir="ltr">&lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com" target="_blank">nicolas.cellier.aka.nice@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Ah another instance (see attachment)<br></div>This time I clicked in a debugger methodList and you can see that <br>
<br>(listSource itemSelectedAmongMultiple:  row) ifTrue: [ <br><br></div>bugged because it did not answer a boolean...<br>
</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">2013/9/17 Bob Arning <span dir="ltr">&lt;<a href="mailto:arning315@comcast.net" target="_blank">arning315@comcast.net</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

  
    
  
  <div bgcolor="#FFFFFF" text="#000000">
    <font face="Georgia">Well, I can sort-of make it happen<br>
      <br>
      - do you have the full SqueakDebug.log?<br>
      - did you copy the portion you sent from the file or did you do it
      another way? (like the mail bug report menu item)???<br>
      - you might think about upping the numbers in
      ContextPart&gt;&gt;errorReportOn: so we can see the full stack
      next time<br>
      [snip]<br>
              strm position &gt; (startPos+40000) ifTrue: [strm
      nextPutAll: &#39;...etc...&#39;.    &quot;make 40000 much larger&quot;<br>
                  ^ self].     &quot;exit early&quot;<br>
              cnt &gt; 60 ifTrue: [strm nextPutAll: &#39;-- and more not
      shown --&#39;.  ^ self].    &quot;make 60 much larger&quot;<br>
      [snip]<br>
      <br>
      Cheers,<br>
      Bob<br>
      <br>
    </font><div>
    <div>On 9/16/13 5:26 PM, Nicolas Cellier
      wrote:<br>
    </div>
    </div><div><div><blockquote type="cite">
      <div dir="ltr">
        <div>
          <div>Lately I have many instances of these yellow cross over
            red background that happens when a low level morphic error
            is encountered.<br>
            <br>
            It seems related to a MultiNewParagraph lines being nil like
            in following stack example.<br>
            <br>
          </div>
          I don&#39;t know if it can help a morphic guru, but I just hate
          those stateful behavior with volatile states...<br>
          <br>
        </div>
        Really hard to debug/understand!!!<br>
        <br>
        <div>
          <div>
            <div>
              <div><br>
                UndefinedObject(Object)&gt;&gt;error:<br>
                    Receiver: nil<br>
                    Arguments and temporary variables: <br>
                        aString:     &#39;MessageNotUnderstood:
                UndefinedObject&gt;&gt;findBinaryIndex:ifNone:&#39;<br>
                    Receiver&#39;s instance variables: <br>
                nil<br>
                <br>
                [] in WorldState&gt;&gt;displayWorldSafely:<br>
                    Receiver: a WorldState<br>
                    Arguments and temporary variables: <br>
                &lt;&lt;error during printing&gt;<br>
                    Receiver&#39;s instance variables: <br>
                        hands:     {a HandMorph(3216)}<br>
                        activeHand:     a HandMorph(3216)<br>
                        viewBox:     0@0 corner: 1113@867<br>
                        canvas:     a FormCanvas on:
                DisplayScreen(1113x867x32)<br>
                        damageRecorder:     a DamageRecorder<br>
                        stepList:     a Heap(StepMessage(#stepAt: -&gt;
                3PButton(#toggleProjectLocalness 739))...etc...<br>
                        lastStepTime:     690046<br>
                        lastStepMessage:     nil<br>
                        lastCycleTime:     690046<br>
                        commandHistory:     a CommandHistory<br>
                        alarms:     a MorphicAlarmQueue()<br>
                        lastAlarmTime:     690046<br>
                        remoteServer:     nil<br>
                        multiCanvas:     nil<br>
                <br>
                BlockClosure&gt;&gt;cull:cull:<br>
                    Receiver: [closure] in
                WorldState&gt;&gt;displayWorldSafely:<br>
                    Arguments and temporary variables: <br>
                        firstArg:     &#39;MessageNotUnderstood:
                UndefinedObject&gt;&gt;findBinaryIndex:ifNone:&#39;<br>
                        secondArg:     nil<br>
                    Receiver&#39;s instance variables: <br>
                        outerContext:    
                WorldState&gt;&gt;displayWorldSafely:<br>
                        startpc:     97<br>
                        numArgs:     2<br>
                <br>
                [] in BlockClosure&gt;&gt;ifError:<br>
                    Receiver: [closure] in
                WorldState&gt;&gt;displayWorldSafely:<br>
                    Arguments and temporary variables: <br>
                        errorHandlerBlock:     MessageNotUnderstood:
                UndefinedObject&gt;&gt;findBinaryIndex:ifNon...etc...<br>
                        ex:     [closure] in
                WorldState&gt;&gt;displayWorldSafely:<br>
                    Receiver&#39;s instance variables: <br>
                        outerContext:    
                WorldState&gt;&gt;displayWorldSafely:<br>
                        startpc:     90<br>
                        numArgs:     0<br>
                <br>
                BlockClosure&gt;&gt;cull:<br>
                    Receiver: [closure] in BlockClosure&gt;&gt;ifError:<br>
                    Arguments and temporary variables: <br>
                        firstArg:     MessageNotUnderstood:
                UndefinedObject&gt;&gt;findBinaryIndex:ifNone:<br>
                    Receiver&#39;s instance variables: <br>
                        outerContext:     BlockClosure&gt;&gt;ifError:<br>
                        startpc:     40<br>
                        numArgs:     1<br>
                <br>
                [] in MethodContext(ContextPart)&gt;&gt;handleSignal:<br>
                    Receiver: BlockClosure&gt;&gt;on:do:<br>
                    Arguments and temporary variables: <br>
                &lt;&lt;error during printing&gt;<br>
                    Receiver&#39;s instance variables: <br>
                        sender:     BlockClosure&gt;&gt;ifError:<br>
                        pc:     17<br>
                        stackp:     3<br>
                        method:     (BlockClosure&gt;&gt;#on:do: &quot;a
                CompiledMethod(680)&quot;)<br>
                        closureOrNil:     nil<br>
                        receiver:     [closure] in
                WorldState&gt;&gt;displayWorldSafely:<br>
                <br>
                BlockClosure&gt;&gt;ensure:<br>
                    Receiver: [closure] in
                MethodContext(ContextPart)&gt;&gt;handleSignal:<br>
                    Arguments and temporary variables: <br>
                        aBlock:     [closure] in
                MethodContext(ContextPart)&gt;&gt;handleSignal:<br>
                        complete:     nil<br>
                        returnValue:     nil<br>
                    Receiver&#39;s instance variables: <br>
                        outerContext:    
                MethodContext(ContextPart)&gt;&gt;handleSignal:<br>
                        startpc:     98<br>
                        numArgs:     0<br>
                <br>
                MethodContext(ContextPart)&gt;&gt;handleSignal:<br>
                    Receiver: BlockClosure&gt;&gt;on:do:<br>
                    Arguments and temporary variables: <br>
                        exception:     MessageNotUnderstood:
                UndefinedObject&gt;&gt;findBinaryIndex:ifNone:<br>
                        val:     nil<br>
                    Receiver&#39;s instance variables: <br>
                        sender:     BlockClosure&gt;&gt;ifError:<br>
                        pc:     17<br>
                        stackp:     3<br>
                        method:     (BlockClosure&gt;&gt;#on:do: &quot;a
                CompiledMethod(680)&quot;)<br>
                        closureOrNil:     nil<br>
                        receiver:     [closure] in
                WorldState&gt;&gt;displayWorldSafely:<br>
                <br>
                MessageNotUnderstood(Exception)&gt;&gt;signal<br>
                    Receiver: MessageNotUnderstood:
                UndefinedObject&gt;&gt;findBinaryIndex:ifNone:<br>
                    Arguments and temporary variables: <br>
                <br>
                    Receiver&#39;s instance variables: <br>
                        messageText:     nil<br>
                        tag:     nil<br>
                        signalContext:    
                MessageNotUnderstood(Exception)&gt;&gt;signal<br>
                        handlerContext:     BlockClosure&gt;&gt;on:do:<br>
                        outerContext:     nil<br>
                        message:     findBinaryIndex: [closure] in
                MultiNewParagraph(NewParagraph)&gt;&gt;fastFin...etc...<br>
                        receiver:     nil<br>
                        reachedDefaultHandler:     false<br>
                <br>
                UndefinedObject(Object)&gt;&gt;doesNotUnderstand:
                #findBinaryIndex:ifNone:<br>
                    Receiver: nil<br>
                    Arguments and temporary variables: <br>
                        aMessage:     findBinaryIndex: [closure] in
                MultiNewParagraph(NewParagraph)&gt;&gt;fastFi...etc...<br>
                        exception:     MessageNotUnderstood:
                UndefinedObject&gt;&gt;findBinaryIndex:ifNone:<br>
                        resumeValue:     nil<br>
                    Receiver&#39;s instance variables: <br>
                nil<br>
                <br>
MultiNewParagraph(NewParagraph)&gt;&gt;fastFindFirstLineSuchThat:<br>
                    Receiver: a MultiNewParagraph<br>
                    Arguments and temporary variables: <br>
                        lineBlock:     [closure] in
                MultiNewParagraph(NewParagraph)&gt;&gt;lineIndexForPoint:<br>
                    Receiver&#39;s instance variables: <br>
                        text:     a Text for &#39;evaluate: textOrStream
                cue: aCue ifFail: failBlock logged: lo...etc...<br>
                        textStyle:     a TextStyle Bitmap DejaVu Sans 9<br>
                        firstCharacterIndex:     1<br>
                        container:     0@0 corner: 669@9999999<br>
                        lines:     {a TextLine 1 to: 67 . a TextLine 68
                to: 139 . a TextLine 140 to: 240 . ...etc...<br>
                        positionWhenComposed:     0@0<br>
                        offsetToEnd:     1089<br>
                        maxRightX:     652<br>
                        selectionStart:     a CharacterBlock with index
                278 and character Character tab and...etc...<br>
                        selectionStop:     a CharacterBlock with index
                278 and character Character tab and ...etc...<br>
                        wantsColumnBreaks:     false<br>
                        focused:     true<br>
                        caretRect:     nil<br>
                        showCaret:     true<br>
                        presentationText:     nil<br>
                        presentationLines:     nil<br>
                <br>
MultiNewParagraph(NewParagraph)&gt;&gt;lineIndexForPoint:<br>
                    Receiver: a MultiNewParagraph<br>
                    Arguments and temporary variables: <br>
                        aPoint:     669@274<br>
                        i:     nil<br>
                        py:     274<br>
                    Receiver&#39;s instance variables: <br>
                        text:     a Text for &#39;evaluate: textOrStream
                cue: aCue ifFail: failBlock logged: lo...etc...<br>
                        textStyle:     a TextStyle Bitmap DejaVu Sans 9<br>
                        firstCharacterIndex:     1<br>
                        container:     0@0 corner: 669@9999999<br>
                        lines:     {a TextLine 1 to: 67 . a TextLine 68
                to: 139 . a TextLine 140 to: 240 . ...etc...<br>
                        positionWhenComposed:     0@0<br>
                        offsetToEnd:     1089<br>
                        maxRightX:     652<br>
                        selectionStart:     a CharacterBlock with index
                278 and character Character tab and...etc...<br>
                        selectionStop:     a CharacterBlock with index
                278 and character Character tab and ...etc...<br>
                        wantsColumnBreaks:     false<br>
                        focused:     true<br>
                        caretRect:     nil<br>
                        showCaret:     true<br>
                        presentationText:     nil<br>
                        presentationLines:     nil<br>
                <br>
                MultiNewParagraph&gt;&gt;displayOn:using:at:<br>
                    Receiver: a MultiNewParagraph<br>
                    Arguments and temporary variables: <br>
                        aCanvas:     a FormCanvas on:
                DisplayScreen(1113x867x32)<br>
                        displayScanner:     a MultiDisplayScanner<br>
                        somePosition:     80@436<br>
                        visibleRectangle:     0@0 corner: 669@274<br>
                        offset:     80@436<br>
                        leftInRun:     0<br>
                        line:     nil<br>
                        i:     nil<br>
                        iLimiT:     nil<br>
                    Receiver&#39;s instance variables: <br>
                        text:     a Text for &#39;evaluate: textOrStream
                cue: aCue ifFail: failBlock logged: lo...etc...<br>
                        textStyle:     a TextStyle Bitmap DejaVu Sans 9<br>
                        firstCharacterIndex:     1<br>
                        container:     0@0 corner: 669@9999999<br>
                        lines:     {a TextLine 1 to: 67 . a TextLine 68
                to: 139 . a TextLine 140 to: 240 . ...etc...<br>
                        positionWhenComposed:     0@0<br>
                        offsetToEnd:     1089<br>
                        maxRightX:     652<br>
                        selectionStart:     a CharacterBlock with index
                278 and character Character tab and...etc...<br>
                        selectionStop:     a CharacterBlock with index
                278 and character Character tab and ...etc...<br>
                        wantsColumnBreaks:     false<br>
                        focused:     true<br>
                        caretRect:     nil<br>
                        showCaret:     true<br>
                        presentationText:     nil<br>
                        presentationLines:     nil<br>
                <br>
                FormCanvas&gt;&gt;paragraph:bounds:color:<br>
                    Receiver: a FormCanvas on:
                DisplayScreen(1113x867x32)<br>
                    Arguments and temporary variables: <br>
                        para:     a MultiNewParagraph<br>
                        bounds:     0@0 corner: 669@450<br>
                        c:     Color black<br>
                        scanner:     a MultiDisplayScanner<br>
                    Receiver&#39;s instance variables: <br>
                        target:     nil<br>
                        filterSelector:     nil<br>
                        origin:     80@436<br>
                        clipRect:     77@436 corner: 752@710<br>
                        form:     DisplayScreen(1113x867x32)<br>
                        port:     a GrafPort<br>
                        shadowColor:     nil<br>
                <br>
                TextMorphForEditView(TextMorph)&gt;&gt;drawOn:<br>
                    Receiver: a TextMorphForEditView(975)<br>
                    Arguments and temporary variables: <br>
                        aCanvas:     a FormCanvas on:
                DisplayScreen(1113x867x32)<br>
                        fauxBounds:     0@0 corner: 669@450<br>
                    Receiver&#39;s instance variables: <br>
                        bounds:     0@0 corner: 669@450<br>
                        owner:     a TransformMorph(1921)<br>
                        submorphs:     #()<br>
                        fullBounds:     0@0 corner: 669@450<br>
                        color:     Color black<br>
                        extension:     a MorphExtension (1256) [other: 
                (errorOnDraw -&gt; true) (blinkStart -...etc...<br>
                        borderWidth:     0<br>
                        borderColor:     Color black<br>
                        textStyle:     a TextStyle Bitmap DejaVu Sans 9<br>
                        text:     a Text for &#39;evaluate: textOrStream
                cue: aCue ifFail: failBlock logged: lo...etc...<br>
                        wrapFlag:     true<br>
                        paragraph:     a MultiNewParagraph<br>
                        editor:     a SmalltalkEditor<br>
                        container:     nil<br>
                        predecessor:     nil<br>
                        successor:     nil<br>
                        backgroundColor:     nil<br>
                        margins:     nil<br>
                        editHistory:     nil<br>
                        editView:     a PluggableTextMorphPlus(3589)<br>
                        acceptOnCR:     false<br>
                <br>
                FormCanvas(Canvas)&gt;&gt;draw:<br>
                    Receiver: a FormCanvas on:
                DisplayScreen(1113x867x32)<br>
                    Arguments and temporary variables: <br>
                        anObject:     a TextMorphForEditView(975)<br>
                    Receiver&#39;s instance variables: <br>
                        target:     nil<br>
                        filterSelector:     nil<br>
                        origin:     80@436<br>
                        clipRect:     77@436 corner: 752@710<br>
                        form:     DisplayScreen(1113x867x32)<br>
                        port:     a GrafPort<br>
                        shadowColor:     nil<br>
                <br>
                FormCanvas(Canvas)&gt;&gt;drawMorph:<br>
                    Receiver: a FormCanvas on:
                DisplayScreen(1113x867x32)<br>
                    Arguments and temporary variables: <br>
                        aMorph:     a TextMorphForEditView(975)<br>
                    Receiver&#39;s instance variables: <br>
                        target:     nil<br>
                        filterSelector:     nil<br>
                        origin:     80@436<br>
                        clipRect:     77@436 corner: 752@710<br>
                        form:     DisplayScreen(1113x867x32)<br>
                        port:     a GrafPort<br>
                        shadowColor:     nil<br>
                <br>
                [] in TextMorphForEditView(Morph)&gt;&gt;fullDrawOn:<br>
                    Receiver: a TextMorphForEditView(975)<br>
                    Arguments and temporary variables: <br>
                        aCanvas:     a FormCanvas on:
                DisplayScreen(1113x867x32)<br>
                    Receiver&#39;s instance variables: <br>
                        bounds:     0@0 corner: 669@450<br>
                        owner:     a TransformMorph(1921)<br>
                        submorphs:     #()<br>
                        fullBounds:     0@0 corner: 669@450<br>
                        color:     Color black<br>
                        extension:     a MorphExtension (1256) [other: 
                (errorOnDraw -&gt; true) (blinkStart -...etc...<br>
                        borderWidth:     0<br>
                        borderColor:     Color black<br>
                        textStyle:     a TextStyle Bitmap DejaVu Sans 9<br>
                        text:     a Text for &#39;evaluate: textOrStream
                cue: aCue ifFail: failBlock logged: lo...etc...<br>
                        wrapFlag:     true<br>
                        paragraph:     a MultiNewParagraph<br>
                        editor:     a SmalltalkEditor<br>
                        container:     nil<br>
                        predecessor:     nil<br>
                        successor:     nil<br>
                        backgroundColor:     nil<br>
                        margins:     nil<br>
                        editHistory:     nil<br>
                        editView:     a PluggableTextMorphPlus(3589)<br>
                        acceptOnCR:     false<br>
                <br>
                FormCanvas&gt;&gt;roundCornersOf:in:during:<br>
                    Receiver: a FormCanvas on:
                DisplayScreen(1113x867x32)<br>
                    Arguments and temporary variables: <br>
                        aMorph:     a TextMorphForEditView(975)<br>
                        bounds:     0@0 corner: 669@450<br>
                        aBlock:     [closure] in
                TextMorphForEditView(Morph)&gt;&gt;fullDrawOn:<br>
                    Receiver&#39;s instance variables: <br>
                        target:     nil<br>
                        filterSelector:     nil<br>
                        origin:     80@436<br>
                        clipRect:     77@436 corner: 752@710<br>
                        form:     DisplayScreen(1113x867x32)<br>
                        port:     a GrafPort<br>
                        shadowColor:     nil<br>
                <br>
                <br>
                --- The full stack ---<br>
                UndefinedObject(Object)&gt;&gt;error:<br>
                [] in WorldState&gt;&gt;displayWorldSafely:<br>
                BlockClosure&gt;&gt;cull:cull:<br>
                [] in BlockClosure&gt;&gt;ifError:<br>
                BlockClosure&gt;&gt;cull:<br>
                [] in MethodContext(ContextPart)&gt;&gt;handleSignal:<br>
                BlockClosure&gt;&gt;ensure:<br>
                MethodContext(ContextPart)&gt;&gt;handleSignal:<br>
                MessageNotUnderstood(Exception)&gt;&gt;signal<br>
                UndefinedObject(Object)&gt;&gt;doesNotUnderstand:
                #findBinaryIndex:ifNone:<br>
MultiNewParagraph(NewParagraph)&gt;&gt;fastFindFirstLineSuchThat:<br>
MultiNewParagraph(NewParagraph)&gt;&gt;lineIndexForPoint:<br>
                MultiNewParagraph&gt;&gt;displayOn:using:at:<br>
                FormCanvas&gt;&gt;paragraph:bounds:color:<br>
                TextMorphForEditView(TextMorph)&gt;&gt;drawOn:<br>
                FormCanvas(Canvas)&gt;&gt;draw:<br>
                FormCanvas(Canvas)&gt;&gt;drawMorph:<br>
                [] in TextMorphForEditView(Morph)&gt;&gt;fullDrawOn:<br>
                FormCanvas&gt;&gt;roundCornersOf:in:during:<br>
                 - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                - - - - -<br>
                FormCanvas(Canvas)&gt;&gt;roundCornersOf:during:<br>
                TextMorphForEditView(Morph)&gt;&gt;fullDrawOn:<br>
                FormCanvas(Canvas)&gt;&gt;fullDraw:<br>
                FormCanvas(Canvas)&gt;&gt;fullDrawMorph:<br>
                [] in [] in TransformMorph&gt;&gt;drawSubmorphsOn:<br>
                Array(SequenceableCollection)&gt;&gt;reverseDo:<br>
                [] in TransformMorph&gt;&gt;drawSubmorphsOn:<br>
FormCanvas&gt;&gt;transformBy:clippingTo:during:smoothing:<br>
                TransformMorph&gt;&gt;drawSubmorphsOn:<br>
                [] in TransformMorph(Morph)&gt;&gt;fullDrawOn:<br>
                FormCanvas&gt;&gt;roundCornersOf:in:during:<br>
                FormCanvas(Canvas)&gt;<br>
              </div>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      <pre></pre>
    </blockquote>
    <br>
  </div></div></div>

<br><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>