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