strange test failure

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

strange test failure

Chris Muller-3
One of the tests only fails in Cog, with a very strange phenomena.

It's easy to reproduce with the line of code from the test:

     ObjectsTool initializedInstance showAll openCenteredInWorld

the strange part is in the passing of the "(colors at: i)" argument
from ColorForm>>colormapIfNeededForDepth:.  As you can see in the
stack trace below (or in debugger from above expression), the third
element is definitely an instance of Color.

Yet, the message ends up being sent to a LargePositiveInteger,
4278192128 to be exact.

 - Chris



Subject: [BUG]LargePositiveInteger(Object)>>doesNotUnderstand:
#pixelValueForDepth:
19 January 2011 7:59:01.819 pm

VM: unix - Smalltalk
Image: Squeak4.2alpha [latest update: #10910]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true

LargePositiveInteger(Object)>>doesNotUnderstand: #pixelValueForDepth:
        Receiver: 4278192128
        Arguments and temporary variables:
                aMessage: pixelValueForDepth: 32
                exception: MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:
                resumeValue: nil
        Receiver's instance variables:
4278192128

ColorForm>>colormapIfNeededForDepth:
        Receiver: ColorForm(52x29x8)
        Arguments and temporary variables:
                destDepth: 32
                newMap: a Bitmap of length 256
                i: 3
                iLimiT: 256
        Receiver's instance variables:
                bits: #[225 121 17 227 23 227 219 212 205 189 188 174 187 185 156
164 156 157 1...etc...
                width: 52
                height: 29
                depth: 8
                offset: 0@0
                colors: a ColorArray(Color transparent (Color r: 0.0 g: 0.0 b:
0.031) (Color r:...etc...
                cachedDepth: nil
                cachedColormap: nil

ColorForm>>colormapIfNeededFor:
        Receiver: ColorForm(52x29x8)
        Arguments and temporary variables:
                destForm: Form(212x49x32)
                newMap: nil
                color: nil
                pv: nil
                i: nil
                iLimiT: nil
        Receiver's instance variables:
                bits: #[225 121 17 227 23 227 219 212 205 189 188 174 187 185 156
164 156 157 1...etc...
                width: 52
                height: 29
                depth: 8
                offset: 0@0
                colors: a ColorArray(Color transparent (Color r: 0.0 g: 0.0 b:
0.031) (Color r:...etc...
                cachedDepth: nil
                cachedColormap: nil

FormCanvas>>image:at:sourceRect:rule:
        Receiver: a FormCanvas on: Form(212x49x32)
        Arguments and temporary variables:
                aForm: ColorForm(52x29x8)
                aPoint: 131@10
                sourceRect: 0@0 corner: 52@29
                rule: 24
        Receiver's instance variables:
                target: nil
                filterSelector: nil
                origin: 0@0
                clipRect: 0@0 corner: 212@49
                form: Form(212x49x32)
                port: a GrafPort
                shadowColor: nil

FormCanvas(Canvas)>>translucentImage:at:sourceRect:
        Receiver: a FormCanvas on: Form(212x49x32)
        Arguments and temporary variables:
                aForm: ColorForm(52x29x8)
                aPoint: 131@10
                sourceRect: 0@0 corner: 52@29
        Receiver's instance variables:
                target: nil
                filterSelector: nil
                origin: 0@0
                clipRect: 0@0 corner: 212@49
                form: Form(212x49x32)
                port: a GrafPort
                shadowColor: nil

FormCanvas(Canvas)>>translucentImage:at:
        Receiver: a FormCanvas on: Form(212x49x32)
        Arguments and temporary variables:
                aForm: ColorForm(52x29x8)
                aPoint: 131@10
        Receiver's instance variables:
                target: nil
                filterSelector: nil
                origin: 0@0
                clipRect: 0@0 corner: 212@49
                form: Form(212x49x32)
                port: a GrafPort
                shadowColor: nil

ThreePhaseButtonMorph>>drawOn:
        Receiver: 3PButton(#goUp:with: 3545)
        Arguments and temporary variables:
                aCanvas: a FormCanvas on: Form(212x49x32)
        Receiver's instance variables:
                bounds: 131@10 corner: 183@39
                owner: an AlignmentMorph<script controls>(2589)
                submorphs: #()
                fullBounds: 131@10 corner: 183@39
                color: Color blue
                extension: a MorphExtension (3716) [balloonText]  [externalName =
Go Button ]
                image: ColorForm(52x29x8)
                offImage: ColorForm(52x29x8)
                pressedImage: ColorForm(52x29x8)
                state: #off
                target: a StandardScriptingSystem
                actionSelector: #goUp:with:
                arguments: {nil . 3PButton(#goUp:with: 3545)}
                actWhen: #buttonUp

FormCanvas(Canvas)>>draw:
        Receiver: a FormCanvas on: Form(212x49x32)
        Arguments and temporary variables:
                anObject: 3PButton(#goUp:with: 3545)
        Receiver's instance variables:
                target: nil
                filterSelector: nil
                origin: 0@0
                clipRect: 0@0 corner: 212@49
                form: Form(212x49x32)
                port: a GrafPort
                shadowColor: nil

FormCanvas(Canvas)>>drawMorph:
        Receiver: a FormCanvas on: Form(212x49x32)
        Arguments and temporary variables:
                aMorph: 3PButton(#goUp:with: 3545)
        Receiver's instance variables:
                target: nil
                filterSelector: nil
                origin: 0@0
                clipRect: 0@0 corner: 212@49
                form: Form(212x49x32)
                port: a GrafPort
                shadowColor: nil

[] in ThreePhaseButtonMorph(Morph)>>fullDrawOn:
        Receiver: 3PButton(#goUp:with: 3545)
        Arguments and temporary variables:
                aCanvas: a FormCanvas on: Form(212x49x32)
        Receiver's instance variables:
                bounds: 131@10 corner: 183@39
                owner: an AlignmentMorph<script controls>(2589)
                submorphs: #()
                fullBounds: 131@10 corner: 183@39
                color: Color blue
                extension: a MorphExtension (3716) [balloonText]  [externalName =
Go Button ]
                image: ColorForm(52x29x8)
                offImage: ColorForm(52x29x8)
                pressedImage: ColorForm(52x29x8)
                state: #off
                target: a StandardScriptingSystem
                actionSelector: #goUp:with:
                arguments: {nil . 3PButton(#goUp:with: 3545)}
                actWhen: #buttonUp

FormCanvas>>roundCornersOf:in:during:
        Receiver: a FormCanvas on: Form(212x49x32)
        Arguments and temporary variables:
                aMorph: 3PButton(#goUp:with: 3545)
                bounds: 131@10 corner: 183@39
                aBlock: [closure] in ThreePhaseButtonMorph(Morph)>>fullDrawOn:
        Receiver's instance variables:
                target: nil
                filterSelector: nil
                origin: 0@0
                clipRect: 0@0 corner: 212@49
                form: Form(212x49x32)
                port: a GrafPort
                shadowColor: nil

FormCanvas(Canvas)>>roundCornersOf:during:
        Receiver: a FormCanvas on: Form(212x49x32)
        Arguments and temporary variables:
                aMorph: 3PButton(#goUp:with: 3545)
                aBlock: [closure] in ThreePhaseButtonMorph(Morph)>>fullDrawOn:
        Receiver's instance variables:
                target: nil
                filterSelector: nil
                origin: 0@0
                clipRect: 0@0 corner: 212@49
                form: Form(212x49x32)
                port: a GrafPort
                shadowColor: nil

ThreePhaseButtonMorph(Morph)>>fullDrawOn:
        Receiver: 3PButton(#goUp:with: 3545)
        Arguments and temporary variables:
                aCanvas: a FormCanvas on: Form(212x49x32)
        Receiver's instance variables:
                bounds: 131@10 corner: 183@39
                owner: an AlignmentMorph<script controls>(2589)
                submorphs: #()
                fullBounds: 131@10 corner: 183@39
                color: Color blue
                extension: a MorphExtension (3716) [balloonText]  [externalName =
Go Button ]
                image: ColorForm(52x29x8)
                offImage: ColorForm(52x29x8)
                pressedImage: ColorForm(52x29x8)
                state: #off
                target: a StandardScriptingSystem
                actionSelector: #goUp:with:
                arguments: {nil . 3PButton(#goUp:with: 3545)}
                actWhen: #buttonUp

FormCanvas(Canvas)>>fullDraw:
        Receiver: a FormCanvas on: Form(212x49x32)
        Arguments and temporary variables:
                anObject: 3PButton(#goUp:with: 3545)
        Receiver's instance variables:
                target: nil
                filterSelector: nil
                origin: 0@0
                clipRect: 0@0 corner: 212@49
                form: Form(212x49x32)
                port: a GrafPort
                shadowColor: nil

FormCanvas(Canvas)>>fullDrawMorph:
        Receiver: a FormCanvas on: Form(212x49x32)
        Arguments and temporary variables:
                aMorph: 3PButton(#goUp:with: 3545)
        Receiver's instance variables:
                target: nil
                filterSelector: nil
                origin: 0@0
                clipRect: 0@0 corner: 212@49
                form: Form(212x49x32)
                port: a GrafPort
                shadowColor: nil

[] in [] in AlignmentMorph(Morph)>>drawSubmorphsOn:
        Receiver: an AlignmentMorph<script controls>(2589)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 25@8 corner: 185@41
                owner: an AlignmentMorph(1206)
                submorphs: {3PButton(#stopUp:with: 2931) .
3PButton(#stepStillDown:with: 3201) ...etc...
                fullBounds: 25@8 corner: 185@41
                color: Color transparent
                extension: a MorphExtension (2601) [externalName = script controls
]  [other:  ...etc...
                borderWidth: 0
                borderColor: Color black

Array(SequenceableCollection)>>reverseDo:
        Receiver: {3PButton(#stopUp:with: 2931) .
3PButton(#stepStillDown:with: 3201) . 3PButton(#goUp:with:...etc...
        Arguments and temporary variables:
                aBlock: [closure] in [] in AlignmentMorph(Morph)>>drawSubmorphsOn:
                index: 3
        Receiver's instance variables:
{3PButton(#stopUp:with: 2931) . 3PButton(#stepStillDown:with: 3201) .
3PButton(#goUp:with:...etc...

[] in AlignmentMorph(Morph)>>drawSubmorphsOn:
        Receiver: an AlignmentMorph<script controls>(2589)
        Arguments and temporary variables:
<<error during printing>
        Receiver's instance variables:
                bounds: 25@8 corner: 185@41
                owner: an AlignmentMorph(1206)
                submorphs: {3PButton(#stopUp:with: 2931) .
3PButton(#stepStillDown:with: 3201) ...etc...
                fullBounds: 25@8 corner: 185@41
                color: Color transparent
                extension: a MorphExtension (2601) [externalName = script controls
]  [other:  ...etc...
                borderWidth: 0
                borderColor: Color black

AlignmentMorph(Morph)>>drawSubmorphsOn:
        Receiver: an AlignmentMorph<script controls>(2589)
        Arguments and temporary variables:
                aCanvas: a FormCanvas on: Form(212x49x32)
                drawBlock: [closure] in AlignmentMorph(Morph)>>drawSubmorphsOn:
        Receiver's instance variables:
                bounds: 25@8 corner: 185@41
                owner: an AlignmentMorph(1206)
                submorphs: {3PButton(#stopUp:with: 2931) .
3PButton(#stepStillDown:with: 3201) ...etc...
                fullBounds: 25@8 corner: 185@41
                color: Color transparent
                extension: a MorphExtension (2601) [externalName = script controls
]  [other:  ...etc...
                borderWidth: 0
                borderColor: Color black


--- The full stack ---
LargePositiveInteger(Object)>>doesNotUnderstand: #pixelValueForDepth:
ColorForm>>colormapIfNeededForDepth:
ColorForm>>colormapIfNeededFor:
FormCanvas>>image:at:sourceRect:rule:
FormCanvas(Canvas)>>translucentImage:at:sourceRect:
FormCanvas(Canvas)>>translucentImage:at:
ThreePhaseButtonMorph>>drawOn:
FormCanvas(Canvas)>>draw:
FormCanvas(Canvas)>>drawMorph:
[] in ThreePhaseButtonMorph(Morph)>>fullDrawOn:
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
ThreePhaseButtonMorph(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in [] in AlignmentMorph(Morph)>>drawSubmorphsOn:
Array(SequenceableCollection)>>reverseDo:
[] in AlignmentMorph(Morph)>>drawSubmorphsOn:
AlignmentMorph(Morph)>>drawSubmorphsOn:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[] in AlignmentMorph(Morph)>>fullDrawOn:
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
AlignmentMorph(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in [] in AlignmentMorph(Morph)>>drawSubmorphsOn:
Array(SequenceableCollection)>>reverseDo:
[] in AlignmentMorph(Morph)>>drawSubmorphsOn:
AlignmentMorph(Morph)>>drawSubmorphsOn:
[] in AlignmentMorph(Morph)>>fullDrawOn:
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
AlignmentMorph(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in [] in AllScriptsTool(Morph)>>drawSubmorphsOn:
Array(SequenceableCollection)>>reverseDo:
[] in AllScriptsTool(Morph)>>drawSubmorphsOn:
AllScriptsTool(Morph)>>drawSubmorphsOn:
[] in AllScriptsTool(Morph)>>fullDrawOn:
CornerRounder class>>roundCornersOf:on:in:displayBlock:borderWidth:corners:
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
AllScriptsTool(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in AllScriptsTool(Morph)>>imageForm:backgroundColor:forRectangle:
FormCanvas>>translateBy:during:
AllScriptsTool(Morph)>>imageForm:backgroundColor:forRectangle:
PartsBin class>>thumbnailForQuad:color:
[] in PartsBin>>listDirection:quadList:buttonClass:
SortedCollection(OrderedCollection)>>do:
PartsBin>>listDirection:quadList:buttonClass:
PartsBin>>listDirection:quadList:
ObjectsTool>>installQuads:fromButton:
[] in ObjectsTool>>showAll
BlockClosure>>ensure:
CursorWithMask(Cursor)>>showWhile:
ObjectsTool>>showAll
MorphicUIBugTest class>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:logged:
-- and more not shown --

Reply | Threaded
Open this post in threaded view
|

Re: strange test failure

Eliot Miranda-2
Hi Chris,

On Thu, Jan 20, 2011 at 8:55 AM, Chris Muller <[hidden email]> wrote:
One of the tests only fails in Cog, with a very strange phenomena.

It's easy to reproduce with the line of code from the test:

    ObjectsTool initializedInstance showAll openCenteredInWorld

the strange part is in the passing of the "(colors at: i)" argument
from ColorForm>>colormapIfNeededForDepth:.  As you can see in the
stack trace below (or in debugger from above expression), the third
element is definitely an instance of Color.

Yet, the message ends up being sent to a LargePositiveInteger,
4278192128 to be exact.

This bug is understood and fixed in my sources and I'll roll out new VMs over the weekend.  The bug is the result of the ColorArray leaking into the VM's atCache which means that later on it responds to at: in the Interpreter using the at: primitive that answers the integer value in the ColorArray without converting the value into a color.  This was a regression introduced when I fixed the objects-as-methods issues late last year.  Thanks to Matthew Fulmer for creating the reproducible case.

best
Eliot

 - Chris



Subject: [BUG]LargePositiveInteger(Object)>>doesNotUnderstand:
#pixelValueForDepth:
19 January 2011 7:59:01.819 pm

VM: unix - Smalltalk
Image: Squeak4.2alpha [latest update: #10910]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true

LargePositiveInteger(Object)>>doesNotUnderstand: #pixelValueForDepth:
       Receiver: 4278192128
       Arguments and temporary variables:
               aMessage:       pixelValueForDepth: 32
               exception:      MessageNotUnderstood: LargePositiveInteger>>pixelValueForDepth:
               resumeValue:    nil
       Receiver's instance variables:
4278192128

ColorForm>>colormapIfNeededForDepth:
       Receiver: ColorForm(52x29x8)
       Arguments and temporary variables:
               destDepth:      32
               newMap:         a Bitmap of length 256
               i:      3
               iLimiT:         256
       Receiver's instance variables:
               bits:   #[225 121 17 227 23 227 219 212 205 189 188 174 187 185 156
164 156 157 1...etc...
               width:  52
               height:         29
               depth:  8
               offset:         0@0
               colors:         a ColorArray(Color transparent (Color r: 0.0 g: 0.0 b:
0.031) (Color r:...etc...
               cachedDepth:    nil
               cachedColormap:         nil

ColorForm>>colormapIfNeededFor:
       Receiver: ColorForm(52x29x8)
       Arguments and temporary variables:
               destForm:       Form(212x49x32)
               newMap:         nil
               color:  nil
               pv:     nil
               i:      nil
               iLimiT:         nil
       Receiver's instance variables:
               bits:   #[225 121 17 227 23 227 219 212 205 189 188 174 187 185 156
164 156 157 1...etc...
               width:  52
               height:         29
               depth:  8
               offset:         0@0
               colors:         a ColorArray(Color transparent (Color r: 0.0 g: 0.0 b:
0.031) (Color r:...etc...
               cachedDepth:    nil
               cachedColormap:         nil

FormCanvas>>image:at:sourceRect:rule:
       Receiver: a FormCanvas on: Form(212x49x32)
       Arguments and temporary variables:
               aForm:  ColorForm(52x29x8)
               aPoint:         131@10
               sourceRect:     0@0 corner: 52@29
               rule:   24
       Receiver's instance variables:
               target:         nil
               filterSelector:         nil
               origin:         0@0
               clipRect:       0@0 corner: 212@49
               form:   Form(212x49x32)
               port:   a GrafPort
               shadowColor:    nil

FormCanvas(Canvas)>>translucentImage:at:sourceRect:
       Receiver: a FormCanvas on: Form(212x49x32)
       Arguments and temporary variables:
               aForm:  ColorForm(52x29x8)
               aPoint:         131@10
               sourceRect:     0@0 corner: 52@29
       Receiver's instance variables:
               target:         nil
               filterSelector:         nil
               origin:         0@0
               clipRect:       0@0 corner: 212@49
               form:   Form(212x49x32)
               port:   a GrafPort
               shadowColor:    nil

FormCanvas(Canvas)>>translucentImage:at:
       Receiver: a FormCanvas on: Form(212x49x32)
       Arguments and temporary variables:
               aForm:  ColorForm(52x29x8)
               aPoint:         131@10
       Receiver's instance variables:
               target:         nil
               filterSelector:         nil
               origin:         0@0
               clipRect:       0@0 corner: 212@49
               form:   Form(212x49x32)
               port:   a GrafPort
               shadowColor:    nil

ThreePhaseButtonMorph>>drawOn:
       Receiver: 3PButton(#goUp:with: 3545)
       Arguments and temporary variables:
               aCanvas:        a FormCanvas on: Form(212x49x32)
       Receiver's instance variables:
               bounds:         131@10 corner: 183@39
               owner:  an AlignmentMorph<script controls>(2589)
               submorphs:      #()
               fullBounds:     131@10 corner: 183@39
               color:  Color blue
               extension:      a MorphExtension (3716) [balloonText]  [externalName =
Go Button ]
               image:  ColorForm(52x29x8)
               offImage:       ColorForm(52x29x8)
               pressedImage:   ColorForm(52x29x8)
               state:  #off
               target:         a StandardScriptingSystem
               actionSelector:         #goUp:with:
               arguments:      {nil . 3PButton(#goUp:with: 3545)}
               actWhen:        #buttonUp

FormCanvas(Canvas)>>draw:
       Receiver: a FormCanvas on: Form(212x49x32)
       Arguments and temporary variables:
               anObject:       3PButton(#goUp:with: 3545)
       Receiver's instance variables:
               target:         nil
               filterSelector:         nil
               origin:         0@0
               clipRect:       0@0 corner: 212@49
               form:   Form(212x49x32)
               port:   a GrafPort
               shadowColor:    nil

FormCanvas(Canvas)>>drawMorph:
       Receiver: a FormCanvas on: Form(212x49x32)
       Arguments and temporary variables:
               aMorph:         3PButton(#goUp:with: 3545)
       Receiver's instance variables:
               target:         nil
               filterSelector:         nil
               origin:         0@0
               clipRect:       0@0 corner: 212@49
               form:   Form(212x49x32)
               port:   a GrafPort
               shadowColor:    nil

[] in ThreePhaseButtonMorph(Morph)>>fullDrawOn:
       Receiver: 3PButton(#goUp:with: 3545)
       Arguments and temporary variables:
               aCanvas:        a FormCanvas on: Form(212x49x32)
       Receiver's instance variables:
               bounds:         131@10 corner: 183@39
               owner:  an AlignmentMorph<script controls>(2589)
               submorphs:      #()
               fullBounds:     131@10 corner: 183@39
               color:  Color blue
               extension:      a MorphExtension (3716) [balloonText]  [externalName =
Go Button ]
               image:  ColorForm(52x29x8)
               offImage:       ColorForm(52x29x8)
               pressedImage:   ColorForm(52x29x8)
               state:  #off
               target:         a StandardScriptingSystem
               actionSelector:         #goUp:with:
               arguments:      {nil . 3PButton(#goUp:with: 3545)}
               actWhen:        #buttonUp

FormCanvas>>roundCornersOf:in:during:
       Receiver: a FormCanvas on: Form(212x49x32)
       Arguments and temporary variables:
               aMorph:         3PButton(#goUp:with: 3545)
               bounds:         131@10 corner: 183@39
               aBlock:         [closure] in ThreePhaseButtonMorph(Morph)>>fullDrawOn:
       Receiver's instance variables:
               target:         nil
               filterSelector:         nil
               origin:         0@0
               clipRect:       0@0 corner: 212@49
               form:   Form(212x49x32)
               port:   a GrafPort
               shadowColor:    nil

FormCanvas(Canvas)>>roundCornersOf:during:
       Receiver: a FormCanvas on: Form(212x49x32)
       Arguments and temporary variables:
               aMorph:         3PButton(#goUp:with: 3545)
               aBlock:         [closure] in ThreePhaseButtonMorph(Morph)>>fullDrawOn:
       Receiver's instance variables:
               target:         nil
               filterSelector:         nil
               origin:         0@0
               clipRect:       0@0 corner: 212@49
               form:   Form(212x49x32)
               port:   a GrafPort
               shadowColor:    nil

ThreePhaseButtonMorph(Morph)>>fullDrawOn:
       Receiver: 3PButton(#goUp:with: 3545)
       Arguments and temporary variables:
               aCanvas:        a FormCanvas on: Form(212x49x32)
       Receiver's instance variables:
               bounds:         131@10 corner: 183@39
               owner:  an AlignmentMorph<script controls>(2589)
               submorphs:      #()
               fullBounds:     131@10 corner: 183@39
               color:  Color blue
               extension:      a MorphExtension (3716) [balloonText]  [externalName =
Go Button ]
               image:  ColorForm(52x29x8)
               offImage:       ColorForm(52x29x8)
               pressedImage:   ColorForm(52x29x8)
               state:  #off
               target:         a StandardScriptingSystem
               actionSelector:         #goUp:with:
               arguments:      {nil . 3PButton(#goUp:with: 3545)}
               actWhen:        #buttonUp

FormCanvas(Canvas)>>fullDraw:
       Receiver: a FormCanvas on: Form(212x49x32)
       Arguments and temporary variables:
               anObject:       3PButton(#goUp:with: 3545)
       Receiver's instance variables:
               target:         nil
               filterSelector:         nil
               origin:         0@0
               clipRect:       0@0 corner: 212@49
               form:   Form(212x49x32)
               port:   a GrafPort
               shadowColor:    nil

FormCanvas(Canvas)>>fullDrawMorph:
       Receiver: a FormCanvas on: Form(212x49x32)
       Arguments and temporary variables:
               aMorph:         3PButton(#goUp:with: 3545)
       Receiver's instance variables:
               target:         nil
               filterSelector:         nil
               origin:         0@0
               clipRect:       0@0 corner: 212@49
               form:   Form(212x49x32)
               port:   a GrafPort
               shadowColor:    nil

[] in [] in AlignmentMorph(Morph)>>drawSubmorphsOn:
       Receiver: an AlignmentMorph<script controls>(2589)
       Arguments and temporary variables:
<<error during printing>
       Receiver's instance variables:
               bounds:         25@8 corner: 185@41
               owner:  an AlignmentMorph(1206)
               submorphs:      {3PButton(#stopUp:with: 2931) .
3PButton(#stepStillDown:with: 3201) ...etc...
               fullBounds:     25@8 corner: 185@41
               color:  Color transparent
               extension:      a MorphExtension (2601) [externalName = script controls
]  [other:  ...etc...
               borderWidth:    0
               borderColor:    Color black

Array(SequenceableCollection)>>reverseDo:
       Receiver: {3PButton(#stopUp:with: 2931) .
3PButton(#stepStillDown:with: 3201) . 3PButton(#goUp:with:...etc...
       Arguments and temporary variables:
               aBlock:         [closure] in [] in AlignmentMorph(Morph)>>drawSubmorphsOn:
               index:  3
       Receiver's instance variables:
{3PButton(#stopUp:with: 2931) . 3PButton(#stepStillDown:with: 3201) .
3PButton(#goUp:with:...etc...

[] in AlignmentMorph(Morph)>>drawSubmorphsOn:
       Receiver: an AlignmentMorph<script controls>(2589)
       Arguments and temporary variables:
<<error during printing>
       Receiver's instance variables:
               bounds:         25@8 corner: 185@41
               owner:  an AlignmentMorph(1206)
               submorphs:      {3PButton(#stopUp:with: 2931) .
3PButton(#stepStillDown:with: 3201) ...etc...
               fullBounds:     25@8 corner: 185@41
               color:  Color transparent
               extension:      a MorphExtension (2601) [externalName = script controls
]  [other:  ...etc...
               borderWidth:    0
               borderColor:    Color black

AlignmentMorph(Morph)>>drawSubmorphsOn:
       Receiver: an AlignmentMorph<script controls>(2589)
       Arguments and temporary variables:
               aCanvas:        a FormCanvas on: Form(212x49x32)
               drawBlock:      [closure] in AlignmentMorph(Morph)>>drawSubmorphsOn:
       Receiver's instance variables:
               bounds:         25@8 corner: 185@41
               owner:  an AlignmentMorph(1206)
               submorphs:      {3PButton(#stopUp:with: 2931) .
3PButton(#stepStillDown:with: 3201) ...etc...
               fullBounds:     25@8 corner: 185@41
               color:  Color transparent
               extension:      a MorphExtension (2601) [externalName = script controls
]  [other:  ...etc...
               borderWidth:    0
               borderColor:    Color black


--- The full stack ---
LargePositiveInteger(Object)>>doesNotUnderstand: #pixelValueForDepth:
ColorForm>>colormapIfNeededForDepth:
ColorForm>>colormapIfNeededFor:
FormCanvas>>image:at:sourceRect:rule:
FormCanvas(Canvas)>>translucentImage:at:sourceRect:
FormCanvas(Canvas)>>translucentImage:at:
ThreePhaseButtonMorph>>drawOn:
FormCanvas(Canvas)>>draw:
FormCanvas(Canvas)>>drawMorph:
[] in ThreePhaseButtonMorph(Morph)>>fullDrawOn:
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
ThreePhaseButtonMorph(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in [] in AlignmentMorph(Morph)>>drawSubmorphsOn:
Array(SequenceableCollection)>>reverseDo:
[] in AlignmentMorph(Morph)>>drawSubmorphsOn:
AlignmentMorph(Morph)>>drawSubmorphsOn:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[] in AlignmentMorph(Morph)>>fullDrawOn:
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
AlignmentMorph(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in [] in AlignmentMorph(Morph)>>drawSubmorphsOn:
Array(SequenceableCollection)>>reverseDo:
[] in AlignmentMorph(Morph)>>drawSubmorphsOn:
AlignmentMorph(Morph)>>drawSubmorphsOn:
[] in AlignmentMorph(Morph)>>fullDrawOn:
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
AlignmentMorph(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in [] in AllScriptsTool(Morph)>>drawSubmorphsOn:
Array(SequenceableCollection)>>reverseDo:
[] in AllScriptsTool(Morph)>>drawSubmorphsOn:
AllScriptsTool(Morph)>>drawSubmorphsOn:
[] in AllScriptsTool(Morph)>>fullDrawOn:
CornerRounder class>>roundCornersOf:on:in:displayBlock:borderWidth:corners:
FormCanvas>>roundCornersOf:in:during:
FormCanvas(Canvas)>>roundCornersOf:during:
AllScriptsTool(Morph)>>fullDrawOn:
FormCanvas(Canvas)>>fullDraw:
FormCanvas(Canvas)>>fullDrawMorph:
[] in AllScriptsTool(Morph)>>imageForm:backgroundColor:forRectangle:
FormCanvas>>translateBy:during:
AllScriptsTool(Morph)>>imageForm:backgroundColor:forRectangle:
PartsBin class>>thumbnailForQuad:color:
[] in PartsBin>>listDirection:quadList:buttonClass:
SortedCollection(OrderedCollection)>>do:
PartsBin>>listDirection:quadList:buttonClass:
PartsBin>>listDirection:quadList:
ObjectsTool>>installQuads:fromButton:
[] in ObjectsTool>>showAll
BlockClosure>>ensure:
CursorWithMask(Cursor)>>showWhile:
ObjectsTool>>showAll
MorphicUIBugTest class>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:logged:
-- and more not shown --




Reply | Threaded
Open this post in threaded view
|

Re: strange test failure

Chris Muller-4
> This bug is understood and fixed in my sources and I'll roll out new VMs
> over the weekend.  The bug is the result of the ColorArray leaking into the
> ...

Excellent, thanks!