Lockup when inspecting Text

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

Lockup when inspecting Text

alistairgrant
Hi All,

I've got a Text object which I can inspect the string or the runs, but
when I attempt to inspect the text object itself Pharo goes into a CPU
loop and becomes unresponsive.  I can't interrupt the display (Ctrl-.).

I've attempted to step through the code to find the problem, however
Pharo is going into a CPU loop when returning
from GLMMorphicPageRenderer>>render:.

I've included the stack trace leading to #render below.  At the moment
I'm struggling for ideas on how to track this down.

Any suggestions?

Thanks!
Alistair


The stack trace just before returning from #render: is:

GLMMorphicPagerRenderer>>render:
GLMMorphicPagerRenderer class(GLMMorphicWidgetRenderer class)>>render:from:
GLMMorphicRenderer>>renderPager:
GLMPager>>renderGlamorouslyOn:
GLMMorphicRenderer(GLMRenderer)>>render:
GLMMorphicTabbedRenderer(GLMMorphicWidgetRenderer)>>renderObject:
GLMMorphicTabbedRenderer(GLMMorphicWidgetRenderer)>>renderWithTitleOrNil:
GLMMorphicTabbedRenderer>>render:
GLMMorphicTabbedRenderer class(GLMMorphicWidgetRenderer class)>>render:from:
GLMMorphicRenderer>>renderTabbedCompositePresentation:
GLMTabbedArrangement>>renderGlamorouslyOn:
GTInspector(GLMCompositePresentation)>>renderGlamorouslyOn:
GLMMorphicRenderer(GLMRenderer)>>render:
GLMMorphicWindowRenderer(GLMMorphicWidgetRenderer)>>renderObject:
GLMMorphicWindowRenderer>>render:
GLMMorphicWindowRenderer class(GLMMorphicWidgetRenderer
class)>>render:from:
GLMMorphicRenderer>>open:
GTInspector(GLMCompositePresentation)>>openWith:
GTInspector(GLMCompositePresentation)>>openOn:with:
GTInspector(GLMCompositePresentation)>>openOn:
GTInspector>>openOn:
GTInspector class>>openOn:
GTInspector class>>inspect:
Text(Object)>>inspect

^^^^
This is where I'm attempting to inspect the object.


OrderedCollection>>DoIt
OpalCompiler>>evaluate
RubSmalltalkEditor>>evaluate:andDo:
RubSmalltalkEditor>>highlightEvaluateAndDo:
[ textMorph textArea editor highlightEvaluateAndDo: ann action.
textMorph shoutStyler style: textMorph text ] in [ textMorph textArea
        handleEdit: [ textMorph textArea editor highlightEvaluateAndDo:
ann action.
                textMorph shoutStyler style: textMorph text ] ] in
GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>>actOnHighlightAndEvaluate:
RubEditingArea(RubAbstractTextArea)>>handleEdit:
[ textMorph textArea
        handleEdit: [ textMorph textArea editor highlightEvaluateAndDo:
ann action.
                textMorph shoutStyler style: textMorph text ] ] in
GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>>actOnHighlightAndEvaluate:
WorldState>>runStepMethodsIn:
WorldMorph>>runStepMethods
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldMorph>>doOneCycle
[ [ World doOneCycle.
Processor yield.
false ] whileFalse: [  ] ] in MorphicUIManager>>spawnNewProcess
[ self value.
Processor terminateActive ] in BlockClosure>>newProcess


Reply | Threaded
Open this post in threaded view
|

Re: Lockup when inspecting Text

alistairgrant
On Wed, May 25, 2016 at 05:56:27PM +0200, Alistair Grant wrote:

> Hi All,
>
> I've got a Text object which I can inspect the string or the runs, but
> when I attempt to inspect the text object itself Pharo goes into a CPU
> loop and becomes unresponsive.  I can't interrupt the display (Ctrl-.).
>
> I've attempted to step through the code to find the problem, however
> Pharo is going into a CPU loop when returning
> from GLMMorphicPageRenderer>>render:.
>
> I've included the stack trace leading to #render below.  At the moment
> I'm struggling for ideas on how to track this down.
>
> Any suggestions?
>
> Thanks!
> Alistair

P.S.:

Pharo5.0
Latest update: #50757

OS: 4.5.4-1-ARCH

