[squeak-dev] Hang in SqueakMap Catalog?

Chris Muller asqueaker at gmail.com
Thu Apr 16 03:40:29 UTC 2015


Confirmed.  Thanks for the bug report.  It looks like a stack-overflow
recursion between the changed notification #selectedCategoryPath and
its PluggableTreeMorph>>#update: method.

Some of the improvements Marcel has made require us to clean up our
MVC code.  He probably will have this bug squashed before I could make
coffee just to wake up.

I would really like to redesign the Catalog without the Tree widgets
anyway; to look more like a System browser..


On Wed, Apr 15, 2015 at 10:14 PM, Jeff Gonis <jeffgonis at fastmail.com> wrote:
> Hi Folks,
>
> Working with a fresh image that I updated from the trunk tonight I
> wanted to grab some packages off of Squeakmap.
>
> I went down to the list of filters to select the latest version of
> Squeak listed, Squeak 4.5 and doing so appears to send Squeak into some
> form of infinite loop where it just crunches and crunches.  I am running
> on the interpreter VM as I have a 64-bit linux system and couldn't quite
> get the 32-bit compatibility libs working with Cog, but even so I don't
> think we can say that the interpreter is slower and I should wait a bit
> more.  I gave it 3 minutes just to make extra sure I hadn't missed
> something.
>
> When I interrupt the process I grabbed the following from the debugger
> as input for "submit a bug report"
>
> Note that multiple reproductions of this hang all leave me with
> characterToGlyphMap or widthOf: near the top of the stack so this stack
> trace should be fairly repeatable.
>
> Anyway, please let me know if I can add more details or if you would
> like me to perform some additional investigation.
>
> Thanks for your time and effort,
> Jeff!
>
> StrikeFont>>characterToGlyphMap
>         Receiver: a StrikeFont(Bitmap DejaVu Sans 9 14)
>         Arguments and temporary variables:
>
>         Receiver's instance variables:
>                 characterToGlyphMap:    #(0 1 2 3 4 5 6 7 8 9 10 11 12
>                 13 14 15 16 17 18 19 20 21 ...etc...
>                 xTable:         #(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>                 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 7...etc...
>                 glyphs:         Form(1646x14x16)
>                 name:   'Bitmap DejaVu Sans 9'
>                 type:   0
>                 minAscii:       32
>                 maxAscii:       255
>                 maxWidth:       0
>                 strikeLength:   nil
>                 ascent:         11
>                 descent:        3
>                 xOffset:        nil
>                 raster:         nil
>                 subscript:      -3
>                 superscript:    2
>                 emphasis:       0
>                 derivativeFonts:        {a StrikeFont(Bitmap DejaVu Sans
>                 9B 14) . a StrikeFont(Bitmap ...etc...
>                 pointSize:      9
>                 fallbackFont:   nil
>                 charIndexCompatibilitySlot:     nil
>
> StrikeFont>>widthOf:
>         Receiver: a StrikeFont(Bitmap DejaVu Sans 9 14)
>         Arguments and temporary variables:
>                 aCharacter:     $a
>                 code:   97
>         Receiver's instance variables:
>                 characterToGlyphMap:    #(0 1 2 3 4 5 6 7 8 9 10 11 12
>                 13 14 15 16 17 18 19 20 21 ...etc...
>                 xTable:         #(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>                 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 7...etc...
>                 glyphs:         Form(1646x14x16)
>                 name:   'Bitmap DejaVu Sans 9'
>                 type:   0
>                 minAscii:       32
>                 maxAscii:       255
>                 maxWidth:       0
>                 strikeLength:   nil
>                 ascent:         11
>                 descent:        3
>                 xOffset:        nil
>                 raster:         nil
>                 subscript:      -3
>                 superscript:    2
>                 emphasis:       0
>                 derivativeFonts:        {a StrikeFont(Bitmap DejaVu Sans
>                 9B 14) . a StrikeFont(Bitmap ...etc...
>                 pointSize:      9
>                 fallbackFont:   nil
>                 charIndexCompatibilitySlot:     nil
>
> StrikeFont(AbstractFont)>>widthOfString:from:to:
>         Receiver: a StrikeFont(Bitmap DejaVu Sans 9 14)
>         Arguments and temporary variables:
>                 aString:        'Entertainment'
>                 startIndex:     1
>                 stopIndex:      13
>                 resultX:        37
>                 i:      7
>         Receiver's instance variables:
>                 characterToGlyphMap:    #(0 1 2 3 4 5 6 7 8 9 10 11 12
>                 13 14 15 16 17 18 19 20 21 ...etc...
>                 xTable:         #(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>                 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 7...etc...
>                 glyphs:         Form(1646x14x16)
>                 name:   'Bitmap DejaVu Sans 9'
>                 type:   0
>                 minAscii:       32
>                 maxAscii:       255
>                 maxWidth:       0
>                 strikeLength:   nil
>                 ascent:         11
>                 descent:        3
>                 xOffset:        nil
>                 raster:         nil
>                 subscript:      -3
>                 superscript:    2
>                 emphasis:       0
>                 derivativeFonts:        {a StrikeFont(Bitmap DejaVu Sans
>                 9B 14) . a StrikeFont(Bitmap ...etc...
>                 pointSize:      9
>                 fallbackFont:   nil
>                 charIndexCompatibilitySlot:     nil
>
> StrikeFont(AbstractFont)>>widthOfString:
>         Receiver: a StrikeFont(Bitmap DejaVu Sans 9 14)
>         Arguments and temporary variables:
>                 aString:        'Entertainment'
>         Receiver's instance variables:
>                 characterToGlyphMap:    #(0 1 2 3 4 5 6 7 8 9 10 11 12
>                 13 14 15 16 17 18 19 20 21 ...etc...
>                 xTable:         #(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>                 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 7...etc...
>                 glyphs:         Form(1646x14x16)
>                 name:   'Bitmap DejaVu Sans 9'
>                 type:   0
>                 minAscii:       32
>                 maxAscii:       255
>                 maxWidth:       0
>                 strikeLength:   nil
>                 ascent:         11
>                 descent:        3
>                 xOffset:        nil
>                 raster:         nil
>                 subscript:      -3
>                 superscript:    2
>                 emphasis:       0
>                 derivativeFonts:        {a StrikeFont(Bitmap DejaVu Sans
>                 9B 14) . a StrikeFont(Bitmap ...etc...
>                 pointSize:      9
>                 fallbackFont:   nil
>                 charIndexCompatibilitySlot:     nil
>
> StrikeFont(AbstractFont)>>widthOfStringOrText:
>         Receiver: a StrikeFont(Bitmap DejaVu Sans 9 14)
>         Arguments and temporary variables:
>                 aStringOrText:  'Entertainment'
>         Receiver's instance variables:
>                 characterToGlyphMap:    #(0 1 2 3 4 5 6 7 8 9 10 11 12
>                 13 14 15 16 17 18 19 20 21 ...etc...
>                 xTable:         #(0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
>                 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 7...etc...
>                 glyphs:         Form(1646x14x16)
>                 name:   'Bitmap DejaVu Sans 9'
>                 type:   0
>                 minAscii:       32
>                 maxAscii:       255
>                 maxWidth:       0
>                 strikeLength:   nil
>                 ascent:         11
>                 descent:        3
>                 xOffset:        nil
>                 raster:         nil
>                 subscript:      -3
>                 superscript:    2
>                 emphasis:       0
>                 derivativeFonts:        {a StrikeFont(Bitmap DejaVu Sans
>                 9B 14) . a StrikeFont(Bitmap ...etc...
>                 pointSize:      9
>                 fallbackFont:   nil
>                 charIndexCompatibilitySlot:     nil
>
> [] in
> PluggableTreeMorph(SimpleHierarchicalListMorph)>>hUnadjustedScrollRange
>         Receiver: a PluggableTreeMorph<categoriesList>(1698)
>         Arguments and temporary variables:
> <<error during printing>
>         Receiver's instance variables:
>                 bounds:         176 at 289 corner: 321 at 431
>                 owner:  a PluggableSystemWindow<SqueakMap Package Loader
>                 (792 packages)>(22)
>                 submorphs:      {a ScrollBar(1530) . a ScrollBar(1896) .
>                 a TransformMorph(2781)}
>                 fullBounds:     176 at 289 corner: 321 at 431
>                 color:  Color white
>                 extension:      a MorphExtension (1335) [locked]
>                 [externalName = categoriesList ]  ...etc...
>                 borderWidth:    1
>                 borderColor:    (Color r: 0.321 g: 0.321 b: 0.246)
>                 model:  a SMLoaderPlus
>                 slotName:       nil
>                 open:   false
>                 scrollBar:      a ScrollBar(1896)
>                 scroller:       a TransformMorph(2781)
>                 retractableScrollBar:   false
>                 scrollBarOnLeft:        false
>                 getMenuSelector:        #categoriesMenu:
>                 getMenuTitleSelector:   nil
>                 scrollBarHidden:        nil
>                 hasFocus:       false
>                 hScrollBar:     a ScrollBar(1530)
>                 lockOffset:     nil
>                 selectedMorph:  nil
>                 getListSelector:        nil
>                 keystrokeActionSelector:        nil
>                 autoDeselect:   true
>                 columns:        nil
>                 sortingSelector:        nil
>                 getSelectionSelector:   nil
>                 setSelectionSelector:   #selectedCategory:
>                 potentialDropMorph:     nil
>                 lineColor:      nil
>                 rootWrappers:   {a PluggableTreeItemNode . a
>                 PluggableTreeItemNode . a PluggableT...etc...
>                 selectedWrapper:        a PluggableTreeItemNode
>                 getRootsSelector:       #categoryList
>                 getChildrenSelector:    #categoryChildren:
>                 hasChildrenSelector:    #categoryHasChildren:
>                 getLabelSelector:       #categoryLabel:
>                 getIconSelector:        nil
>                 getSelectedPathSelector:        #selectedCategoryPath
>                 setSelectedParentSelector:      nil
>                 getHelpSelector:        nil
>                 dropItemSelector:       nil
>                 wantsDropSelector:      nil
>                 dragItemSelector:       nil
>                 nodeClass:      nil
>                 lastKeystrokeTime:      0
>                 lastKeystrokes:         ''
>
> Array(SequenceableCollection)>>do:
>         Receiver: {an IndentingListItemMorph(1252)'Squeak versions' . an
>         IndentingListItemMorph(1044)'Squeak...etc...
>         Arguments and temporary variables:
>                 aBlock:         [closure] in
>                 PluggableTreeMorph(SimpleHierarchicalListMorph)>>hUnadjust...etc...
>                 index:  31
>                 indexLimiT:     37
>         Receiver's instance variables:
> {an IndentingListItemMorph(1252)'Squeak versions' . an
> IndentingListItemMorph(1044)'Squeak...etc...
>
> TransformMorph(Morph)>>submorphsDo:
>         Receiver: a TransformMorph(2781)
>         Arguments and temporary variables:
>                 aBlock:         [closure] in
>                 PluggableTreeMorph(SimpleHierarchicalListMorph)>>hUnadjust...etc...
>         Receiver's instance variables:
>                 bounds:         177 at 290 corner: 307 at 417
>                 owner:  a PluggableTreeMorph<categoriesList>(1698)
>                 submorphs:      {an IndentingListItemMorph(1252)'Squeak
>                 versions' . an IndentingList...etc...
>                 fullBounds:     177 at 290 corner: 307 at 417
>                 color:  Color transparent
>                 extension:      a MorphExtension (1812) [other:
>                 (clipSubmorphs -> true)]
>                 transform:      a MorphicTransform(angle = 0.0; scale =
>                 1.0; offset = -177@ -38)
>                 smoothing:      1
>                 localBounds:    nil
>
> PluggableTreeMorph(SimpleHierarchicalListMorph)>>hUnadjustedScrollRange
>         Receiver: a PluggableTreeMorph<categoriesList>(1698)
>         Arguments and temporary variables:
> <<error during printing>
>         Receiver's instance variables:
>                 bounds:         176 at 289 corner: 321 at 431
>                 owner:  a PluggableSystemWindow<SqueakMap Package Loader
>                 (792 packages)>(22)
>                 submorphs:      {a ScrollBar(1530) . a ScrollBar(1896) .
>                 a TransformMorph(2781)}
>                 fullBounds:     176 at 289 corner: 321 at 431
>                 color:  Color white
>                 extension:      a MorphExtension (1335) [locked]
>                 [externalName = categoriesList ]  ...etc...
>                 borderWidth:    1
>                 borderColor:    (Color r: 0.321 g: 0.321 b: 0.246)
>                 model:  a SMLoaderPlus
>                 slotName:       nil
>                 open:   false
>                 scrollBar:      a ScrollBar(1896)
>                 scroller:       a TransformMorph(2781)
>                 retractableScrollBar:   false
>                 scrollBarOnLeft:        false
>                 getMenuSelector:        #categoriesMenu:
>                 getMenuTitleSelector:   nil
>                 scrollBarHidden:        nil
>                 hasFocus:       false
>                 hScrollBar:     a ScrollBar(1530)
>                 lockOffset:     nil
>                 selectedMorph:  nil
>                 getListSelector:        nil
>                 keystrokeActionSelector:        nil
>                 autoDeselect:   true
>                 columns:        nil
>                 sortingSelector:        nil
>                 getSelectionSelector:   nil
>                 setSelectionSelector:   #selectedCategory:
>                 potentialDropMorph:     nil
>                 lineColor:      nil
>                 rootWrappers:   {a PluggableTreeItemNode . a
>                 PluggableTreeItemNode . a PluggableT...etc...
>                 selectedWrapper:        a PluggableTreeItemNode
>                 getRootsSelector:       #categoryList
>                 getChildrenSelector:    #categoryChildren:
>                 hasChildrenSelector:    #categoryHasChildren:
>                 getLabelSelector:       #categoryLabel:
>                 getIconSelector:        nil
>                 getSelectedPathSelector:        #selectedCategoryPath
>                 setSelectedParentSelector:      nil
>                 getHelpSelector:        nil
>                 dropItemSelector:       nil
>                 wantsDropSelector:      nil
>                 dragItemSelector:       nil
>                 nodeClass:      nil
>                 lastKeystrokeTime:      0
>                 lastKeystrokes:         ''
>
> PluggableTreeMorph(ScrollPane)>>hTotalScrollRange
>         Receiver: a PluggableTreeMorph<categoriesList>(1698)
>         Arguments and temporary variables:
>
>         Receiver's instance variables:
>                 bounds:         176 at 289 corner: 321 at 431
>                 owner:  a PluggableSystemWindow<SqueakMap Package Loader
>                 (792 packages)>(22)
>                 submorphs:      {a ScrollBar(1530) . a ScrollBar(1896) .
>                 a TransformMorph(2781)}
>                 fullBounds:     176 at 289 corner: 321 at 431
>                 color:  Color white
>                 extension:      a MorphExtension (1335) [locked]
>                 [externalName = categoriesList ]  ...etc...
>                 borderWidth:    1
>                 borderColor:    (Color r: 0.321 g: 0.321 b: 0.246)
>                 model:  a SMLoaderPlus
>                 slotName:       nil
>                 open:   false
>                 scrollBar:      a ScrollBar(1896)
>                 scroller:       a TransformMorph(2781)
>                 retractableScrollBar:   false
>                 scrollBarOnLeft:        false
>                 getMenuSelector:        #categoriesMenu:
>                 getMenuTitleSelector:   nil
>                 scrollBarHidden:        nil
>                 hasFocus:       false
>                 hScrollBar:     a ScrollBar(1530)
>                 lockOffset:     nil
>                 selectedMorph:  nil
>                 getListSelector:        nil
>                 keystrokeActionSelector:        nil
>                 autoDeselect:   true
>                 columns:        nil
>                 sortingSelector:        nil
>                 getSelectionSelector:   nil
>                 setSelectionSelector:   #selectedCategory:
>                 potentialDropMorph:     nil
>                 lineColor:      nil
>                 rootWrappers:   {a PluggableTreeItemNode . a
>                 PluggableTreeItemNode . a PluggableT...etc...
>                 selectedWrapper:        a PluggableTreeItemNode
>                 getRootsSelector:       #categoryList
>                 getChildrenSelector:    #categoryChildren:
>                 hasChildrenSelector:    #categoryHasChildren:
>                 getLabelSelector:       #categoryLabel:
>                 getIconSelector:        nil
>                 getSelectedPathSelector:        #selectedCategoryPath
>                 setSelectedParentSelector:      nil
>                 getHelpSelector:        nil
>                 dropItemSelector:       nil
>                 wantsDropSelector:      nil
>                 dragItemSelector:       nil
>                 nodeClass:      nil
>                 lastKeystrokeTime:      0
>                 lastKeystrokes:         ''
>
> PluggableTreeMorph(ScrollPane)>>hLeftoverScrollRange
>         Receiver: a PluggableTreeMorph<categoriesList>(1698)
>         Arguments and temporary variables:
>
>         Receiver's instance variables:
>                 bounds:         176 at 289 corner: 321 at 431
>                 owner:  a PluggableSystemWindow<SqueakMap Package Loader
>                 (792 packages)>(22)
>                 submorphs:      {a ScrollBar(1530) . a ScrollBar(1896) .
>                 a TransformMorph(2781)}
>                 fullBounds:     176 at 289 corner: 321 at 431
>                 color:  Color white
>                 extension:      a MorphExtension (1335) [locked]
>                 [externalName = categoriesList ]  ...etc...
>                 borderWidth:    1
>                 borderColor:    (Color r: 0.321 g: 0.321 b: 0.246)
>                 model:  a SMLoaderPlus
>                 slotName:       nil
>                 open:   false
>                 scrollBar:      a ScrollBar(1896)
>                 scroller:       a TransformMorph(2781)
>                 retractableScrollBar:   false
>                 scrollBarOnLeft:        false
>                 getMenuSelector:        #categoriesMenu:
>                 getMenuTitleSelector:   nil
>                 scrollBarHidden:        nil
>                 hasFocus:       false
>                 hScrollBar:     a ScrollBar(1530)
>                 lockOffset:     nil
>                 selectedMorph:  nil
>                 getListSelector:        nil
>                 keystrokeActionSelector:        nil
>                 autoDeselect:   true
>                 columns:        nil
>                 sortingSelector:        nil
>                 getSelectionSelector:   nil
>                 setSelectionSelector:   #selectedCategory:
>                 potentialDropMorph:     nil
>                 lineColor:      nil
>                 rootWrappers:   {a PluggableTreeItemNode . a
>                 PluggableTreeItemNode . a PluggableT...etc...
>                 selectedWrapper:        a PluggableTreeItemNode
>                 getRootsSelector:       #categoryList
>                 getChildrenSelector:    #categoryChildren:
>                 hasChildrenSelector:    #categoryHasChildren:
>                 getLabelSelector:       #categoryLabel:
>                 getIconSelector:        nil
>                 getSelectedPathSelector:        #selectedCategoryPath
>                 setSelectedParentSelector:      nil
>                 getHelpSelector:        nil
>                 dropItemSelector:       nil
>                 wantsDropSelector:      nil
>                 dragItemSelector:       nil
>                 nodeClass:      nil
>                 lastKeystrokeTime:      0
>                 lastKeystrokes:         ''
>
> PluggableTreeMorph(ScrollPane)>>hSetScrollDelta
>         Receiver: a PluggableTreeMorph<categoriesList>(1698)
>         Arguments and temporary variables:
>                 delta:  7
>         Receiver's instance variables:
>                 bounds:         176 at 289 corner: 321 at 431
>                 owner:  a PluggableSystemWindow<SqueakMap Package Loader
>                 (792 packages)>(22)
>                 submorphs:      {a ScrollBar(1530) . a ScrollBar(1896) .
>                 a TransformMorph(2781)}
>                 fullBounds:     176 at 289 corner: 321 at 431
>                 color:  Color white
>                 extension:      a MorphExtension (1335) [locked]
>                 [externalName = categoriesList ]  ...etc...
>                 borderWidth:    1
>                 borderColor:    (Color r: 0.321 g: 0.321 b: 0.246)
>                 model:  a SMLoaderPlus
>                 slotName:       nil
>                 open:   false
>                 scrollBar:      a ScrollBar(1896)
>                 scroller:       a TransformMorph(2781)
>                 retractableScrollBar:   false
>                 scrollBarOnLeft:        false
>                 getMenuSelector:        #categoriesMenu:
>                 getMenuTitleSelector:   nil
>                 scrollBarHidden:        nil
>                 hasFocus:       false
>                 hScrollBar:     a ScrollBar(1530)
>                 lockOffset:     nil
>                 selectedMorph:  nil
>                 getListSelector:        nil
>                 keystrokeActionSelector:        nil
>                 autoDeselect:   true
>                 columns:        nil
>                 sortingSelector:        nil
>                 getSelectionSelector:   nil
>                 setSelectionSelector:   #selectedCategory:
>                 potentialDropMorph:     nil
>                 lineColor:      nil
>                 rootWrappers:   {a PluggableTreeItemNode . a
>                 PluggableTreeItemNode . a PluggableT...etc...
>                 selectedWrapper:        a PluggableTreeItemNode
>                 getRootsSelector:       #categoryList
>                 getChildrenSelector:    #categoryChildren:
>                 hasChildrenSelector:    #categoryHasChildren:
>                 getLabelSelector:       #categoryLabel:
>                 getIconSelector:        nil
>                 getSelectedPathSelector:        #selectedCategoryPath
>                 setSelectedParentSelector:      nil
>                 getHelpSelector:        nil
>                 dropItemSelector:       nil
>                 wantsDropSelector:      nil
>                 dragItemSelector:       nil
>                 nodeClass:      nil
>                 lastKeystrokeTime:      0
>                 lastKeystrokes:         ''
>
> PluggableTreeMorph(ScrollPane)>>setScrollDeltas
>         Receiver: a PluggableTreeMorph<categoriesList>(1698)
>         Arguments and temporary variables:
>
>         Receiver's instance variables:
>                 bounds:         176 at 289 corner: 321 at 431
>                 owner:  a PluggableSystemWindow<SqueakMap Package Loader
>                 (792 packages)>(22)
>                 submorphs:      {a ScrollBar(1530) . a ScrollBar(1896) .
>                 a TransformMorph(2781)}
>                 fullBounds:     176 at 289 corner: 321 at 431
>                 color:  Color white
>                 extension:      a MorphExtension (1335) [locked]
>                 [externalName = categoriesList ]  ...etc...
>                 borderWidth:    1
>                 borderColor:    (Color r: 0.321 g: 0.321 b: 0.246)
>                 model:  a SMLoaderPlus
>                 slotName:       nil
>                 open:   false
>                 scrollBar:      a ScrollBar(1896)
>                 scroller:       a TransformMorph(2781)
>                 retractableScrollBar:   false
>                 scrollBarOnLeft:        false
>                 getMenuSelector:        #categoriesMenu:
>                 getMenuTitleSelector:   nil
>                 scrollBarHidden:        nil
>                 hasFocus:       false
>                 hScrollBar:     a ScrollBar(1530)
>                 lockOffset:     nil
>                 selectedMorph:  nil
>                 getListSelector:        nil
>                 keystrokeActionSelector:        nil
>                 autoDeselect:   true
>                 columns:        nil
>                 sortingSelector:        nil
>                 getSelectionSelector:   nil
>                 setSelectionSelector:   #selectedCategory:
>                 potentialDropMorph:     nil
>                 lineColor:      nil
>                 rootWrappers:   {a PluggableTreeItemNode . a
>                 PluggableTreeItemNode . a PluggableT...etc...
>                 selectedWrapper:        a PluggableTreeItemNode
>                 getRootsSelector:       #categoryList
>                 getChildrenSelector:    #categoryChildren:
>                 hasChildrenSelector:    #categoryHasChildren:
>                 getLabelSelector:       #categoryLabel:
>                 getIconSelector:        nil
>                 getSelectedPathSelector:        #selectedCategoryPath
>                 setSelectedParentSelector:      nil
>                 getHelpSelector:        nil
>                 dropItemSelector:       nil
>                 wantsDropSelector:      nil
>                 dragItemSelector:       nil
>                 nodeClass:      nil
>                 lastKeystrokeTime:      0
>                 lastKeystrokes:         ''
>
> PluggableTreeMorph(SimpleHierarchicalListMorph)>>adjustSubmorphPositions
>         Receiver: a PluggableTreeMorph<categoriesList>(1698)
>         Arguments and temporary variables:
>                 p:      {0 at 518}
>         Receiver's instance variables:
>                 bounds:         176 at 289 corner: 321 at 431
>                 owner:  a PluggableSystemWindow<SqueakMap Package Loader
>                 (792 packages)>(22)
>                 submorphs:      {a ScrollBar(1530) . a ScrollBar(1896) .
>                 a TransformMorph(2781)}
>                 fullBounds:     176 at 289 corner: 321 at 431
>                 color:  Color white
>                 extension:      a MorphExtension (1335) [locked]
>                 [externalName = categoriesList ]  ...etc...
>                 borderWidth:    1
>                 borderColor:    (Color r: 0.321 g: 0.321 b: 0.246)
>                 model:  a SMLoaderPlus
>                 slotName:       nil
>                 open:   false
>                 scrollBar:      a ScrollBar(1896)
>                 scroller:       a TransformMorph(2781)
>                 retractableScrollBar:   false
>                 scrollBarOnLeft:        false
>                 getMenuSelector:        #categoriesMenu:
>                 getMenuTitleSelector:   nil
>                 scrollBarHidden:        nil
>                 hasFocus:       false
>                 hScrollBar:     a ScrollBar(1530)
>                 lockOffset:     nil
>                 selectedMorph:  nil
>                 getListSelector:        nil
>                 keystrokeActionSelector:        nil
>                 autoDeselect:   true
>                 columns:        nil
>                 sortingSelector:        nil
>                 getSelectionSelector:   nil
>                 setSelectionSelector:   #selectedCategory:
>                 potentialDropMorph:     nil
>                 lineColor:      nil
>                 rootWrappers:   {a PluggableTreeItemNode . a
>                 PluggableTreeItemNode . a PluggableT...etc...
>                 selectedWrapper:        a PluggableTreeItemNode
>                 getRootsSelector:       #categoryList
>                 getChildrenSelector:    #categoryChildren:
>                 hasChildrenSelector:    #categoryHasChildren:
>                 getLabelSelector:       #categoryLabel:
>                 getIconSelector:        nil
>                 getSelectedPathSelector:        #selectedCategoryPath
>                 setSelectedParentSelector:      nil
>                 getHelpSelector:        nil
>                 dropItemSelector:       nil
>                 wantsDropSelector:      nil
>                 dragItemSelector:       nil
>                 nodeClass:      nil
>                 lastKeystrokeTime:      0
>                 lastKeystrokes:         ''
>
> [] in PluggableTreeMorph>>selectPath:in:
>         Receiver: a PluggableTreeMorph<categoriesList>(1698)
>         Arguments and temporary variables:
> <<error during printing>
>         Receiver's instance variables:
>                 bounds:         176 at 289 corner: 321 at 431
>                 owner:  a PluggableSystemWindow<SqueakMap Package Loader
>                 (792 packages)>(22)
>                 submorphs:      {a ScrollBar(1530) . a ScrollBar(1896) .
>                 a TransformMorph(2781)}
>                 fullBounds:     176 at 289 corner: 321 at 431
>                 color:  Color white
>                 extension:      a MorphExtension (1335) [locked]
>                 [externalName = categoriesList ]  ...etc...
>                 borderWidth:    1
>                 borderColor:    (Color r: 0.321 g: 0.321 b: 0.246)
>                 model:  a SMLoaderPlus
>                 slotName:       nil
>                 open:   false
>                 scrollBar:      a ScrollBar(1896)
>                 scroller:       a TransformMorph(2781)
>                 retractableScrollBar:   false
>                 scrollBarOnLeft:        false
>                 getMenuSelector:        #categoriesMenu:
>                 getMenuTitleSelector:   nil
>                 scrollBarHidden:        nil
>                 hasFocus:       false
>                 hScrollBar:     a ScrollBar(1530)
>                 lockOffset:     nil
>                 selectedMorph:  nil
>                 getListSelector:        nil
>                 keystrokeActionSelector:        nil
>                 autoDeselect:   true
>                 columns:        nil
>                 sortingSelector:        nil
>                 getSelectionSelector:   nil
>                 setSelectionSelector:   #selectedCategory:
>                 potentialDropMorph:     nil
>                 lineColor:      nil
>                 rootWrappers:   {a PluggableTreeItemNode . a
>                 PluggableTreeItemNode . a PluggableT...etc...
>                 selectedWrapper:        a PluggableTreeItemNode
>                 getRootsSelector:       #categoryList
>                 getChildrenSelector:    #categoryChildren:
>                 hasChildrenSelector:    #categoryHasChildren:
>                 getLabelSelector:       #categoryLabel:
>                 getIconSelector:        nil
>                 getSelectedPathSelector:        #selectedCategoryPath
>                 setSelectedParentSelector:      nil
>                 getHelpSelector:        nil
>                 dropItemSelector:       nil
>                 wantsDropSelector:      nil
>                 dragItemSelector:       nil
>                 nodeClass:      nil
>                 lastKeystrokeTime:      0
>                 lastKeystrokes:         ''
>
> IndentingListItemMorph>>withSiblingsDo:
>         Receiver: an IndentingListItemMorph(1044)'Squeak2.8'
>         Arguments and temporary variables:
>                 aBlock:         [closure] in
>                 PluggableTreeMorph>>selectPath:in:
>                 node:   an IndentingListItemMorph(1701)'Squeak4.5'
>         Receiver's instance variables:
>                 bounds:         0 at 14 corner: 9999 at 28
>                 owner:  a TransformMorph(2781)
>                 submorphs:      #()
>                 fullBounds:     0 at 14 corner: 9999 at 28
>                 color:  Color black
>                 extension:      nil
>                 font:   a StrikeFont(Bitmap DejaVu Sans 9 14)
>                 emphasis:       nil
>                 contents:       'Squeak2.8'
>                 hasFocus:       false
>                 indentLevel:    1
>                 isExpanded:     false
>                 complexContents:        a PluggableTreeItemNode
>                 firstChild:     nil
>                 container:      a
>                 PluggableTreeMorph<categoriesList>(1698)
>                 nextSibling:    an
>                 IndentingListItemMorph(3703)'Squeak3.0'
>                 icon:   nil
>                 backgroundColor:        nil
>
> PluggableTreeMorph>>selectPath:in:
>         Receiver: a PluggableTreeMorph<categoriesList>(1698)
>         Arguments and temporary variables:
>                 path:   {SMCategory: Squeak4.5}
>                 listItem:       an
>                 IndentingListItemMorph(1044)'Squeak2.8'
>         Receiver's instance variables:
>                 bounds:         176 at 289 corner: 321 at 431
>                 owner:  a PluggableSystemWindow<SqueakMap Package Loader
>                 (792 packages)>(22)
>                 submorphs:      {a ScrollBar(1530) . a ScrollBar(1896) .
>                 a TransformMorph(2781)}
>                 fullBounds:     176 at 289 corner: 321 at 431
>                 color:  Color white
>                 extension:      a MorphExtension (1335) [locked]
>                 [externalName = categoriesList ]  ...etc...
>                 borderWidth:    1
>                 borderColor:    (Color r: 0.321 g: 0.321 b: 0.246)
>                 model:  a SMLoaderPlus
>                 slotName:       nil
>                 open:   false
>                 scrollBar:      a ScrollBar(1896)
>                 scroller:       a TransformMorph(2781)
>                 retractableScrollBar:   false
>                 scrollBarOnLeft:        false
>                 getMenuSelector:        #categoriesMenu:
>                 getMenuTitleSelector:   nil
>                 scrollBarHidden:        nil
>                 hasFocus:       false
>                 hScrollBar:     a ScrollBar(1530)
>                 lockOffset:     nil
>                 selectedMorph:  nil
>                 getListSelector:        nil
>                 keystrokeActionSelector:        nil
>                 autoDeselect:   true
>                 columns:        nil
>                 sortingSelector:        nil
>                 getSelectionSelector:   nil
>                 setSelectionSelector:   #selectedCategory:
>                 potentialDropMorph:     nil
>                 lineColor:      nil
>                 rootWrappers:   {a PluggableTreeItemNode . a
>                 PluggableTreeItemNode . a PluggableT...etc...
>                 selectedWrapper:        a PluggableTreeItemNode
>                 getRootsSelector:       #categoryList
>                 getChildrenSelector:    #categoryChildren:
>                 hasChildrenSelector:    #categoryHasChildren:
>                 getLabelSelector:       #categoryLabel:
>                 getIconSelector:        nil
>                 getSelectedPathSelector:        #selectedCategoryPath
>                 setSelectedParentSelector:      nil
>                 getHelpSelector:        nil
>                 dropItemSelector:       nil
>                 wantsDropSelector:      nil
>                 dragItemSelector:       nil
>                 nodeClass:      nil
>                 lastKeystrokeTime:      0
>                 lastKeystrokes:         ''
>
> [] in PluggableTreeMorph>>selectPath:in:
>         Receiver: a PluggableTreeMorph<categoriesList>(1698)
>         Arguments and temporary variables:
> <<error during printing>
>         Receiver's instance variables:
>                 bounds:         176 at 289 corner: 321 at 431
>                 owner:  a PluggableSystemWindow<SqueakMap Package Loader
>                 (792 packages)>(22)
>                 submorphs:      {a ScrollBar(1530) . a ScrollBar(1896) .
>                 a TransformMorph(2781)}
>                 fullBounds:     176 at 289 corner: 321 at 431
>                 color:  Color white
>                 extension:      a MorphExtension (1335) [locked]
>                 [externalName = categoriesList ]  ...etc...
>                 borderWidth:    1
>                 borderColor:    (Color r: 0.321 g: 0.321 b: 0.246)
>                 model:  a SMLoaderPlus
>                 slotName:       nil
>                 open:   false
>                 scrollBar:      a ScrollBar(1896)
>                 scroller:       a TransformMorph(2781)
>                 retractableScrollBar:   false
>                 scrollBarOnLeft:        false
>                 getMenuSelector:        #categoriesMenu:
>                 getMenuTitleSelector:   nil
>                 scrollBarHidden:        nil
>                 hasFocus:       false
>                 hScrollBar:     a ScrollBar(1530)
>                 lockOffset:     nil
>                 selectedMorph:  nil
>                 getListSelector:        nil
>                 keystrokeActionSelector:        nil
>                 autoDeselect:   true
>                 columns:        nil
>                 sortingSelector:        nil
>                 getSelectionSelector:   nil
>                 setSelectionSelector:   #selectedCategory:
>                 potentialDropMorph:     nil
>                 lineColor:      nil
>                 rootWrappers:   {a PluggableTreeItemNode . a
>                 PluggableTreeItemNode . a PluggableT...etc...
>                 selectedWrapper:        a PluggableTreeItemNode
>                 getRootsSelector:       #categoryList
>                 getChildrenSelector:    #categoryChildren:
>                 hasChildrenSelector:    #categoryHasChildren:
>                 getLabelSelector:       #categoryLabel:
>                 getIconSelector:        nil
>                 getSelectedPathSelector:        #selectedCategoryPath
>                 setSelectedParentSelector:      nil
>                 getHelpSelector:        nil
>                 dropItemSelector:       nil
>                 wantsDropSelector:      nil
>                 dragItemSelector:       nil
>                 nodeClass:      nil
>                 lastKeystrokeTime:      0
>                 lastKeystrokes:         ''
>
> IndentingListItemMorph>>withSiblingsDo:
>         Receiver: an IndentingListItemMorph(1252)'Squeak versions'
>         Arguments and temporary variables:
>                 aBlock:         [closure] in
>                 PluggableTreeMorph>>selectPath:in:
>                 node:   an IndentingListItemMorph(1252)'Squeak versions'
>         Receiver's instance variables:
>                 bounds:         0 at 0 corner: 9999 at 14
>                 owner:  a TransformMorph(2781)
>                 submorphs:      #()
>                 fullBounds:     0 at 0 corner: 9999 at 14
>                 color:  Color black
>                 extension:      nil
>                 font:   a StrikeFont(Bitmap DejaVu Sans 9 14)
>                 emphasis:       nil
>                 contents:       'Squeak versions'
>                 hasFocus:       false
>                 indentLevel:    0
>                 isExpanded:     true
>                 complexContents:        a PluggableTreeItemNode
>                 firstChild:     an
>                 IndentingListItemMorph(1044)'Squeak2.8'
>                 container:      a
>                 PluggableTreeMorph<categoriesList>(1698)
>                 nextSibling:    an
>                 IndentingListItemMorph(2992)'Applications'
>                 icon:   nil
>                 backgroundColor:        nil
>
>
> --- The full stack ---
> StrikeFont>>characterToGlyphMap
> StrikeFont>>widthOf:
> StrikeFont(AbstractFont)>>widthOfString:from:to:
> StrikeFont(AbstractFont)>>widthOfString:
> StrikeFont(AbstractFont)>>widthOfStringOrText:
> [] in
> PluggableTreeMorph(SimpleHierarchicalListMorph)>>hUnadjustedScrollRange
> Array(SequenceableCollection)>>do:
> TransformMorph(Morph)>>submorphsDo:
> PluggableTreeMorph(SimpleHierarchicalListMorph)>>hUnadjustedScrollRange
> PluggableTreeMorph(ScrollPane)>>hTotalScrollRange
> PluggableTreeMorph(ScrollPane)>>hLeftoverScrollRange
> PluggableTreeMorph(ScrollPane)>>hSetScrollDelta
> PluggableTreeMorph(ScrollPane)>>setScrollDeltas
> PluggableTreeMorph(SimpleHierarchicalListMorph)>>adjustSubmorphPositions
> [] in PluggableTreeMorph>>selectPath:in:
> IndentingListItemMorph>>withSiblingsDo:
> PluggableTreeMorph>>selectPath:in:
> [] in PluggableTreeMorph>>selectPath:in:
> IndentingListItemMorph>>withSiblingsDo:
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> PluggableTreeMorph>>selectPath:in:
> PluggableTreeMorph>>update:
> [] in SMLoaderPlus(Object)>>changed:
> DependentsArray>>do:
> SMLoaderPlus(Object)>>changed:
> SMLoaderPlus>>selectedCategory:
> PluggableTreeMorph>>setSelectedMorph:
> [] in PluggableTreeMorph>>selectPath:in:
> IndentingListItemMorph>>withSiblingsDo:
> PluggableTreeMorph>>selectPath:in:
> [] in PluggableTreeMorph>>selectPath:in:
> IndentingListItemMorph>>withSiblingsDo:
> PluggableTreeMorph>>selectPath:in:
> PluggableTreeMorph>>update:
> [] in SMLoaderPlus(Object)>>changed:
> DependentsArray>>do:
> SMLoaderPlus(Object)>>changed:
> SMLoaderPlus>>selectedCategory:
> PluggableTreeMorph>>setSelectedMorph:
> [] in PluggableTreeMorph>>selectPath:in:
> IndentingListItemMorph>>withSiblingsDo:
> PluggableTreeMorph>>selectPath:in:
> [] in PluggableTreeMorph>>selectPath:in:
> IndentingListItemMorph>>withSiblingsDo:
> PluggableTreeMorph>>selectPath:in:
> PluggableTreeMorph>>update:
> [] in SMLoaderPlus(Object)>>changed:
> DependentsArray>>do:
> SMLoaderPlus(Object)>>changed:
> SMLoaderPlus>>selectedCategory:
> PluggableTreeMorph>>setSelectedMorph:
> [] in PluggableTreeMorph>>selectPath:in:
> IndentingListItemMorph>>withSiblingsDo:
> PluggableTreeMorph>>selectPath:in:
> [] in PluggableTreeMorph>>selectPath:in:
> IndentingListItemMorph>>withSiblingsDo:
> PluggableTreeMorph>>selectPath:in:
> PluggableTreeMorph>>update:
> [] in SMLoaderPlus(Object)>>changed:
> DependentsArray>>do:
> SMLoaderPlus(Object)>>changed:
> SMLoaderPlus>>selectedCategory:
> -- and more not shown --
>


More information about the Squeak-dev mailing list