Re: [Pharo-project] [BUG]LargePositiveInteger(Object)>>error:

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] [BUG]LargePositiveInteger(Object)>>error:

Eliot Miranda-2
 
Hi All,

    I think I've found the reproducible case for the MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth: bug in the StackToRegisterMappingCogit.  The symptom may be  that the register arguments get shuffled incorrectly through an inline send miss.  Here's an example that produces an MNU every time:

| s a ca |
s := #(1 -1).
a := Array new: 2.
ca := ColorArray new: 2.
a replaceFrom: 1 to: 2 with: s.
ca replaceFrom: 1 to: 2 with: s.

I'll try and look at this this evening.

best
Eliot

On Tue, Jan 11, 2011 at 5:36 PM, Stuart Herring <[hidden email]> wrote:
It seems to be related to the VM.
To reproduce, just open a browser and save and quit.
Then opening the image with Cog r2344 or r2345 will result in this
error - it seems to be happening in the startup process.
If you debug it, the code that apparently causes the problem actually
works fine when manually invoked.

Earlier versions of Cog don't have this problem - r2316 works fine.
I'm using the standard 1.1.1 image on Linux (Omnibrowser is OB-Standard-lr.479)

Regards,
Stuart

On Wed, Jan 12, 2011 at 3:06 AM, Pat Maddox <[hidden email]> wrote:
> I used the public 1.1.1 oneclick
>
>
> On Jan 6, 2011, at 1:30 PM, Stéphane Ducasse wrote:
>
>> Thanks pat for the report.
>>
>> Now could you let us know if you loaded OB or if you used the public 1.1.1 oneclick?
>>
>> Stef
>>
>> On Jan 6, 2011, at 9:18 PM, Pat Maddox wrote:
>>
>>> I opened up an OmniBrowser and scrolled to the very bottom.  Then I clicked on my package name, and then a class name.
>>>
>>> 6 January 2011 12:12:44 pm
>>>
>>> VM: Mac OS - intel - 1065 - Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.43] Croquet Cog 3.0.0
>>> Image: Pharo-1.1.1-- [Latest update: #11414]
>>>
>>> SecurityManager state:
>>> Restricted: false
>>> FileAccess: true
>>> SocketAccess: true
>>> Working Dir /Users/padillac/code/pharo_image
>>> Trusted Dir /foobar/tooBar/forSqueak/bogus/
>>> Untrusted Dir /Users/padillac/Library/Preferences/Croquet/Internet/Untrusted
>>>
>>> LargePositiveInteger(Object)>>error:
>>>      Receiver: 4287876447
>>>      Arguments and temporary variables:
>>>              aString:        'MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:'
>>>      Receiver's instance variables:
>>> 4287876447
>>>
>>> [] in WorldState>>displayWorldSafely:
>>>      Receiver: a WorldState
>>>      Arguments and temporary variables:
>>>              err:    'MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:'
>>>              rcvr:   4287876447
>>>              errCtx:         OBLazyListMorph>>display:atRow:on:
>>>              errMorph:       an OBLazyListMorph(969408512)
>>>      Receiver's instance variables:
>>>              hands:  an Array(a HandMorph(843055104))
>>>              viewBox:        0@0 corner: 2552@1374
>>>              canvas:         a FormCanvas on: DisplayScreen(2552x1374x32)
>>>              damageRecorder:         a DamageRecorder
>>>              stepList:       a Heap(StepMessage(#stepAt: -> a SystemWindow(154664960))(a SystemWin...etc...
>>>              lastStepTime:   805471
>>>              lastStepMessage:        nil
>>>              lastCycleTime:  805463
>>>              commandHistory:         a CommandHistory
>>>              alarms:         a Heap()
>>>              lastAlarmTime:  805471
>>>              menuBuilder:    a PragmaMenuBuilder
>>>
>>> BlockClosure>>valueWithPossibleArgs:
>>>      Receiver: [:err :rcvr |
>>> | errCtx errMorph |
>>> errCtx := thisContext.
>>>      [errCtx := errCtx sender.
>>>      [err...etc...
>>>      Arguments and temporary variables:
>>>              anArray:        #('MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:' 42...etc...
>>>      Receiver's instance variables:
>>>              outerContext:   WorldState>>displayWorldSafely:
>>>              startpc:        73
>>>              numArgs:        2
>>>
>>> [] in BlockClosure>>ifError:
>>>      Receiver: [aWorld displayWorld]
>>>      Arguments and temporary variables:
>>>              errorHandlerBlock:      MessageNotUnderstood: LargePositiveInteger>>pixelValueForDep...etc...
>>>              ex:     [:err :rcvr |
>>> | errCtx errMorph |
>>> errCtx := thisContext.
>>>      [errCtx := errCt...etc...
>>>      Receiver's instance variables:
>>>              outerContext:   WorldState>>displayWorldSafely:
>>>              startpc:        66
>>>              numArgs:        0
>>>
>>> BlockClosure>>valueWithPossibleArgs:
>>>      Receiver: [:ex | errorHandlerBlock valueWithPossibleArgs: {ex description. ex receiver}]
>>>      Arguments and temporary variables:
>>>              anArray:        an Array(MessageNotUnderstood: LargePositiveInteger>>pixelValueForDept...etc...
>>>      Receiver's instance variables:
>>>              outerContext:   BlockClosure>>ifError:
>>>              startpc:        40
>>>              numArgs:        1
>>>
>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>      Receiver: BlockClosure>>on:do:
>>>      Arguments and temporary variables:
>>>              exception:      MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:
>>>      Receiver's instance variables:
>>>              sender:         BlockClosure>>ifError:
>>>              pc:     17
>>>              stackp:         3
>>>              method:         (BlockClosure>>#on:do: "a CompiledMethod(280231936)")
>>>              closureOrNil:   nil
>>>              receiver:       [aWorld displayWorld]
>>>
>>> BlockClosure>>ensure:
>>>      Receiver: [(self tempAt: 2)
>>>              valueWithPossibleArgs: {exception}]
>>>      Arguments and temporary variables:
>>>              aBlock:         [self tempAt: 3 put: true]
>>>              complete:       nil
>>>              returnValue:    nil
>>>      Receiver's instance variables:
>>>              outerContext:   MethodContext(ContextPart)>>handleSignal:
>>>              startpc:        90
>>>              numArgs:        0
>>>
>>> MethodContext(ContextPart)>>handleSignal:
>>>      Receiver: BlockClosure>>on:do:
>>>      Arguments and temporary variables:
>>>              exception:      MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:
>>>              val:    nil
>>>      Receiver's instance variables:
>>>              sender:         BlockClosure>>ifError:
>>>              pc:     17
>>>              stackp:         3
>>>              method:         (BlockClosure>>#on:do: "a CompiledMethod(280231936)")
>>>              closureOrNil:   nil
>>>              receiver:       [aWorld displayWorld]
>>>
>>> MessageNotUnderstood(Exception)>>signal
>>>      Receiver: MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:
>>>      Arguments and temporary variables:
>>>
>>>      Receiver's instance variables:
>>>              messageText:    nil
>>>              tag:    nil
>>>              signalContext:  MessageNotUnderstood(Exception)>>signal
>>>              handlerContext:         BlockClosure>>on:do:
>>>              outerContext:   nil
>>>              message:        pixelValueForDepth: 32
>>>              receiver:       4287876447
>>>              reachedDefaultHandler:  false
>>>
>>> LargePositiveInteger(Object)>>doesNotUnderstand: #pixelValueForDepth:
>>>      Receiver: 4287876447
>>>      Arguments and temporary variables:
>>>              aMessage:       pixelValueForDepth: 32
>>>              exception:      MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:
>>>              resumeValue:    nil
>>>      Receiver's instance variables:
>>> 4287876447
>>>
>>> ColorForm>>colormapIfNeededForDepth:
>>>      Receiver: ColorForm(12x12x8)
>>>      Arguments and temporary variables:
>>>              destDepth:      32
>>>              newMap:         a Bitmap of length 256
>>>              i:      3
>>>              iLimiT:         256
>>>      Receiver's instance variables:
>>>              bits:   #[36 29 11 7 11 10 10 11 9 11 95 10 9 9 10 11 11 11 11 11 11 11 10 9 0 8 ...etc...
>>>              width:  12
>>>              height:         12
>>>              depth:  8
>>>              offset:         0@0
>>>              colors:         a ColorArray((Color r: 0.572 g: 0.804 b: 0.369) (Color r: 0.564 g: 0.76...etc...
>>>              cachedDepth:    nil
>>>              cachedColormap:         nil
>>>
>>> ColorForm>>colormapIfNeededFor:
>>>      Receiver: ColorForm(12x12x8)
>>>      Arguments and temporary variables:
>>>              destForm:       DisplayScreen(2552x1374x32)
>>>              newMap:         nil
>>>              color:  nil
>>>              pv:     nil
>>>              i:      nil
>>>              iLimiT:         nil
>>>      Receiver's instance variables:
>>>              bits:   #[36 29 11 7 11 10 10 11 9 11 95 10 9 9 10 11 11 11 11 11 11 11 10 9 0 8 ...etc...
>>>              width:  12
>>>              height:         12
>>>              depth:  8
>>>              offset:         0@0
>>>              colors:         a ColorArray((Color r: 0.572 g: 0.804 b: 0.369) (Color r: 0.564 g: 0.76...etc...
>>>              cachedDepth:    nil
>>>              cachedColormap:         nil
>>>
>>> FormCanvas>>image:at:sourceRect:rule:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aForm:  ColorForm(12x12x8)
>>>              aPoint:         0@15
>>>              sourceRect:     0@0 corner: 12@12
>>>              rule:   24
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> FormCanvas(Canvas)>>translucentImage:at:sourceRect:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aForm:  ColorForm(12x12x8)
>>>              aPoint:         0@15
>>>              sourceRect:     0@0 corner: 12@12
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> FormCanvas(Canvas)>>translucentImage:at:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aForm:  ColorForm(12x12x8)
>>>              aPoint:         0@15
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> OBLazyListMorph>>display:atRow:on:
>>>      Receiver: an OBLazyListMorph(969408512)
>>>      Arguments and temporary variables:
>>>              item:   #renderContentOn:
>>>              row:    2
>>>              canvas:         a FormCanvas on: DisplayScreen(2552x1374x32)
>>>              drawBounds:     0@14 corner: 190@28
>>>              top:    15
>>>              icon:   ColorForm(12x12x8)
>>>              name:   #arrowUp
>>>      Receiver's instance variables:
>>>              bounds:         0@0 corner: 190@42
>>>              owner:  a TransformMorph(743702528)
>>>              submorphs:      #()
>>>              fullBounds:     0@0 corner: 190@42
>>>              color:  Color black
>>>              extension:      a MorphExtension (970981376) [other:  (errorOnDraw -> true)]
>>>              listItems:      #(#callbackUrlOn:callback: #renderContentOn: nil)
>>>              font:   a StrikeFont(Bitmap DejaVu Sans 9 14)
>>>              selectedRow:    0
>>>              selectedRows:   a PluggableSet()
>>>              listSource:     an OBPluggableListMorph(155189248)
>>>              maxWidth:       136
>>>
>>> OBLazyListMorph(LazyListMorph)>>drawOn:
>>>      Receiver: an OBLazyListMorph(969408512)
>>>      Arguments and temporary variables:
>>>              aCanvas:        a FormCanvas on: DisplayScreen(2552x1374x32)
>>>              row:    2
>>>              rowLimiT:       3
>>>      Receiver's instance variables:
>>>              bounds:         0@0 corner: 190@42
>>>              owner:  a TransformMorph(743702528)
>>>              submorphs:      #()
>>>              fullBounds:     0@0 corner: 190@42
>>>              color:  Color black
>>>              extension:      a MorphExtension (970981376) [other:  (errorOnDraw -> true)]
>>>              listItems:      #(#callbackUrlOn:callback: #renderContentOn: nil)
>>>              font:   a StrikeFont(Bitmap DejaVu Sans 9 14)
>>>              selectedRow:    0
>>>              selectedRows:   a PluggableSet()
>>>              listSource:     an OBPluggableListMorph(155189248)
>>>              maxWidth:       136
>>>
>>> FormCanvas(Canvas)>>draw:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              anObject:       an OBLazyListMorph(969408512)
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> FormCanvas(Canvas)>>drawMorph:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aMorph:         an OBLazyListMorph(969408512)
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> [] in OBLazyListMorph(Morph)>>fullDrawOn:
>>>      Receiver: an OBLazyListMorph(969408512)
>>>      Arguments and temporary variables:
>>>              aCanvas:        a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         0@0 corner: 190@42
>>>              owner:  a TransformMorph(743702528)
>>>              submorphs:      #()
>>>              fullBounds:     0@0 corner: 190@42
>>>              color:  Color black
>>>              extension:      a MorphExtension (970981376) [other:  (errorOnDraw -> true)]
>>>              listItems:      #(#callbackUrlOn:callback: #renderContentOn: nil)
>>>              font:   a StrikeFont(Bitmap DejaVu Sans 9 14)
>>>              selectedRow:    0
>>>              selectedRows:   a PluggableSet()
>>>              listSource:     an OBPluggableListMorph(155189248)
>>>              maxWidth:       136
>>>
>>> FormCanvas>>roundCornersOf:in:during:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aMorph:         an OBLazyListMorph(969408512)
>>>              bounds:         0@0 corner: 190@42
>>>              aBlock:         [(aCanvas isVisible: self bounds)
>>>              ifTrue: [aCanvas drawMorph: self].
>>> ...etc...
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aMorph:         an OBLazyListMorph(969408512)
>>>              aBlock:         [(aCanvas isVisible: self bounds)
>>>              ifTrue: [aCanvas drawMorph: self].
>>> ...etc...
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> OBLazyListMorph(Morph)>>fullDrawOn:
>>>      Receiver: an OBLazyListMorph(969408512)
>>>      Arguments and temporary variables:
>>>              aCanvas:        a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         0@0 corner: 190@42
>>>              owner:  a TransformMorph(743702528)
>>>              submorphs:      #()
>>>              fullBounds:     0@0 corner: 190@42
>>>              color:  Color black
>>>              extension:      a MorphExtension (970981376) [other:  (errorOnDraw -> true)]
>>>              listItems:      #(#callbackUrlOn:callback: #renderContentOn: nil)
>>>              font:   a StrikeFont(Bitmap DejaVu Sans 9 14)
>>>              selectedRow:    0
>>>              selectedRows:   a PluggableSet()
>>>              listSource:     an OBPluggableListMorph(155189248)
>>>              maxWidth:       136
>>>
>>> FormCanvas(Canvas)>>fullDraw:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              anObject:       an OBLazyListMorph(969408512)
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aMorph:         an OBLazyListMorph(969408512)
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> [] in [] in TransformMorph>>drawSubmorphsOn:
>>>      Receiver: a TransformMorph(743702528)
>>>      Arguments and temporary variables:
>>>              myCanvas:       an OBLazyListMorph(969408512)
>>>              m:      a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         520@0 corner: 690@213
>>>              owner:  an OBPluggableListMorph(155189248)
>>>              submorphs:      an Array(an OBLazyListMorph(969408512))
>>>              fullBounds:     520@0 corner: 690@213
>>>              color:  Color transparent
>>>              extension:      a MorphExtension (745537536)
>>>              transform:      a MorphicTransform(angle = 0.0; scale = 1.0; offset = -523@0)
>>>              smoothing:      1
>>>              localBounds:    nil
>>>
>>> Array(SequenceableCollection)>>reverseDo:
>>>      Receiver: an Array(an OBLazyListMorph(969408512))
>>>      Arguments and temporary variables:
>>>              aBlock:         [:m | myCanvas fullDrawMorph: m]
>>>              index:  1
>>>      Receiver's instance variables:
>>> an Array(an OBLazyListMorph(969408512))
>>>
>>> [] in TransformMorph>>drawSubmorphsOn:
>>>      Receiver: a TransformMorph(743702528)
>>>      Arguments and temporary variables:
>>>              myCanvas:       a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         520@0 corner: 690@213
>>>              owner:  an OBPluggableListMorph(155189248)
>>>              submorphs:      an Array(an OBLazyListMorph(969408512))
>>>              fullBounds:     520@0 corner: 690@213
>>>              color:  Color transparent
>>>              extension:      a MorphExtension (745537536)
>>>              transform:      a MorphicTransform(angle = 0.0; scale = 1.0; offset = -523@0)
>>>              smoothing:      1
>>>              localBounds:    nil
>>>
>>> FormCanvas>>transformBy:clippingTo:during:smoothing:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aDisplayTransform:      a MorphicTransform(angle = 0.0; scale = 1.0; offset = -523@0...etc...
>>>              aClipRect:      520@0 corner: 690@213
>>>              aBlock:         [:myCanvas | (self angle ~= 0.0
>>>                      or: [self scale ~= 1.0])
>>>              ifTrue: [...etc...
>>>              cellSize:       1
>>>              innerRect:      nil
>>>              patchRect:      nil
>>>              sourceQuad:     nil
>>>              warp:   nil
>>>              start:  nil
>>>              subCanvas:      nil
>>>              rule:   nil
>>>              i:      nil
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         1844@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> TransformMorph>>drawSubmorphsOn:
>>>      Receiver: a TransformMorph(743702528)
>>>      Arguments and temporary variables:
>>>              aCanvas:        a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         520@0 corner: 690@213
>>>              owner:  an OBPluggableListMorph(155189248)
>>>              submorphs:      an Array(an OBLazyListMorph(969408512))
>>>              fullBounds:     520@0 corner: 690@213
>>>              color:  Color transparent
>>>              extension:      a MorphExtension (745537536)
>>>              transform:      a MorphicTransform(angle = 0.0; scale = 1.0; offset = -523@0)
>>>              smoothing:      1
>>>              localBounds:    nil
>>>
>>> [] in TransformMorph(Morph)>>fullDrawOn:
>>>      Receiver: a TransformMorph(743702528)
>>>      Arguments and temporary variables:
>>>              aCanvas:        a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         520@0 corner: 690@213
>>>              owner:  an OBPluggableListMorph(155189248)
>>>              submorphs:      an Array(an OBLazyListMorph(969408512))
>>>              fullBounds:     520@0 corner: 690@213
>>>              color:  Color transparent
>>>              extension:      a MorphExtension (745537536)
>>>              transform:      a MorphicTransform(angle = 0.0; scale = 1.0; offset = -523@0)
>>>              smoothing:      1
>>>              localBounds:    nil
>>>
>>> FormCanvas>>roundCornersOf:in:during:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aMorph:         a TransformMorph(743702528)
>>>              bounds:         520@0 corner: 690@213
>>>              aBlock:         [(aCanvas isVisible: self bounds)
>>>              ifTrue: [aCanvas drawMorph: self].
>>> ...etc...
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         1844@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aMorph:         a TransformMorph(743702528)
>>>              aBlock:         [(aCanvas isVisible: self bounds)
>>>              ifTrue: [aCanvas drawMorph: self].
>>> ...etc...
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         1844@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> TransformMorph(Morph)>>fullDrawOn:
>>>      Receiver: a TransformMorph(743702528)
>>>      Arguments and temporary variables:
>>>              aCanvas:        a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         520@0 corner: 690@213
>>>              owner:  an OBPluggableListMorph(155189248)
>>>              submorphs:      an Array(an OBLazyListMorph(969408512))
>>>              fullBounds:     520@0 corner: 690@213
>>>              color:  Color transparent
>>>              extension:      a MorphExtension (745537536)
>>>              transform:      a MorphicTransform(angle = 0.0; scale = 1.0; offset = -523@0)
>>>              smoothing:      1
>>>              localBounds:    nil
>>>
>>> FormCanvas(Canvas)>>fullDraw:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              anObject:       a TransformMorph(743702528)
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         1844@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aMorph:         a TransformMorph(743702528)
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         1844@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> [] in [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>>>      Receiver: an OBPluggableListMorph(155189248)
>>>      Arguments and temporary variables:
>>>              canvas:         a TransformMorph(743702528)
>>>              m:      a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         520@0 corner: 690@213
>>>              owner:  an OBPane(127401984)
>>>              submorphs:      an Array(a TransformMorph(743702528))
>>>              fullBounds:     520@0 corner: 690@213
>>>              color:  Color white
>>>              extension:      a MorphExtension (132644864) [other:  (dragEnabled -> true) (dropEna...etc...
>>>              borderWidth:    0
>>>              borderColor:    Color black
>>>              model:  an OBColumn()
>>>              slotName:       nil
>>>              open:   false
>>>              scrollBar:      a ScrollBar(161742848)
>>>              scroller:       a TransformMorph(743702528)
>>>              retractableScrollBar:   false
>>>              scrollBarOnLeft:        false
>>>              getMenuSelector:        #menu:
>>>              getMenuTitleSelector:   nil
>>>              hasFocus:       false
>>>              hScrollBar:     a ScrollBar(990642176)
>>>              list:   nil
>>>              getListSelector:        #list
>>>              getListSizeSelector:    #listSize
>>>              getListElementSelector:         #listAt:
>>>              getIndexSelector:       #selection
>>>              setIndexSelector:       #selection:
>>>              keystrokeActionSelector:        #keystroke:from:
>>>              autoDeselect:   false
>>>              lastKeystrokeTime:      0
>>>              lastKeystrokes:         ''
>>>              doubleClickSelector:    #doubleClick
>>>              handlesBasicKeys:       nil
>>>              potentialDropRow:       nil
>>>              listMorph:      an OBLazyListMorph(969408512)
>>>              hScrollRangeCache:      nil
>>>
>>> Array(SequenceableCollection)>>reverseDo:
>>>      Receiver: an Array(a TransformMorph(743702528))
>>>      Arguments and temporary variables:
>>>              aBlock:         [:m | canvas fullDrawMorph: m]
>>>              index:  1
>>>      Receiver's instance variables:
>>> an Array(a TransformMorph(743702528))
>>>
>>> [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>>>      Receiver: an OBPluggableListMorph(155189248)
>>>      Arguments and temporary variables:
>>>              canvas:         a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         520@0 corner: 690@213
>>>              owner:  an OBPane(127401984)
>>>              submorphs:      an Array(a TransformMorph(743702528))
>>>              fullBounds:     520@0 corner: 690@213
>>>              color:  Color white
>>>              extension:      a MorphExtension (132644864) [other:  (dragEnabled -> true) (dropEna...etc...
>>>              borderWidth:    0
>>>              borderColor:    Color black
>>>              model:  an OBColumn()
>>>              slotName:       nil
>>>              open:   false
>>>              scrollBar:      a ScrollBar(161742848)
>>>              scroller:       a TransformMorph(743702528)
>>>              retractableScrollBar:   false
>>>              scrollBarOnLeft:        false
>>>              getMenuSelector:        #menu:
>>>              getMenuTitleSelector:   nil
>>>              hasFocus:       false
>>>              hScrollBar:     a ScrollBar(990642176)
>>>              list:   nil
>>>              getListSelector:        #list
>>>              getListSizeSelector:    #listSize
>>>              getListElementSelector:         #listAt:
>>>              getIndexSelector:       #selection
>>>              setIndexSelector:       #selection:
>>>              keystrokeActionSelector:        #keystroke:from:
>>>              autoDeselect:   false
>>>              lastKeystrokeTime:      0
>>>              lastKeystrokes:         ''
>>>              doubleClickSelector:    #doubleClick
>>>              handlesBasicKeys:       nil
>>>              potentialDropRow:       nil
>>>              listMorph:      an OBLazyListMorph(969408512)
>>>              hScrollRangeCache:      nil
>>>
>>>
>>> --- The full stack ---
>>> LargePositiveInteger(Object)>>error:
>>> [] in WorldState>>displayWorldSafely:
>>> BlockClosure>>valueWithPossibleArgs:
>>> [] in BlockClosure>>ifError:
>>> BlockClosure>>valueWithPossibleArgs:
>>> [] in MethodContext(ContextPart)>>handleSignal:
>>> BlockClosure>>ensure:
>>> MethodContext(ContextPart)>>handleSignal:
>>> MessageNotUnderstood(Exception)>>signal
>>> LargePositiveInteger(Object)>>doesNotUnderstand: #pixelValueForDepth:
>>> ColorForm>>colormapIfNeededForDepth:
>>> ColorForm>>colormapIfNeededFor:
>>> FormCanvas>>image:at:sourceRect:rule:
>>> FormCanvas(Canvas)>>translucentImage:at:sourceRect:
>>> FormCanvas(Canvas)>>translucentImage:at:
>>> OBLazyListMorph>>display:atRow:on:
>>> OBLazyListMorph(LazyListMorph)>>drawOn:
>>> FormCanvas(Canvas)>>draw:
>>> FormCanvas(Canvas)>>drawMorph:
>>> [] in OBLazyListMorph(Morph)>>fullDrawOn:
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> OBLazyListMorph(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)>>roundCornersOf:during:
>>> TransformMorph(Morph)>>fullDrawOn:
>>> FormCanvas(Canvas)>>fullDraw:
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>> [] in [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>>> Array(SequenceableCollection)>>reverseDo:
>>> [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>>> - - - - - - - - - - - - - - -
>>>                      - - - - - - - - - - - - - - - - - -
>>> OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>>> OBPluggableListMorph(PluggableListMorph)>>drawSubmorphsOn:
>>> [] in OBPluggableListMorph(Morph)>>fullDrawOn:
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> OBPluggableListMorph(Morph)>>fullDrawOn:
>>> FormCanvas(Canvas)>>fullDraw:
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>> [] in [] in OBPane(Morph)>>drawSubmorphsOn:
>>> Array(SequenceableCollection)>>reverseDo:
>>> [] in OBPane(Morph)>>drawSubmorphsOn:
>>> FormCanvas>>clipBy:during:
>>> OBPane(Morph)>>drawSubmorphsOn:
>>> [] in OBPane(Morph)>>fullDrawOn:
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> OBPane(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)>>roundCornersOf:during:
>>> TransformMorph(Morph)>>fullDrawOn:
>>> FormCanvas(Canvas)>>fullDraw:
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>> [] in [] in OBPaneScroller(Morph)>>drawSubmorphsOn:
>>> Array(SequenceableCollection)>>reverseDo:
>>> [] in OBPaneScroller(Morph)>>drawSubmorphsOn:
>>> OBPaneScroller(Morph)>>drawSubmorphsOn:
>>> [] in OBPaneScroller(Morph)>>fullDrawOn:
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> OBPaneScroller(Morph)>>fullDrawOn:
>>> FormCanvas(Canvas)>>fullDraw:
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>> [] in [] in OBGroupingMorph(Morph)>>drawSubmorphsOn:
>>> Array(SequenceableCollection)>>reverseDo:
>>> [] in OBGroupingMorph(Morph)>>drawSubmorphsOn:
>>> OBGroupingMorph(Morph)>>drawSubmorphsOn:
>>> [] in OBGroupingMorph(Morph)>>fullDrawOn:
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> OBGroupingMorph(Morph)>>fullDrawOn:
>>> FormCanvas(Canvas)>>fullDraw:
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>> [] in [] in SystemWindow(Morph)>>drawSubmorphsOn:
>>> Array(SequenceableCollection)>>reverseDo:
>>> [] in SystemWindow(Morph)>>drawSubmorphsOn:
>>> FormCanvas>>clipBy:during:
>>> SystemWindow(Morph)>>drawSubmorphsOn:
>>> [] in SystemWindow(Morph)>>fullDrawOn:
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> SystemWindow(Morph)>>fullDrawOn:
>>> FormCanvas(Canvas)>>fullDraw:
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>> [] in [] in WorldState>>drawWorld:submorphs:invalidAreasOn:
>>> Rectangle>>allAreasOutsideList:startingAt:do:
>>> Rectangle>>allAreasOutsideList:do:
>>> [] in WorldState>>drawWorld:submorphs:invalidAreasOn:
>>> Array(SequenceableCollection)>>do:
>>> WorldState>>drawWorld:submorphs:invalidAreasOn:
>>> [] in WorldState>>displayWorld:submorphs:
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> WorldState>>displayWorld:submorphs:
>>> PasteUpMorph>>privateOuterDisplayWorld
>>> PasteUpMorph>>displayWorld
>>> [] in WorldState>>displayWorldSafely:
>>> BlockClosure>>on:do:
>>> BlockClosure>>ifError:
>>> WorldState>>displayWorldSafely:
>>> WorldState>>doOneCycleNowFor:
>>> WorldState>>doOneCycleFor:
>>> PasteUpMorph>>doOneCycle
>>> [] in Project class>>spawnNewProcess
>>> [] in BlockClosure>>newProcess
>>>
>>
>>
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: [Pharo-project] [BUG]LargePositiveInteger(Object)>>error:

Eliot Miranda-2
 
Ignore me.  I'm deluded.  The below should of course produce an error.  Sorry for the noise.

best
Eliot

On Wed, Jan 12, 2011 at 3:52 PM, Eliot Miranda <[hidden email]> wrote:
Hi All,

    I think I've found the reproducible case for the MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth: bug in the StackToRegisterMappingCogit.  The symptom may be  that the register arguments get shuffled incorrectly through an inline send miss.  Here's an example that produces an MNU every time:

| s a ca |
s := #(1 -1).
a := Array new: 2.
ca := ColorArray new: 2.
a replaceFrom: 1 to: 2 with: s.
ca replaceFrom: 1 to: 2 with: s.

I'll try and look at this this evening.

best
Eliot

On Tue, Jan 11, 2011 at 5:36 PM, Stuart Herring <[hidden email]> wrote:
It seems to be related to the VM.
To reproduce, just open a browser and save and quit.
Then opening the image with Cog r2344 or r2345 will result in this
error - it seems to be happening in the startup process.
If you debug it, the code that apparently causes the problem actually
works fine when manually invoked.

Earlier versions of Cog don't have this problem - r2316 works fine.
I'm using the standard 1.1.1 image on Linux (Omnibrowser is OB-Standard-lr.479)

Regards,
Stuart

On Wed, Jan 12, 2011 at 3:06 AM, Pat Maddox <[hidden email]> wrote:
> I used the public 1.1.1 oneclick
>
>
> On Jan 6, 2011, at 1:30 PM, Stéphane Ducasse wrote:
>
>> Thanks pat for the report.
>>
>> Now could you let us know if you loaded OB or if you used the public 1.1.1 oneclick?
>>
>> Stef
>>
>> On Jan 6, 2011, at 9:18 PM, Pat Maddox wrote:
>>
>>> I opened up an OmniBrowser and scrolled to the very bottom.  Then I clicked on my package name, and then a class name.
>>>
>>> 6 January 2011 12:12:44 pm
>>>
>>> VM: Mac OS - intel - 1065 - Croquet Closure Cog VM [CoInterpreter VMMaker-oscog.43] Croquet Cog 3.0.0
>>> Image: Pharo-1.1.1-- [Latest update: #11414]
>>>
>>> SecurityManager state:
>>> Restricted: false
>>> FileAccess: true
>>> SocketAccess: true
>>> Working Dir /Users/padillac/code/pharo_image
>>> Trusted Dir /foobar/tooBar/forSqueak/bogus/
>>> Untrusted Dir /Users/padillac/Library/Preferences/Croquet/Internet/Untrusted
>>>
>>> LargePositiveInteger(Object)>>error:
>>>      Receiver: 4287876447
>>>      Arguments and temporary variables:
>>>              aString:        'MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:'
>>>      Receiver's instance variables:
>>> 4287876447
>>>
>>> [] in WorldState>>displayWorldSafely:
>>>      Receiver: a WorldState
>>>      Arguments and temporary variables:
>>>              err:    'MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:'
>>>              rcvr:   4287876447
>>>              errCtx:         OBLazyListMorph>>display:atRow:on:
>>>              errMorph:       an OBLazyListMorph(969408512)
>>>      Receiver's instance variables:
>>>              hands:  an Array(a HandMorph(843055104))
>>>              viewBox:        0@0 corner: 2552@1374
>>>              canvas:         a FormCanvas on: DisplayScreen(2552x1374x32)
>>>              damageRecorder:         a DamageRecorder
>>>              stepList:       a Heap(StepMessage(#stepAt: -> a SystemWindow(154664960))(a SystemWin...etc...
>>>              lastStepTime:   805471
>>>              lastStepMessage:        nil
>>>              lastCycleTime:  805463
>>>              commandHistory:         a CommandHistory
>>>              alarms:         a Heap()
>>>              lastAlarmTime:  805471
>>>              menuBuilder:    a PragmaMenuBuilder
>>>
>>> BlockClosure>>valueWithPossibleArgs:
>>>      Receiver: [:err :rcvr |
>>> | errCtx errMorph |
>>> errCtx := thisContext.
>>>      [errCtx := errCtx sender.
>>>      [err...etc...
>>>      Arguments and temporary variables:
>>>              anArray:        #('MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:' 42...etc...
>>>      Receiver's instance variables:
>>>              outerContext:   WorldState>>displayWorldSafely:
>>>              startpc:        73
>>>              numArgs:        2
>>>
>>> [] in BlockClosure>>ifError:
>>>      Receiver: [aWorld displayWorld]
>>>      Arguments and temporary variables:
>>>              errorHandlerBlock:      MessageNotUnderstood: LargePositiveInteger>>pixelValueForDep...etc...
>>>              ex:     [:err :rcvr |
>>> | errCtx errMorph |
>>> errCtx := thisContext.
>>>      [errCtx := errCt...etc...
>>>      Receiver's instance variables:
>>>              outerContext:   WorldState>>displayWorldSafely:
>>>              startpc:        66
>>>              numArgs:        0
>>>
>>> BlockClosure>>valueWithPossibleArgs:
>>>      Receiver: [:ex | errorHandlerBlock valueWithPossibleArgs: {ex description. ex receiver}]
>>>      Arguments and temporary variables:
>>>              anArray:        an Array(MessageNotUnderstood: LargePositiveInteger>>pixelValueForDept...etc...
>>>      Receiver's instance variables:
>>>              outerContext:   BlockClosure>>ifError:
>>>              startpc:        40
>>>              numArgs:        1
>>>
>>> [] in MethodContext(ContextPart)>>handleSignal:
>>>      Receiver: BlockClosure>>on:do:
>>>      Arguments and temporary variables:
>>>              exception:      MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:
>>>      Receiver's instance variables:
>>>              sender:         BlockClosure>>ifError:
>>>              pc:     17
>>>              stackp:         3
>>>              method:         (BlockClosure>>#on:do: "a CompiledMethod(280231936)")
>>>              closureOrNil:   nil
>>>              receiver:       [aWorld displayWorld]
>>>
>>> BlockClosure>>ensure:
>>>      Receiver: [(self tempAt: 2)
>>>              valueWithPossibleArgs: {exception}]
>>>      Arguments and temporary variables:
>>>              aBlock:         [self tempAt: 3 put: true]
>>>              complete:       nil
>>>              returnValue:    nil
>>>      Receiver's instance variables:
>>>              outerContext:   MethodContext(ContextPart)>>handleSignal:
>>>              startpc:        90
>>>              numArgs:        0
>>>
>>> MethodContext(ContextPart)>>handleSignal:
>>>      Receiver: BlockClosure>>on:do:
>>>      Arguments and temporary variables:
>>>              exception:      MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:
>>>              val:    nil
>>>      Receiver's instance variables:
>>>              sender:         BlockClosure>>ifError:
>>>              pc:     17
>>>              stackp:         3
>>>              method:         (BlockClosure>>#on:do: "a CompiledMethod(280231936)")
>>>              closureOrNil:   nil
>>>              receiver:       [aWorld displayWorld]
>>>
>>> MessageNotUnderstood(Exception)>>signal
>>>      Receiver: MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:
>>>      Arguments and temporary variables:
>>>
>>>      Receiver's instance variables:
>>>              messageText:    nil
>>>              tag:    nil
>>>              signalContext:  MessageNotUnderstood(Exception)>>signal
>>>              handlerContext:         BlockClosure>>on:do:
>>>              outerContext:   nil
>>>              message:        pixelValueForDepth: 32
>>>              receiver:       4287876447
>>>              reachedDefaultHandler:  false
>>>
>>> LargePositiveInteger(Object)>>doesNotUnderstand: #pixelValueForDepth:
>>>      Receiver: 4287876447
>>>      Arguments and temporary variables:
>>>              aMessage:       pixelValueForDepth: 32
>>>              exception:      MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:
>>>              resumeValue:    nil
>>>      Receiver's instance variables:
>>> 4287876447
>>>
>>> ColorForm>>colormapIfNeededForDepth:
>>>      Receiver: ColorForm(12x12x8)
>>>      Arguments and temporary variables:
>>>              destDepth:      32
>>>              newMap:         a Bitmap of length 256
>>>              i:      3
>>>              iLimiT:         256
>>>      Receiver's instance variables:
>>>              bits:   #[36 29 11 7 11 10 10 11 9 11 95 10 9 9 10 11 11 11 11 11 11 11 10 9 0 8 ...etc...
>>>              width:  12
>>>              height:         12
>>>              depth:  8
>>>              offset:         0@0
>>>              colors:         a ColorArray((Color r: 0.572 g: 0.804 b: 0.369) (Color r: 0.564 g: 0.76...etc...
>>>              cachedDepth:    nil
>>>              cachedColormap:         nil
>>>
>>> ColorForm>>colormapIfNeededFor:
>>>      Receiver: ColorForm(12x12x8)
>>>      Arguments and temporary variables:
>>>              destForm:       DisplayScreen(2552x1374x32)
>>>              newMap:         nil
>>>              color:  nil
>>>              pv:     nil
>>>              i:      nil
>>>              iLimiT:         nil
>>>      Receiver's instance variables:
>>>              bits:   #[36 29 11 7 11 10 10 11 9 11 95 10 9 9 10 11 11 11 11 11 11 11 10 9 0 8 ...etc...
>>>              width:  12
>>>              height:         12
>>>              depth:  8
>>>              offset:         0@0
>>>              colors:         a ColorArray((Color r: 0.572 g: 0.804 b: 0.369) (Color r: 0.564 g: 0.76...etc...
>>>              cachedDepth:    nil
>>>              cachedColormap:         nil
>>>
>>> FormCanvas>>image:at:sourceRect:rule:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aForm:  ColorForm(12x12x8)
>>>              aPoint:         0@15
>>>              sourceRect:     0@0 corner: 12@12
>>>              rule:   24
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> FormCanvas(Canvas)>>translucentImage:at:sourceRect:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aForm:  ColorForm(12x12x8)
>>>              aPoint:         0@15
>>>              sourceRect:     0@0 corner: 12@12
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> FormCanvas(Canvas)>>translucentImage:at:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aForm:  ColorForm(12x12x8)
>>>              aPoint:         0@15
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> OBLazyListMorph>>display:atRow:on:
>>>      Receiver: an OBLazyListMorph(969408512)
>>>      Arguments and temporary variables:
>>>              item:   #renderContentOn:
>>>              row:    2
>>>              canvas:         a FormCanvas on: DisplayScreen(2552x1374x32)
>>>              drawBounds:     0@14 corner: 190@28
>>>              top:    15
>>>              icon:   ColorForm(12x12x8)
>>>              name:   #arrowUp
>>>      Receiver's instance variables:
>>>              bounds:         0@0 corner: 190@42
>>>              owner:  a TransformMorph(743702528)
>>>              submorphs:      #()
>>>              fullBounds:     0@0 corner: 190@42
>>>              color:  Color black
>>>              extension:      a MorphExtension (970981376) [other:  (errorOnDraw -> true)]
>>>              listItems:      #(#callbackUrlOn:callback: #renderContentOn: nil)
>>>              font:   a StrikeFont(Bitmap DejaVu Sans 9 14)
>>>              selectedRow:    0
>>>              selectedRows:   a PluggableSet()
>>>              listSource:     an OBPluggableListMorph(155189248)
>>>              maxWidth:       136
>>>
>>> OBLazyListMorph(LazyListMorph)>>drawOn:
>>>      Receiver: an OBLazyListMorph(969408512)
>>>      Arguments and temporary variables:
>>>              aCanvas:        a FormCanvas on: DisplayScreen(2552x1374x32)
>>>              row:    2
>>>              rowLimiT:       3
>>>      Receiver's instance variables:
>>>              bounds:         0@0 corner: 190@42
>>>              owner:  a TransformMorph(743702528)
>>>              submorphs:      #()
>>>              fullBounds:     0@0 corner: 190@42
>>>              color:  Color black
>>>              extension:      a MorphExtension (970981376) [other:  (errorOnDraw -> true)]
>>>              listItems:      #(#callbackUrlOn:callback: #renderContentOn: nil)
>>>              font:   a StrikeFont(Bitmap DejaVu Sans 9 14)
>>>              selectedRow:    0
>>>              selectedRows:   a PluggableSet()
>>>              listSource:     an OBPluggableListMorph(155189248)
>>>              maxWidth:       136
>>>
>>> FormCanvas(Canvas)>>draw:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              anObject:       an OBLazyListMorph(969408512)
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> FormCanvas(Canvas)>>drawMorph:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aMorph:         an OBLazyListMorph(969408512)
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> [] in OBLazyListMorph(Morph)>>fullDrawOn:
>>>      Receiver: an OBLazyListMorph(969408512)
>>>      Arguments and temporary variables:
>>>              aCanvas:        a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         0@0 corner: 190@42
>>>              owner:  a TransformMorph(743702528)
>>>              submorphs:      #()
>>>              fullBounds:     0@0 corner: 190@42
>>>              color:  Color black
>>>              extension:      a MorphExtension (970981376) [other:  (errorOnDraw -> true)]
>>>              listItems:      #(#callbackUrlOn:callback: #renderContentOn: nil)
>>>              font:   a StrikeFont(Bitmap DejaVu Sans 9 14)
>>>              selectedRow:    0
>>>              selectedRows:   a PluggableSet()
>>>              listSource:     an OBPluggableListMorph(155189248)
>>>              maxWidth:       136
>>>
>>> FormCanvas>>roundCornersOf:in:during:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aMorph:         an OBLazyListMorph(969408512)
>>>              bounds:         0@0 corner: 190@42
>>>              aBlock:         [(aCanvas isVisible: self bounds)
>>>              ifTrue: [aCanvas drawMorph: self].
>>> ...etc...
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aMorph:         an OBLazyListMorph(969408512)
>>>              aBlock:         [(aCanvas isVisible: self bounds)
>>>              ifTrue: [aCanvas drawMorph: self].
>>> ...etc...
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> OBLazyListMorph(Morph)>>fullDrawOn:
>>>      Receiver: an OBLazyListMorph(969408512)
>>>      Arguments and temporary variables:
>>>              aCanvas:        a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         0@0 corner: 190@42
>>>              owner:  a TransformMorph(743702528)
>>>              submorphs:      #()
>>>              fullBounds:     0@0 corner: 190@42
>>>              color:  Color black
>>>              extension:      a MorphExtension (970981376) [other:  (errorOnDraw -> true)]
>>>              listItems:      #(#callbackUrlOn:callback: #renderContentOn: nil)
>>>              font:   a StrikeFont(Bitmap DejaVu Sans 9 14)
>>>              selectedRow:    0
>>>              selectedRows:   a PluggableSet()
>>>              listSource:     an OBPluggableListMorph(155189248)
>>>              maxWidth:       136
>>>
>>> FormCanvas(Canvas)>>fullDraw:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              anObject:       an OBLazyListMorph(969408512)
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aMorph:         an OBLazyListMorph(969408512)
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         2367@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> [] in [] in TransformMorph>>drawSubmorphsOn:
>>>      Receiver: a TransformMorph(743702528)
>>>      Arguments and temporary variables:
>>>              myCanvas:       an OBLazyListMorph(969408512)
>>>              m:      a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         520@0 corner: 690@213
>>>              owner:  an OBPluggableListMorph(155189248)
>>>              submorphs:      an Array(an OBLazyListMorph(969408512))
>>>              fullBounds:     520@0 corner: 690@213
>>>              color:  Color transparent
>>>              extension:      a MorphExtension (745537536)
>>>              transform:      a MorphicTransform(angle = 0.0; scale = 1.0; offset = -523@0)
>>>              smoothing:      1
>>>              localBounds:    nil
>>>
>>> Array(SequenceableCollection)>>reverseDo:
>>>      Receiver: an Array(an OBLazyListMorph(969408512))
>>>      Arguments and temporary variables:
>>>              aBlock:         [:m | myCanvas fullDrawMorph: m]
>>>              index:  1
>>>      Receiver's instance variables:
>>> an Array(an OBLazyListMorph(969408512))
>>>
>>> [] in TransformMorph>>drawSubmorphsOn:
>>>      Receiver: a TransformMorph(743702528)
>>>      Arguments and temporary variables:
>>>              myCanvas:       a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         520@0 corner: 690@213
>>>              owner:  an OBPluggableListMorph(155189248)
>>>              submorphs:      an Array(an OBLazyListMorph(969408512))
>>>              fullBounds:     520@0 corner: 690@213
>>>              color:  Color transparent
>>>              extension:      a MorphExtension (745537536)
>>>              transform:      a MorphicTransform(angle = 0.0; scale = 1.0; offset = -523@0)
>>>              smoothing:      1
>>>              localBounds:    nil
>>>
>>> FormCanvas>>transformBy:clippingTo:during:smoothing:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aDisplayTransform:      a MorphicTransform(angle = 0.0; scale = 1.0; offset = -523@0...etc...
>>>              aClipRect:      520@0 corner: 690@213
>>>              aBlock:         [:myCanvas | (self angle ~= 0.0
>>>                      or: [self scale ~= 1.0])
>>>              ifTrue: [...etc...
>>>              cellSize:       1
>>>              innerRect:      nil
>>>              patchRect:      nil
>>>              sourceQuad:     nil
>>>              warp:   nil
>>>              start:  nil
>>>              subCanvas:      nil
>>>              rule:   nil
>>>              i:      nil
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         1844@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> TransformMorph>>drawSubmorphsOn:
>>>      Receiver: a TransformMorph(743702528)
>>>      Arguments and temporary variables:
>>>              aCanvas:        a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         520@0 corner: 690@213
>>>              owner:  an OBPluggableListMorph(155189248)
>>>              submorphs:      an Array(an OBLazyListMorph(969408512))
>>>              fullBounds:     520@0 corner: 690@213
>>>              color:  Color transparent
>>>              extension:      a MorphExtension (745537536)
>>>              transform:      a MorphicTransform(angle = 0.0; scale = 1.0; offset = -523@0)
>>>              smoothing:      1
>>>              localBounds:    nil
>>>
>>> [] in TransformMorph(Morph)>>fullDrawOn:
>>>      Receiver: a TransformMorph(743702528)
>>>      Arguments and temporary variables:
>>>              aCanvas:        a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         520@0 corner: 690@213
>>>              owner:  an OBPluggableListMorph(155189248)
>>>              submorphs:      an Array(an OBLazyListMorph(969408512))
>>>              fullBounds:     520@0 corner: 690@213
>>>              color:  Color transparent
>>>              extension:      a MorphExtension (745537536)
>>>              transform:      a MorphicTransform(angle = 0.0; scale = 1.0; offset = -523@0)
>>>              smoothing:      1
>>>              localBounds:    nil
>>>
>>> FormCanvas>>roundCornersOf:in:during:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aMorph:         a TransformMorph(743702528)
>>>              bounds:         520@0 corner: 690@213
>>>              aBlock:         [(aCanvas isVisible: self bounds)
>>>              ifTrue: [aCanvas drawMorph: self].
>>> ...etc...
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         1844@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aMorph:         a TransformMorph(743702528)
>>>              aBlock:         [(aCanvas isVisible: self bounds)
>>>              ifTrue: [aCanvas drawMorph: self].
>>> ...etc...
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         1844@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> TransformMorph(Morph)>>fullDrawOn:
>>>      Receiver: a TransformMorph(743702528)
>>>      Arguments and temporary variables:
>>>              aCanvas:        a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         520@0 corner: 690@213
>>>              owner:  an OBPluggableListMorph(155189248)
>>>              submorphs:      an Array(an OBLazyListMorph(969408512))
>>>              fullBounds:     520@0 corner: 690@213
>>>              color:  Color transparent
>>>              extension:      a MorphExtension (745537536)
>>>              transform:      a MorphicTransform(angle = 0.0; scale = 1.0; offset = -523@0)
>>>              smoothing:      1
>>>              localBounds:    nil
>>>
>>> FormCanvas(Canvas)>>fullDraw:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              anObject:       a TransformMorph(743702528)
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         1844@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>>      Receiver: a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Arguments and temporary variables:
>>>              aMorph:         a TransformMorph(743702528)
>>>      Receiver's instance variables:
>>>              target:         nil
>>>              filterSelector:         nil
>>>              origin:         1844@187
>>>              clipRect:       2364@187 corner: 2534@400
>>>              form:   DisplayScreen(2552x1374x32)
>>>              port:   a GrafPort
>>>              shadowColor:    nil
>>>
>>> [] in [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>>>      Receiver: an OBPluggableListMorph(155189248)
>>>      Arguments and temporary variables:
>>>              canvas:         a TransformMorph(743702528)
>>>              m:      a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         520@0 corner: 690@213
>>>              owner:  an OBPane(127401984)
>>>              submorphs:      an Array(a TransformMorph(743702528))
>>>              fullBounds:     520@0 corner: 690@213
>>>              color:  Color white
>>>              extension:      a MorphExtension (132644864) [other:  (dragEnabled -> true) (dropEna...etc...
>>>              borderWidth:    0
>>>              borderColor:    Color black
>>>              model:  an OBColumn()
>>>              slotName:       nil
>>>              open:   false
>>>              scrollBar:      a ScrollBar(161742848)
>>>              scroller:       a TransformMorph(743702528)
>>>              retractableScrollBar:   false
>>>              scrollBarOnLeft:        false
>>>              getMenuSelector:        #menu:
>>>              getMenuTitleSelector:   nil
>>>              hasFocus:       false
>>>              hScrollBar:     a ScrollBar(990642176)
>>>              list:   nil
>>>              getListSelector:        #list
>>>              getListSizeSelector:    #listSize
>>>              getListElementSelector:         #listAt:
>>>              getIndexSelector:       #selection
>>>              setIndexSelector:       #selection:
>>>              keystrokeActionSelector:        #keystroke:from:
>>>              autoDeselect:   false
>>>              lastKeystrokeTime:      0
>>>              lastKeystrokes:         ''
>>>              doubleClickSelector:    #doubleClick
>>>              handlesBasicKeys:       nil
>>>              potentialDropRow:       nil
>>>              listMorph:      an OBLazyListMorph(969408512)
>>>              hScrollRangeCache:      nil
>>>
>>> Array(SequenceableCollection)>>reverseDo:
>>>      Receiver: an Array(a TransformMorph(743702528))
>>>      Arguments and temporary variables:
>>>              aBlock:         [:m | canvas fullDrawMorph: m]
>>>              index:  1
>>>      Receiver's instance variables:
>>> an Array(a TransformMorph(743702528))
>>>
>>> [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>>>      Receiver: an OBPluggableListMorph(155189248)
>>>      Arguments and temporary variables:
>>>              canvas:         a FormCanvas on: DisplayScreen(2552x1374x32)
>>>      Receiver's instance variables:
>>>              bounds:         520@0 corner: 690@213
>>>              owner:  an OBPane(127401984)
>>>              submorphs:      an Array(a TransformMorph(743702528))
>>>              fullBounds:     520@0 corner: 690@213
>>>              color:  Color white
>>>              extension:      a MorphExtension (132644864) [other:  (dragEnabled -> true) (dropEna...etc...
>>>              borderWidth:    0
>>>              borderColor:    Color black
>>>              model:  an OBColumn()
>>>              slotName:       nil
>>>              open:   false
>>>              scrollBar:      a ScrollBar(161742848)
>>>              scroller:       a TransformMorph(743702528)
>>>              retractableScrollBar:   false
>>>              scrollBarOnLeft:        false
>>>              getMenuSelector:        #menu:
>>>              getMenuTitleSelector:   nil
>>>              hasFocus:       false
>>>              hScrollBar:     a ScrollBar(990642176)
>>>              list:   nil
>>>              getListSelector:        #list
>>>              getListSizeSelector:    #listSize
>>>              getListElementSelector:         #listAt:
>>>              getIndexSelector:       #selection
>>>              setIndexSelector:       #selection:
>>>              keystrokeActionSelector:        #keystroke:from:
>>>              autoDeselect:   false
>>>              lastKeystrokeTime:      0
>>>              lastKeystrokes:         ''
>>>              doubleClickSelector:    #doubleClick
>>>              handlesBasicKeys:       nil
>>>              potentialDropRow:       nil
>>>              listMorph:      an OBLazyListMorph(969408512)
>>>              hScrollRangeCache:      nil
>>>
>>>
>>> --- The full stack ---
>>> LargePositiveInteger(Object)>>error:
>>> [] in WorldState>>displayWorldSafely:
>>> BlockClosure>>valueWithPossibleArgs:
>>> [] in BlockClosure>>ifError:
>>> BlockClosure>>valueWithPossibleArgs:
>>> [] in MethodContext(ContextPart)>>handleSignal:
>>> BlockClosure>>ensure:
>>> MethodContext(ContextPart)>>handleSignal:
>>> MessageNotUnderstood(Exception)>>signal
>>> LargePositiveInteger(Object)>>doesNotUnderstand: #pixelValueForDepth:
>>> ColorForm>>colormapIfNeededForDepth:
>>> ColorForm>>colormapIfNeededFor:
>>> FormCanvas>>image:at:sourceRect:rule:
>>> FormCanvas(Canvas)>>translucentImage:at:sourceRect:
>>> FormCanvas(Canvas)>>translucentImage:at:
>>> OBLazyListMorph>>display:atRow:on:
>>> OBLazyListMorph(LazyListMorph)>>drawOn:
>>> FormCanvas(Canvas)>>draw:
>>> FormCanvas(Canvas)>>drawMorph:
>>> [] in OBLazyListMorph(Morph)>>fullDrawOn:
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> OBLazyListMorph(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)>>roundCornersOf:during:
>>> TransformMorph(Morph)>>fullDrawOn:
>>> FormCanvas(Canvas)>>fullDraw:
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>> [] in [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>>> Array(SequenceableCollection)>>reverseDo:
>>> [] in OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>>> - - - - - - - - - - - - - - -
>>>                      - - - - - - - - - - - - - - - - - -
>>> OBPluggableListMorph(Morph)>>drawSubmorphsOn:
>>> OBPluggableListMorph(PluggableListMorph)>>drawSubmorphsOn:
>>> [] in OBPluggableListMorph(Morph)>>fullDrawOn:
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> OBPluggableListMorph(Morph)>>fullDrawOn:
>>> FormCanvas(Canvas)>>fullDraw:
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>> [] in [] in OBPane(Morph)>>drawSubmorphsOn:
>>> Array(SequenceableCollection)>>reverseDo:
>>> [] in OBPane(Morph)>>drawSubmorphsOn:
>>> FormCanvas>>clipBy:during:
>>> OBPane(Morph)>>drawSubmorphsOn:
>>> [] in OBPane(Morph)>>fullDrawOn:
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> OBPane(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)>>roundCornersOf:during:
>>> TransformMorph(Morph)>>fullDrawOn:
>>> FormCanvas(Canvas)>>fullDraw:
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>> [] in [] in OBPaneScroller(Morph)>>drawSubmorphsOn:
>>> Array(SequenceableCollection)>>reverseDo:
>>> [] in OBPaneScroller(Morph)>>drawSubmorphsOn:
>>> OBPaneScroller(Morph)>>drawSubmorphsOn:
>>> [] in OBPaneScroller(Morph)>>fullDrawOn:
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> OBPaneScroller(Morph)>>fullDrawOn:
>>> FormCanvas(Canvas)>>fullDraw:
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>> [] in [] in OBGroupingMorph(Morph)>>drawSubmorphsOn:
>>> Array(SequenceableCollection)>>reverseDo:
>>> [] in OBGroupingMorph(Morph)>>drawSubmorphsOn:
>>> OBGroupingMorph(Morph)>>drawSubmorphsOn:
>>> [] in OBGroupingMorph(Morph)>>fullDrawOn:
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> OBGroupingMorph(Morph)>>fullDrawOn:
>>> FormCanvas(Canvas)>>fullDraw:
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>> [] in [] in SystemWindow(Morph)>>drawSubmorphsOn:
>>> Array(SequenceableCollection)>>reverseDo:
>>> [] in SystemWindow(Morph)>>drawSubmorphsOn:
>>> FormCanvas>>clipBy:during:
>>> SystemWindow(Morph)>>drawSubmorphsOn:
>>> [] in SystemWindow(Morph)>>fullDrawOn:
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> SystemWindow(Morph)>>fullDrawOn:
>>> FormCanvas(Canvas)>>fullDraw:
>>> FormCanvas(Canvas)>>fullDrawMorph:
>>> [] in [] in WorldState>>drawWorld:submorphs:invalidAreasOn:
>>> Rectangle>>allAreasOutsideList:startingAt:do:
>>> Rectangle>>allAreasOutsideList:do:
>>> [] in WorldState>>drawWorld:submorphs:invalidAreasOn:
>>> Array(SequenceableCollection)>>do:
>>> WorldState>>drawWorld:submorphs:invalidAreasOn:
>>> [] in WorldState>>displayWorld:submorphs:
>>> FormCanvas>>roundCornersOf:in:during:
>>> FormCanvas(Canvas)>>roundCornersOf:during:
>>> WorldState>>displayWorld:submorphs:
>>> PasteUpMorph>>privateOuterDisplayWorld
>>> PasteUpMorph>>displayWorld
>>> [] in WorldState>>displayWorldSafely:
>>> BlockClosure>>on:do:
>>> BlockClosure>>ifError:
>>> WorldState>>displayWorldSafely:
>>> WorldState>>doOneCycleNowFor:
>>> WorldState>>doOneCycleFor:
>>> PasteUpMorph>>doOneCycle
>>> [] in Project class>>spawnNewProcess
>>> [] in BlockClosure>>newProcess
>>>
>>
>>
>
>
>