>
>
> The stack trace just before returning from #render: is:
>
> GLMMorphicPagerRenderer>>render:
> GLMMorphicPagerRenderer class(GLMMorphicWidgetRenderer class)>>render:from:
> GLMMorphicRenderer>>renderPager:
> GLMPager>>renderGlamorouslyOn:
> GLMMorphicRenderer(GLMRenderer)>>render:
> GLMMorphicTabbedRenderer(GLMMorphicWidgetRenderer)>>renderObject:
> GLMMorphicTabbedRenderer(GLMMorphicWidgetRenderer)>>renderWithTitleOrNil:
> GLMMorphicTabbedRenderer>>render:
> GLMMorphicTabbedRenderer class(GLMMorphicWidgetRenderer class)>>render:from:
> GLMMorphicRenderer>>renderTabbedCompositePresentation:
> GLMTabbedArrangement>>renderGlamorouslyOn:
> GTInspector(GLMCompositePresentation)>>renderGlamorouslyOn:
> GLMMorphicRenderer(GLMRenderer)>>render:
> GLMMorphicWindowRenderer(GLMMorphicWidgetRenderer)>>renderObject:
> GLMMorphicWindowRenderer>>render:
> GLMMorphicWindowRenderer class(GLMMorphicWidgetRenderer
> class)>>render:from:
> GLMMorphicRenderer>>open:
> GTInspector(GLMCompositePresentation)>>openWith:
> GTInspector(GLMCompositePresentation)>>openOn:with:
> GTInspector(GLMCompositePresentation)>>openOn:
> GTInspector>>openOn:
> GTInspector class>>openOn:
> GTInspector class>>inspect:
> Text(Object)>>inspect
>
> ^^^^
> This is where I'm attempting to inspect the object.
>
>
> OrderedCollection>>DoIt
> OpalCompiler>>evaluate
> RubSmalltalkEditor>>evaluate:andDo:
> RubSmalltalkEditor>>highlightEvaluateAndDo:
> [ textMorph textArea editor highlightEvaluateAndDo: ann action.
> textMorph shoutStyler style: textMorph text ] in [ textMorph textArea
> handleEdit: [ textMorph textArea editor highlightEvaluateAndDo:
> ann action.
> textMorph shoutStyler style: textMorph text ] ] in
> GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>>actOnHighlightAndEvaluate:
> RubEditingArea(RubAbstractTextArea)>>handleEdit:
> [ textMorph textArea
> handleEdit: [ textMorph textArea editor highlightEvaluateAndDo:
> ann action.
> textMorph shoutStyler style: textMorph text ] ] in
> GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>>actOnHighlightAndEvaluate:
> WorldState>>runStepMethodsIn:
> WorldMorph>>runStepMethods
> WorldState>>doOneCycleNowFor:
> WorldState>>doOneCycleFor:
> WorldMorph>>doOneCycle
> [ [ World doOneCycle.
> Processor yield.
> false ] whileFalse: [  ] ] in MorphicUIManager>>spawnNewProcess
> [ self value.
> Processor terminateActive ] in BlockClosure>>newProcess
>

Reply | Threaded
Open this post in threaded view
|

Re: Lockup when inspecting Text

Henrik Nergaard
In reply to this post by alistairgrant
Could you post the string/text object you have trouble inspecting?
Both: "Text new inspect" and " (String loremIpsum: 1234) asText inspect" works fine for me (Image 60035).

        I can't interrupt the display (Ctrl-.).
Try (Alt-.)

Best regards,
Henrik

-----Original Message-----
From: Pharo-users [mailto:[hidden email]] On Behalf Of Alistair Grant
Sent: Wednesday, May 25, 2016 5:56 PM
To: [hidden email]
Subject: [Pharo-users] Lockup when inspecting Text

Hi All,

I've got a Text object which I can inspect the string or the runs, but when I attempt to inspect the text object itself Pharo goes into a CPU loop and becomes unresponsive.  I can't interrupt the display (Ctrl-.).

I've attempted to step through the code to find the problem, however Pharo is going into a CPU loop when returning from GLMMorphicPageRenderer>>render:.

I've included the stack trace leading to #render below.  At the moment I'm struggling for ideas on how to track this down.

Any suggestions?

Thanks!
Alistair


The stack trace just before returning from #render: is:

GLMMorphicPagerRenderer>>render:
GLMMorphicPagerRenderer class(GLMMorphicWidgetRenderer class)>>render:from:
GLMMorphicRenderer>>renderPager:
GLMPager>>renderGlamorouslyOn:
GLMMorphicRenderer(GLMRenderer)>>render:
GLMMorphicTabbedRenderer(GLMMorphicWidgetRenderer)>>renderObject:
GLMMorphicTabbedRenderer(GLMMorphicWidgetRenderer)>>renderWithTitleOrNil:
GLMMorphicTabbedRenderer>>render:
GLMMorphicTabbedRenderer class(GLMMorphicWidgetRenderer class)>>render:from:
GLMMorphicRenderer>>renderTabbedCompositePresentation:
GLMTabbedArrangement>>renderGlamorouslyOn:
GTInspector(GLMCompositePresentation)>>renderGlamorouslyOn:
GLMMorphicRenderer(GLMRenderer)>>render:
GLMMorphicWindowRenderer(GLMMorphicWidgetRenderer)>>renderObject:
GLMMorphicWindowRenderer>>render:
GLMMorphicWindowRenderer class(GLMMorphicWidgetRenderer
class)>>render:from:
GLMMorphicRenderer>>open:
GTInspector(GLMCompositePresentation)>>openWith:
GTInspector(GLMCompositePresentation)>>openOn:with:
GTInspector(GLMCompositePresentation)>>openOn:
GTInspector>>openOn:
GTInspector class>>openOn:
GTInspector class>>inspect:
Text(Object)>>inspect

^^^^
This is where I'm attempting to inspect the object.


