Failed

unix-64 / Tests-unix-64 / Unix64.Glamour.Tests.Morphic.GLMUpdateMorphicTest.testAnnouncerUnregistration (from Glamour-Tests-Morphic)

Failing for the past 1 build (Since #189 )
Took 1.7 sec.

Error Message

1

Stacktrace

SubscriptOutOfBounds
1
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:
[ 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