[squeak-dev] Morphic yellow cross of death
Bob Arning
arning315 at comcast.net
Tue Sep 17 00:55:20 UTC 2013
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/20130916/4de4c95a/attachment.htm
More information about the Squeak-dev
mailing list
|