OrderedCollection>>DoIt
OpalCompiler>>evaluate
RubSmalltalkEditor>>evaluate:andDo:
RubSmalltalkEditor>>highlightEvaluateAndDo:
[ textMorph textArea editor highlightEvaluateAndDo: ann action.
textMorph shoutStyler style: textMorph text ] in [ textMorph textArea
        handleEdit: [ textMorph textArea editor highlightEvaluateAndDo:
ann action.
                textMorph shoutStyler style: textMorph text ] ] in
GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>>actOnHighlightAndEvaluate:
RubEditingArea(RubAbstractTextArea)>>handleEdit:
[ textMorph textArea
        handleEdit: [ textMorph textArea editor highlightEvaluateAndDo:
ann action.
                textMorph shoutStyler style: textMorph text ] ] in
GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>>actOnHighlightAndEvaluate:
WorldState>>runStepMethodsIn:
WorldMorph>>runStepMethods
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
WorldMorph>>doOneCycle
[ [ World doOneCycle.
Processor yield.
false ] whileFalse: [  ] ] in MorphicUIManager>>spawnNewProcess [ self value.
Processor terminateActive ] in BlockClosure>>newProcess



Reply | Threaded
Open this post in threaded view
|

Re: Lockup when inspecting Text

alistairgrant
On Wed, May 25, 2016 at 04:08:49PM +0000, Henrik Nergaard wrote:
> Could you post the string/text object you have trouble inspecting?
> Both: "Text new inspect" and " (String loremIpsum: 1234) asText inspect" works fine for me (Image 60035).

Inspecting the following will trigger the CPU loop:


| startPos aTextStream name |

aTextStream := TextStream on: (Text new: 1024).
name := 'silver | AB-com.cz'.
startPos := aTextStream position max: 1.
aTextStream
        nextPutAll: name;
        applyAttribute: (TextFontReference toFont: (LogicalFont familyName: 'Source Sans Pro' pointSize: 20))
                beginningAt: startPos;
        cr; cr.
aTextStream contents.

(I thought it would take much longer to generate a small piece of code
that would reproduce the problem).


>
> I can't interrupt the display (Ctrl-.).
> Try (Alt-.)
>
> Best regards,
> Henrik

Unfortunately Alt-. doesn't work either (both work when the system is
responsive).

Thanks!
Alistair

Reply | Threaded
Open this post in threaded view
|

Re: Lockup when inspecting Text

alistairgrant
On Wed, May 25, 2016 at 07:08:53PM +0200, Alistair Grant wrote:

> On Wed, May 25, 2016 at 04:08:49PM +0000, Henrik Nergaard wrote:
> > Could you post the string/text object you have trouble inspecting?
> > Both: "Text new inspect" and " (String loremIpsum: 1234) asText inspect" works fine for me (Image 60035).
>
> Inspecting the following will trigger the CPU loop:
>
>
> | startPos aTextStream name |
>
> aTextStream := TextStream on: (Text new: 1024).
> name := 'silver | AB-com.cz'.
> startPos := aTextStream position max: 1.
> aTextStream
> nextPutAll: name;
> applyAttribute: (TextFontReference toFont: (LogicalFont familyName: 'Source Sans Pro' pointSize: 20))
> beginningAt: startPos;
> cr; cr.
> aTextStream contents.
>
> (I thought it would take much longer to generate a small piece of code
> that would reproduce the problem).

Actually, it is enough to have:

name := 'ABcom'

in the above.

Cheers,
Alistair


Reply | Threaded
Open this post in threaded view
|

Re: Lockup when inspecting Text

alistairgrant
On Wed, May 25, 2016 at 08:18:08PM +0200, Alistair Grant wrote:

> On Wed, May 25, 2016 at 07:08:53PM +0200, Alistair Grant wrote:
> > On Wed, May 25, 2016 at 04:08:49PM +0000, Henrik Nergaard wrote:
> > > Could you post the string/text object you have trouble inspecting?
> > > Both: "Text new inspect" and " (String loremIpsum: 1234) asText inspect" works fine for me (Image 60035).
> >
> > Inspecting the following will trigger the CPU loop:
> >
> >
> > | startPos aTextStream name |
> >
> > aTextStream := TextStream on: (Text new: 1024).
> > name := 'silver | AB-com.cz'.
> > startPos := aTextStream position max: 1.
> > aTextStream
> > nextPutAll: name;
> > applyAttribute: (TextFontReference toFont: (LogicalFont familyName: 'Source Sans Pro' pointSize: 20))
> > beginningAt: startPos;
> > cr; cr.
> > aTextStream contents.
> >
> > (I thought it would take much longer to generate a small piece of code
> > that would reproduce the problem).
>
> Actually, it is enough to have:
>
> name := 'ABcom'
>
> in the above.

And just learnt about kill -s SIGUSR1:


e/SIGUSR1 Wed May 25 20:53:48 2016
a

