Regression

unix-32 / Tests-unix-32 / Unix32.Glamour.Tests.Morphic.GLMUpdateMorphicTest.testAnnouncerUnregistration (from Glamour-Tests-Morphic)

Failing for the past 1 build (Since Unstable#6 )
Took 1.3 sec.

Error Message

1

Stacktrace

OrderedCollection(Object)>>errorSubscriptBounds:
OrderedCollection>>at:
RubParagraph>>characterBlockForIndex:
Message>>sendTo:
[ aMessage sendTo: next ] in RubOpeningClosingDelimiterDecorator(RubParagraphDecorator)>>doesNotUnderstand: #characterBlockForIndex:
BlockClosure>>on:do:
RubOpeningClosingDelimiterDecorator(RubParagraphDecorator)>>doesNotUnderstand: #characterBlockForIndex:
Message>>sendTo:
[ aMessage sendTo: next ] in RubExtraSelectionDecorator(RubParagraphDecorator)>>doesNotUnderstand: #characterBlockForIndex:
BlockClosure>>on:do:
RubExtraSelectionDecorator(RubParagraphDecorator)>>doesNotUnderstand: #characterBlockForIndex:
Message>>sendTo:
[ aMessage sendTo: next ] in RubCurrentLineBarDecorator(RubParagraphDecorator)>>doesNotUnderstand: #characterBlockForIndex:
BlockClosure>>on:do:
RubCurrentLineBarDecorator(RubParagraphDecorator)>>doesNotUnderstand: #characterBlockForIndex:
RubEditingState>>markIndex:pointIndex:
[ self editingState markIndex: markIndex pointIndex: pointIndex ] in RubEditingArea(RubAbstractTextArea)>>markIndex:pointIndex:
RubEditingArea(RubAbstractTextArea)>>handleSelectionChange:
RubEditingArea(RubAbstractTextArea)>>markIndex:pointIndex:
RubEditingArea(RubAbstractTextArea)>>recomputeSelection
[ self wrapped
	ifTrue: [ (bounds notNil and: [ bounds width = aPoint x ])
			ifTrue: [ ^ self ].
		super
			extent:
				((self paragraph withoutDecorator extentFromClientBottomRight: aPoint)
					max: self minimumExtent).
		self recomputeSelection ] ] in RubEditingArea(RubAbstractTextArea)>>extent:
RubEditingArea(RubAbstractTextArea)>>handleBoundsChange:
RubEditingArea(RubAbstractTextArea)>>extent:
RubEditingArea(Morph)>>width:
RubTextScrollPane>>fitScrollTargetWidth
RubTextScrollPane>>updateScrollbars
RubTextScrollPane(GeneralScrollPane)>>doLayoutIn:
[ self doLayoutIn: self layoutBounds ] in RubTextScrollPane(Morph)>>computeFullBounds
BlockClosure>>on:do:
RubTextScrollPane(Morph)>>computeFullBounds
RubTextScrollPane(Morph)>>fullBounds
[ :m | 
| subBox |
m visible
	ifTrue: [ subBox := m fullBounds.
		box
			ifNil: [ box := subBox copy ]
			ifNotNil: [ box := box quickMerge: subBox ] ] ] in RubScrolledTextMorph(Morph)>>submorphBounds
Array(SequenceableCollection)>>do:
RubScrolledTextMorph(Morph)>>submorphBounds
RubScrolledTextMorph(Morph)>>privateFullBounds
RubScrolledTextMorph(Morph)>>doLayoutIn:
[ self doLayoutIn: self layoutBounds ] in RubScrolledTextMorph(Morph)>>computeFullBounds
BlockClosure>>on:do:
RubScrolledTextMorph(Morph)>>computeFullBounds
RubScrolledTextMorph(Morph)>>fullBounds
[ :m | 
| subBox |
m visible
	ifTrue: [ subBox := m fullBounds.
		box
			ifNil: [ box := subBox copy ]
			ifNotNil: [ box := box quickMerge: subBox ] ] ] in GLMPanelMorph(Morph)>>submorphBounds
Array(SequenceableCollection)>>do:
GLMPanelMorph(Morph)>>submorphBounds
GLMPanelMorph(Morph)>>privateFullBounds
GLMPanelMorph(Morph)>>doLayoutIn:
[ self doLayoutIn: self layoutBounds ] in GLMPanelMorph(Morph)>>computeFullBounds
BlockClosure>>on:do:
GLMPanelMorph(Morph)>>computeFullBounds
GLMPanelMorph(Morph)>>fullBounds
[ :m | 
| subBox |
m visible
	ifTrue: [ subBox := m fullBounds.
		box
			ifNil: [ box := subBox copy ]
			ifNotNil: [ box := box quickMerge: subBox ] ] ] in LazyTabGroupMorph(Morph)>>submorphBounds
Array(SequenceableCollection)>>do:
LazyTabGroupMorph(Morph)>>submorphBounds
LazyTabGroupMorph(Morph)>>privateFullBounds
LazyTabGroupMorph(Morph)>>changed
LazyTabGroupMorph(Morph)>>extent:
LazyTabGroupMorph(Morph)>>bounds:
LazyTabGroupMorph(Morph)>>layoutInBounds:
TableLayout>>layoutTopToBottom:in:
TableLayout>>layout:in:
GLMPanelMorph(Morph)>>doLayoutIn:
[ self doLayoutIn: self layoutBounds ] in GLMPanelMorph(Morph)>>computeFullBounds
BlockClosure>>on:do:
GLMPanelMorph(Morph)>>computeFullBounds
GLMPanelMorph(Morph)>>fullBounds
GLMPanelMorph(Morph)>>privateInvalidateMorph:
GLMPanelMorph(Morph)>>privateAddMorph:atIndex:
GLMPanelMorph(Morph)>>addMorphFront:
GLMPanelMorph(Morph)>>addMorph:
GLMPanelMorph(Morph)>>addMorph:fullFrame:
GLMMorphicPaneRenderer>>renderContainerFor:
GLMMorphicPaneRenderer>>actOnMatchingPresentationChanged:
MessageSend>>value:
MessageSend>>cull:
MessageSend>>cull:cull:
[ action cull: anAnnouncement cull: announcer ] in AnnouncementSubscription>>deliver:
BlockClosure>>on:do:
BlockClosure>>on:fork:
AnnouncementSubscription>>deliver:
[ "Ensure delivery to remaining announcements" subscription deliver: anAnnouncement ] in SubscriptionRegistry>>deliver:to:startingAt:
BlockClosure>>ifCurtailed:
SubscriptionRegistry>>deliver:to:startingAt:
SubscriptionRegistry>>deliver:to:
SubscriptionRegistry>>deliver:
GLMPane(Announcer)>>announce:
GLMPane(GLMAnnouncer)>>announce:
GLMPane(GLMLoggedObject)>>announce:
GLMPane>>notingPresentationChangeDo:
GLMPanePort(GLMBoundPort)>>notingPresentationChangeDo:
GLMTransmission>>transmitIn:
[ :each | each transmitIn: aPortEvent transmissionContext copy ] in GLMTabulator(GLMBrowser)>>outerPortEvent:
OrderedCollection>>do:
GLMTabulator(GLMBrowser)>>outerPortEvent:
[ :each | each outerPortEvent: aPortEvent ] in GLMCompositePresentation>>outerPortEvent:
OrderedCollection>>do:
GLMCompositePresentation>>do:
GLMCompositePresentation>>outerPortEvent:
GLMPane>>portEvent:
[ self silentValue: anObject.
self pane
	portEvent:
		(GLMPortEvent
			on: self
			previouslyValued: oldValue
			in: aTransmissionContext) ] in GLMPanePort>>changeValueTo:in:
GLMPane>>notingPresentationChangeDo:
GLMPanePort>>changeValueTo:in:
GLMPanePort>>value:in:
GLMPanePort(GLMPort)>>value:
GLMTabulator(GLMPresentation)>>entity:
GLMUpdateMorphicTest>>testAnnouncerUnregistration
GLMUpdateMorphicTest(TestCase)>>performTest