listai/home/alistair/pharo/pharo/pharo-vm/pharo
rpharo VM version: 5.0 #1 Wed May  4 11:54:28 CEST 2016 gcc 4.6.3
[Production Spur ITHB VM]
Built from: CoInterpreter VMMaker.oscog-eem.1855 uuid:
d8e4a3c2-a3bf-4adc-b224-8012903a1ef4 May  4 2016
With: StackToRegisterMappingCogit VMMaker.oscog-eem.1855 uuid:
d8e4a3c2-a3bf-4adc-b224-8012903a1ef4 May  4 2016
Revision: https://github.com/pharo-project/pharo-vm.git Commit:
b8ec25a570d7539653e1d793e97609adb509aaed Date: 2016-05-04 11:14:22 +0200
By: Esteban Lorenzano <[hidden email]> Jenkins build #589
Build host: Linux pharo-linux 3.2.0-31-generic-pae #50-Ubuntu SMP Fri
Sep 7 16:39:45 UTC 2012 i686 i686 i386 GNU/Linux
plugin path: /home/alistair/pharo/pharo/pharo-vm/ [default:
/home/alistair/pharo/pharo/pharo-vm/]
/

pC stack backtrace & registers:
ha eax 0xff9c7164 ebx 0xff9c7080 ecx 0xff9c7118 edx 0xff9c70cc
ro edi 0xff9c6f50 esi 0xff9c6f50 ebp 0xff9c6fe8 esp 0xff9c7034
/ eip 0xff9c7248
pharo*[0xff9c7248]
/home/alistair/pharo/pharo/pharo-vm/pharo[0x80c0912]
/home/alistair/pharo/pharo/pharo-vm/pharo[0x80c0bb9]                            
linux-gate.so.1(__kernel_rt_sigreturn+0x0)[0xf777ad30]
/home/alistair/pharo/pharo/pharo-vm/pharo(followForwardedObjectFieldstoDepth+0x38)[0x808f998]
/home/alistair/pharo/pharo/pharo-vm/pharo(followForwardedObjectFieldstoDepth+0xd8)[0x808fa38]
/home/alistair/pharo/pharo/pharo-vm/pharo(followForwardedObjectFieldstoDepth+0xd8)[0x808fa38]
/home/alistair/pharo/pharo/pharo-vm/pharo[0x808fd80]
[0x92a5ce3]
[0x92a5481]
[0x92b87b1]
[0x92af144]
[0x92aee8f]
[0x92d9820]
[0x92b9324]
[0x92a4fd7]
[0x9200b20]
[0xf7776848]


All Smalltalk process stacks (active first):
Process  0xcfe9d48 priority 40
0xff9d422c M
RubCompositionScanner(RubCharacterScanner)>scanCharactersFrom:to:in:rightX:stopConditions:kern:
0xde8cd90: a(n) RubCompositionScanner
0xff9d4264 M
RubCompositionScanner>composeFrom:inRectangle:firstLine:leftSide:rightSide:
0xde8cd90: a(n) RubCompositionScanner
0xff9d42a0 M RubTextComposer>composeEachRectangleIn: 0xde8ce18: a(n)
RubTextComposer
0xff9d42cc M RubTextComposer>composeAllRectangles: 0xde8ce18: a(n)
RubTextComposer
0xff9d42ec M RubTextComposer>composeOneLine 0xde8ce18: a(n)
RubTextComposer
0xff9d4304 M RubTextComposer>composeAllLines 0xde8ce18: a(n)
RubTextComposer
0xff9d431c M
RubTextComposer>composeLinesFrom:to:delta:into:priorLines:atY:textStyle:text:container:
0xde8ce18: a(n) RubTextComposer
0xff9d4358 M
RubTextComposer>composeLinesFrom:to:delta:into:priorLines:atY:
0xde8ce18: a(n) RubTextComposer
0xff9d20cc M [] in RubParagraph>compose 0xde8c328: a(n) RubParagraph
0xff9d20ec M BlockClosure>ensure: 0xc3e6600: a(n) BlockClosure
0xff9d2108 M RubParagraph>disableDrawingWhile: 0xde8c328: a(n)
RubParagraph
0xff9d2124 M RubParagraph>compose 0xde8c328: a(n) RubParagraph
0xff9d2144 M RubParagraph>extentFromClientBottomRight: 0xde8c328: a(n)
RubParagraph
0xff9d2160 M Message>sendTo: 0xc3e0d40: a(n) Message
0xff9d2180 M [] in
RubOpeningClosingDelimiterDecorator(RubParagraphDecorator)>doesNotUnderstand:
extentFromClientBottomRight: 0xde8c478: a(n)
RubOpeningClosingDelimiterDecorator
0xff9d2198 M BlockClosure>on:do: 0xc361248: a(n) BlockClosure
0xff9d21b8 M RubOpeningClosingDelimiterDecorator[I] [20:53:48]
alistair@alistair-xps13 (0)
/home/alistair/pharo/pharo
> (RubParagraphDecorator)>doesNotUnderstand:
> extentFromClientBottomRight: 0xde8c478: a(n)
> RubOpeningClosingDelimiterDecorator
0xff9d21d4 M Message>sendTo: 0xc32f378: a(n) Message
0xff9d21f4 M [] in
RubExtraSelectionDecorator(RubParagraphDecorator)>doesNotUnderstand:
extentFromClientBottomRight: 0xc32de50: a(n) RubExtraSelectionDecorator
0xff9d220c M BlockClosure>on:do: 0xc318948: a(n) BlockClosure
0xff9d222c M
RubExtraSelectionDecorator(RubParagraphDecorator)>doesNotUnderstand:
extentFromClientBottomRight: 0xc32de50: a(n) RubExtraSelectionDecorator
0xff9d2248 M Message>sendTo: 0xc30bed0: a(n) Message
0xff9d2268 M [] in
RubCurrentLineBarDecorator(RubParagraphDecorator)>doesNotUnderstand:
extentFromClientBottomRight: 0xde8c548: a(n) RubCurrentLineBarDecorator
0xff9d2280 M BlockClosure>on:do: 0xc30bcf0: a(n) BlockClosure
0xff9d22a0 M
RubCurrentLineBarDecorator(RubParagraphDecorator)>doesNotUnderstand:
extentFromClientBottomRight: 0xde8c548: a(n) RubCurrentLineBarDecorator
0xff9d22c4 M [] in RubEditingArea(RubAbstractTextArea)>extent:
0xde8c5b8: a(n) RubEditingArea
0xff9d22e4 M RubEditingArea(RubAbstractTextArea)>handleBoundsChange:
0xde8c5b8: a(n) RubEditingArea
0xff9d2300 M RubEditingArea(RubAbstractTextArea)>extent: 0xde8c5b8: a(n)
RubEditingArea
0xff9d231c M RubEditingArea(Morph)>width: 0xde8c5b8: a(n) RubEditingArea
0xff9d2338 M RubTextScrollPane>fitScrollTargetWidth 0xde8c690: a(n)
RubTextScrollPane
0xff9d2350 M RubTextScrollPane>updateScrollbars 0xde8c690: a(n)
RubTextScrollPane
0xff9d236c M RubTextScrollPane>extent: 0xde8c690: a(n) RubTextScrollPane
0xff9d30a0 M RubScrolledTextMorph>manageLayoutInBounds: 0xde8c6c0: a(n)
RubScrolledTextMorph
0xff9d30c0 M RubScrolledTextMorph>manageLayout 0xde8c6c0: a(n)
RubScrolledTextMorph
0xff9d30e0 I RubScrolledTextMorph>extent: 0xde8c6c0: a(n)
RubScrolledTextMorph
0xff9d3108 M RubScrolledTextMorph(Morph)>bounds: 0xde8c6c0: a(n)
RubScrolledTextMorph
0xff9d312c M RubScrolledTextMorph(Morph)>layoutInBounds: 0xde8c6c0: a(n)
RubScrolledTextMorph
0xff9d3184 I TableLayout>layoutTopToBottom:in: 0xde8c8b8: a(n)
TableLayout
0xff9d31b4 M TableLayout>layout:in: 0xde8c8b8: a(n) TableLayout
0xff9d31e0 M PanelMorph(Morph)>doLayoutIn: 0xde8c9d8: a(n) PanelMorph
0xff9d31fc M [] in PanelMorph(Morph)>computeFullBounds 0xde8c9d8: a(n)
PanelMorph
0xff9d3214 M BlockClosure>on:do: 0xc30b7a8: a(n) BlockClosure
0xff9d3234 M PanelMorph(Morph)>computeFullBounds 0xde8c9d8: a(n)
PanelMorph
0xff9d324c M PanelMorph(Morph)>fullBounds 0xde8c9d8: a(n) PanelMorph
0xff9d326c M PanelMorph(Morph)>position: 0xde8c9d8: a(n) PanelMorph
0xff9d3294 M PanelMorph(Morph)>bounds: 0xde8c9d8: a(n) PanelMorph
0xff9d32b8 M PanelMorph(Morph)>layoutInBounds: 0xde8c9d8: a(n)
PanelMorph
0xff9d3310 I TableLayout>layoutTopToBottom:in: 0xde8cbb8: a(n)
TableLayout
0xff9d3340 M TableLayout>layout:in: 0xde8cbb8: a(n) TableLayout
0xff9d336c M LazyTabGroupMorph(Morph)>doLayoutIn: 0xde8b910: a(n)
LazyTabGroupMorph
0xff9cbffc M [] in LazyTabGroupMorph(Morph)>computeFullBounds 0xde8b910:
a(n) LazyTabGroupMorph
0xff9cc014 M BlockClosure>on:do: 0xc3f7ed8: a(n) BlockClosure
0xff9cc034 M LazyTabGroupMorph(Morph)>computeFullBounds 0xde8b910: a(n)
LazyTabGroupMorph
0xff9cc04c M LazyTabGroupMorph(Morph)>fullBounds 0xde8b910: a(n)
LazyTabGroupMorph
0xff9cc06c M [] in PanelMorph(Morph)>submorphBounds 0xde8ba28: a(n)
PanelMorph
0xff9cc090 M Array(SequenceableCollection)>do: 0xde8ba50: a(n) Array
0xff9cc0b0 M PanelMorph(Morph)>submorphBounds 0xde8ba28: a(n) PanelMorph
0xff9cc0d0 M PanelMorph(Morph)>privateFullBounds 0xde8ba28: a(n)
PanelMorph
0xff9cc0ec M PanelMorph(Morph)>changed 0xde8ba28: a(n) PanelMorph
0xff9cc104 M PanelMorph(Morph)>color: 0xde8ba28: a(n) PanelMorph
0xff9cc120 M PanelMorph>adoptPaneColor: 0xde8ba28: a(n) PanelMorph
0xff9cc140 M [] in PanelMorph(Morph)>adoptPaneColor: 0xde8bad0: a(n)
PanelMorph
0xff9cc164 M Array(SequenceableCollection)>do: 0xde8baf8: a(n) Array
0xff9cc180 M PanelMorph(Morph)>submorphsDo: 0xde8bad0: a(n) PanelMorph
0xff9cc19c M PanelMorph(Morph)>adoptPaneColor: 0xde8bad0: a(n)
PanelMorph
0xff9cc1b8 M PanelMorph>adoptPaneColor: 0xde8bad0: a(n) PanelMorph
0xff9cc1d8 M [] in LazyTabGroupMorph(Morph)>adoptPaneColor: 0xde8bb68:
a(n) LazyTabGroupMorph
0xff9cc1fc M Array(SequenceableCollection)>do: 0xde8bbb0: a(n) Array
0xff9cc218 M LazyTabGroupMorph(Morph)>submorphsDo: 0xde8bb68: a(n)
LazyTabGroupMorph
0xff9cc234 M LazyTabGroupMorph(Morph)>adoptPaneColor: 0xde8bb68: a(n)
LazyTabGroupMorph
0xff9cc258 I LazyTabGroupMorph(TabGroupMorph)>adoptPaneColor: 0xde8bb68:
a(n) LazyTabGroupMorph
0xff9cc288 I LazyTabGroupMorph>updatePageIndex: 0xde8bb68: a(n)
LazyTabGroupMorph
0xff9cc2ac I LazyTabGroupMorph(TabGroupMorph)>update: 0xde8bb68: a(n)
LazyTabGroupMorph
0xff9cc2d0 I LazyTabGroupMorph(Object)>update:with: 0xde8bb68: a(n)
LazyTabGroupMorph
0xff9cc2f8 I MorphChangedWithArguments>deliverTo: 0xc3f5cf8: a(n)
MorphChangedWithArguments
0xff9cc314 M LazyTabGroupMorph(Morph)>handleUpdate: 0xde8bb68: a(n)
LazyTabGroupMorph
0xff9cc330 M MessageSend>value: 0xc3f2418: a(n) MessageSend
0xff9cc34c M MessageSend>cull: 0xc3f2418: a(n) MessageSend
0xff9cc368 M MessageSend>cull:cull: 0xc3f2418: a(n) MessageSend
0xff9d0ff8 M [] in AnnouncementSubscription>deliver: 0xc3f1b50: a(n)
AnnouncementSubscription
0xff9d1010 M BlockClosure>on:do: 0xc3f1358: a(n) BlockClosure
0xff9d1030 M BlockClosure>on:fork: 0xc3f1358: a(n) BlockClosure
0xff9d1050 M AnnouncementSubscription>deliver: 0xc3f1b50: a(n)
AnnouncementSubscription
0xff9d1074 M [] in SubscriptionRegistry>deliver:to:startingAt:
0xde8be40: a(n) SubscriptionRegistry
0xff9d1094 M BlockClosure>ifCurtailed: 0xde8be50: a(n) BlockClosure
0xff9d10bc M SubscriptionRegistry>deliver:to:startingAt: 0xde8be40: a(n)
SubscriptionRegistry
0xff9d10e0 M SubscriptionRegistry>deliver:to: 0xde8be40: a(n)
SubscriptionRegistry
0xff9d1104 M SubscriptionRegistry>deliver: 0xde8be40: a(n)
SubscriptionRegistry
0xff9d1124 M Announcer>announce: 0xde8bcf0: a(n) Announcer
0xff9d1140 M GLMTabSelectorBrick(Morph)>doAnnounce: 0xde8bf70: a(n)
GLMTabSelectorBrick
0xff9d1164 I GLMTabSelectorBrick(Morph)>changed:with: 0xde8bf70: a(n)
GLMTabSelectorBrick
0xff9d1190 I GLMTabSelectorBrick>selectedIndex: 0xde8bf70: a(n)
GLMTabSelectorBrick
0xff9d11b4 I LazyTabGroupMorph(TabGroupMorph)>selectedPageIndex:
0xde8bb68: a(n) LazyTabGroupMorph
0xff9d11dc I
GLMMorphicPaneRenderer(GLMMorphicWidgetRenderer)>morph:withTitleOf:
0xc3ec868: a(n) GLMMorphicPaneRenderer
0xff9d11fc M
GLMMorphicPaneRenderer(GLMMorphicWidgetRenderer)>morph:withTitleOrNilOf:
0xc3ec868: a(n) GLMMorphicPaneRenderer
0xff9d1224 I GLMMorphicPaneRenderer>renderContainerFor: 0xc3ec868: a(n)
GLMMorphicPaneRenderer
0xff9d1240 M GLMMorphicPaneRenderer>render: 0xc3ec868: a(n)
GLMMorphicPaneRenderer
0xff9d125c M GLMMorphicPaneRenderer class(GLMMorphicWidgetRenderer
class)>render:from: 0xa12b6f8: a(n) GLMMorphicPaneRenderer class
0xff9d1284 I GLMMorphicRenderer>renderPane: 0xde8c130: a(n)
GLMMorphicRenderer
0xff9d12a8 I GLMPane>renderGlamorouslyOn: 0xde8c0f8: a(n) GLMPane
0xff9d12c4 M GLMMorphicRenderer(GLMRenderer)>render: 0xde8c130: a(n)
GLMMorphicRenderer
0xff9d12e8 I
GLMMorphicPagerRenderer(GLMMorphicWidgetRenderer)>renderObject:
0xde8c140: a(n) GLMMorphicPagerRenderer
0xff9d1308 M [] in GLMMorphicPagerRenderer>render: 0xde8c140: a(n)
GLMMorphicPagerRenderer
0xff9d132c M OrderedCollection>do: 0xc3e9748: a(n) OrderedCollection
0xff9d134c M GLMMorphicPagerRenderer>render: 0xde8c140: a(n)
GLMMorphicPagerRenderer
0xff9d1368 M GLMMorphicPagerRenderer class(GLMMorphicWidgetRenderer
class)>render:from: 0xa0ffab0: a(n) GLMMorphicPagerRenderer class
0xff9d511c I GLMMorphicRenderer>renderPager: 0xde8c130: a(n)
GLMMorphicRenderer
0xff9d5140 I GLMPager>renderGlamorouslyOn: 0xde8c1b0: a(n) GLMPager
0xff9d515c M GLMMorphicRenderer(GLMRenderer)>render: 0xde8c130: a(n)
GLMMorphicRenderer
0xff9d5180 I
GLMMorphicTabbedRenderer(GLMMorphicWidgetRenderer)>renderObject:
0xde8cf50: a(n) GLMMorphicTabbedRenderer
0xff9d51a8 I
GLMMorphicTabbedRenderer(GLMMorphicWidgetRenderer)>renderWithTitleOrNil:
0xde8cf50: a(n) GLMMorphicTabbedRenderer
0xff9d51cc M GLMMorphicTabbedRenderer>render: 0xde8cf50: a(n)
GLMMorphicTabbedRenderer
0xff9d51e8 M GLMMorphicTabbedRenderer class(GLMMorphicWidgetRenderer
class)>render:from: 0xa101060: a(n) GLMMorphicTabbedRenderer class
0xff9d5210 I GLMMorphicRenderer>renderTabbedCompositePresentation:
0xde8c130: a(n) GLMMorphicRenderer
0xff9d5234 I GLMTabbedArrangement>renderGlamorouslyOn: 0xde8cf70: a(n)
GLMTabbedArrangement
0xff9d5258 I GTInspector(GLMCompositePresentation)>renderGlamorouslyOn:
0xde8b678: a(n) GTInspector
0xff9d527c I GLMMorphicRenderer(GLMRenderer)>render: 0xde8c130: a(n)
GLMMorphicRenderer
0xff9d52a0 I
GLMMorphicWindowRenderer(GLMMorphicWidgetRenderer)>renderObject:
0xde8cf80: a(n) GLMMorphicWindowRenderer
0xff9d52d4 I GLMMorphicWindowRenderer>render: 0xde8cf80: a(n)
GLMMorphicWindowRenderer
0xff9d52f8 I GLMMorphicWindowRenderer class(GLMMorphicWidgetRenderer
class)>render:from: 0xa1042c0: a(n) GLMMorphicWindowRenderer class
0xff9d5320 I GLMMorphicRenderer>open: 0xde8c130: a(n) GLMMorphicRenderer
0xff9d5344 I GTInspector(GLMCompositePresentation)>openWith: 0xde8b678:
a(n) GTInspector
0xff9d5368 I GTInspector(GLMCompositePresentation)>openOn:with:
0xde8b678: a(n) GTInspector
0xff9c9138 I GTInspector(GLMCompositePresentation)>openOn: 0xde8b678:
a(n) GTInspector
0xff9c9160 I GTInspector>openOn: 0xde8b678: a(n) GTInspector
0xff9c9184 I GTInspector class>openOn: 0x9ec5cc8: a(n) GTInspector class
0xff9c91a8 I GTInspector class>inspect: 0x9ec5cc8: a(n) GTInspector
class
0xff9c91cc I Text(Object)>inspect 0xde8b770: a(n) Text
0xff9c91ec I [] in
GLMPharoScriptPresentation(GLMRubricSmalltalkCodePresentation)>executionSelectionActions
0xbbb9c88: a(n) GLMPharoScriptPresentation
0xff9c9214 I [] in RubSmalltalkEditor>highlightEvaluateAndDo: 0xae830b0:
a(n) RubSmalltalkEditor
0xff9c9244 I RubSmalltalkEditor>evaluate:andDo: 0xae830b0: a(n)
RubSmalltalkEditor
0xff9c926c I RubSmalltalkEditor>highlightEvaluateAndDo: 0xae830b0: a(n)
RubSmalltalkEditor
0xff9c928c M [] in
GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>actOnHighlightAndEvaluate:
0xbbba468: a(n) GLMMorphicPharoScriptRenderer
0xff9c92ac I RubEditingArea(RubAbstractTextArea)>handleEdit: 0xbbba598:
a(n) RubEditingArea
0xff9c92cc M [] in
GLMMorphicPharoScriptRenderer(GLMMorphicPharoCodeRenderer)>actOnHighlightAndEvaluate:
0xbbba468: a(n) GLMMorphicPharoScriptRenderer
0xff9c92ec M WorldState>runStepMethodsIn: 0x9e32ed0: a(n) WorldState
0xff9c9308 M WorldMorph>runStepMethods 0xa0b6628: a(n) WorldMorph
0xff9c9320 M WorldState>doOneCycleNowFor: 0x9e32ed0: a(n) WorldState
0xff9c933c M WorldState>doOneCycleFor: 0x9e32ed0: a(n) WorldState
0xff9c9358 M WorldMorph>doOneCycle 0xa0b6628: a(n) WorldMorph
0xff9c9370 M [] in MorphicUIManager>spawnNewProcess 0xcfe9d28: a(n)
MorphicUIManager
 0xcfea140 s [] in BlockClosure>newProcess

processes at priority 40
Process  0xdd73620 priority 40
0xff9cf268 M DelayExperimentalSpinScheduler>unschedule: 0xafa3760: a(n)
DelayExperimentalSpinScheduler
0xff9cf284 M DelayWaitTimeout(Delay)>unschedule 0xf256c00: a(n)
DelayWaitTimeout
0xff9cf29c M [] in DelayWaitTimeout>wait 0xf256c00: a(n)
DelayWaitTimeout
0xff9cf2bc M BlockClosure>ensure: 0xd524ea0: a(n) BlockClosure
0xff9cf2d8 M DelayWaitTimeout>wait 0xf256c00: a(n) DelayWaitTimeout
0xff9cf2f4 M Semaphore>waitTimeoutMSecs: 0xd401378: a(n) Semaphore
0xff9cf314 M [] in OSSVMProcess>initializeChildWatcher 0xc8da878: a(n)
OSSVMProcess
0xff9cf32c M BlockClosure>repeat 0xc97f108: a(n) BlockClosure
0xff9cf350 I [] in OSSVMProcess>initializeChildWatcher 0xc8da878: a(n)
OSSVMProcess
0xff9cf370 I [] in BlockClosure>newProcess 0xc97df28: a(n) BlockClosure

processes at priority 31
Process  0xde6c130 priority 31
 0xde6f170 s [] in BlockClosure>newProcess

processes at priority 10
Process  0xdd72f68 priority 10
0xff9cd330 M ProcessorScheduler class>idleProcess 0x9bcedd0: a(n)
ProcessorScheduler class
0xff9cd350 I [] in ProcessorScheduler class>startUp 0x9bcedd0: a(n)
ProcessorScheduler class
0xff9cd370 I [] in BlockClosure>newProcess 0xd005ac8: a(n) BlockClosure

suspended processes
Process  0xdd73390 priority 50
0xff9ce330 I WeakArray class>finalizationProcess 0x9bcefc0: a(n)
WeakArray class
0xff9ce350 I [] in WeakArray class>restartFinalizationProcess 0x9bcefc0:
a(n) WeakArray class
0xff9ce370 I [] in BlockClosure>newProcess 0xc986a60: a(n) BlockClosure

Process  0xad77430 priority 80
0xff9d0370 M
DelayExperimentalSpinScheduler(DelayMicrosecondScheduler)>runTimerEventLoop
0xafa3760: a(n) DelayExperimentalSpinScheduler
 0xaa32a40 s [] in
DelayExperimentalSpinScheduler(DelayMicrosecondScheduler)>startTimerEventLoop
 0xb0c0070 s [] in BlockClosure>newProcess

Process  0xad6f4f0 priority 30
 0xcfac690 s [] in Delay>wait
 0xb89a638 s BlockClosure>ifCurtailed:
 0xbf82c88 s Delay>wait
 0xb89a698 s GTEventDelivery>deliveryCycle
 0xc630d30 s [] in GTEventDelivery>initializeProcess
 0xa26f0e8 s [] in BlockClosure>newProcess

Process  0xdd72f90 priority 60
0xff9cb30c M InputEventFetcher>waitForInput 0xa161618: a(n)
InputEventFetcher
0xff9cb330 M InputEventFetcher>eventLoop 0xa161618: a(n)
InputEventFetcher
0xff9cb350 I [] in InputEventFetcher>installEventLoop 0xa161618: a(n)
InputEventFetcher
0xff9cb370 I [] in BlockClosure>newProcess 0xc9a8b38: a(n) BlockClosure

Process  0xdd72f40 priority 60
0xff9ca330 I SmalltalkImage>lowSpaceWatcher 0x9ea1420: a(n)
SmalltalkImage
0xff9ca350 I [] in SmalltalkImage>installLowSpaceWatcher 0x9ea1420: a(n)
SmalltalkImage
0xff9ca370 I [] in BlockClosure>newProcess 0xc9adbc0: a(n) BlockClosure

Most recent primitives
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**
@
@
@
@
basicScanCharactersFrom:to:in:rightX:stopConditions:kern:
**PrimitiveFailure**

stack page bytes 4096 available headroom 2788 minimum unused headroom
3016

        (SIGUSR1)