[BUG] "Primitive failed" in Multi-level Undo package

Frank Shearar frank.shearar at rnid.org.uk
Thu Feb 5 09:37:02 UTC 2004


I installed the "Mutli-level Undo for TextMorph" (sic) package in a (virgin)
Squeak-3.7a image. When I edit text in a SystemBrowser (like editing a
method, for instance), I get a "Primitive Failed" error, as shown by the
stack trace attached.

I realise PackageLoader shows the package listed for 3.6 only, but I hadn't
expected 3.7a to have quite such an allergic reaction :)

frank

5 February 2004 9:19:16 am

VM: Win32 - a SmalltalkImage
Image: Squeak3.7alpha [latest update: #5657]

String class(Object)>>error:
	Receiver: String
	Arguments and temporary variables:
		aString: 	'a primitive has failed'
	Receiver's instance variables:
		superclass: 	ArrayedCollection
		methodDict: 	a MethodDictionary(#*->a CompiledMethod (438) #+->a
CompiledMethod (1913) #-->a CompiledMethod (1848) #...etc...
		format: 	23554
		instanceVariables: 	nil
		organization: 	('accessing' at: at:put: byteAt: byteAt:put: byteSize
do:toFieldN...etc...
		subclasses: 	#(Symbol)
		name: 	#String
		classPool: 	a Dictionary(#AsciiOrder->a ByteArray(0 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20 21 22 23...etc...
		sharedPools: 	nil
		environment: 	a SystemDictionary(lots of globals)
		category: 	nil

String class(Object)>>primitiveFailed
	Receiver: String
	Arguments and temporary variables:

	Receiver's instance variables:
		superclass: 	ArrayedCollection
		methodDict: 	a MethodDictionary(#*->a CompiledMethod (438) #+->a
CompiledMethod (1913) #-->a CompiledMethod (1848) #...etc...
		format: 	23554
		instanceVariables: 	nil
		organization: 	('accessing' at: at:put: byteAt: byteAt:put: byteSize
do:toFieldN...etc...
		subclasses: 	#(Symbol)
		name: 	#String
		classPool: 	a Dictionary(#AsciiOrder->a ByteArray(0 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20 21 22 23...etc...
		sharedPools: 	nil
		environment: 	a SystemDictionary(lots of globals)
		category: 	nil

String class(Behavior)>>basicNew:
	Receiver: String
	Arguments and temporary variables:
		sizeRequested: 	-1
	Receiver's instance variables:
		superclass: 	ArrayedCollection
		methodDict: 	a MethodDictionary(#*->a CompiledMethod (438) #+->a
CompiledMethod (1913) #-->a CompiledMethod (1848) #...etc...
		format: 	23554
		instanceVariables: 	nil
		organization: 	('accessing' at: at:put: byteAt: byteAt:put: byteSize
do:toFieldN...etc...
		subclasses: 	#(Symbol)
		name: 	#String
		classPool: 	a Dictionary(#AsciiOrder->a ByteArray(0 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20 21 22 23...etc...
		sharedPools: 	nil
		environment: 	a SystemDictionary(lots of globals)
		category: 	nil

String class(Behavior)>>new:
	Receiver: String
	Arguments and temporary variables:
		sizeRequested: 	-1
	Receiver's instance variables:
		superclass: 	ArrayedCollection
		methodDict: 	a MethodDictionary(#*->a CompiledMethod (438) #+->a
CompiledMethod (1913) #-->a CompiledMethod (1848) #...etc...
		format: 	23554
		instanceVariables: 	nil
		organization: 	('accessing' at: at:put: byteAt: byteAt:put: byteSize
do:toFieldN...etc...
		subclasses: 	#(Symbol)
		name: 	#String
		classPool: 	a Dictionary(#AsciiOrder->a ByteArray(0 1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20 21 22 23...etc...
		sharedPools: 	nil
		environment: 	a SystemDictionary(lots of globals)
		category: 	nil


--- The full stack ---
String class(Object)>>error:
String class(Object)>>primitiveFailed
String class(Behavior)>>basicNew:
String class(Behavior)>>new:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
String(SequenceableCollection)>>copyFrom:to:
Text>>copyFrom:to:
TextMorphEditor>>zapSelectionWith:
TextMorphEditor(ParagraphEditor)>>backTo:
TextMorphEditor(ParagraphEditor)>>backspace:
TextMorphEditor(ParagraphEditor)>>dispatchOnCharacter:with:
TextMorphEditor>>dispatchOnCharacter:with:
TextMorphEditor(ParagraphEditor)>>readKeyboard
TextMorphEditor>>readKeyboard
[] in TextMorphForEditView(TextMorph)>>keyStroke: {[editor readKeyboard]}
TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:
TextMorphForEditView>>handleInteraction:fromEvent:
TextMorphForEditView(TextMorph)>>keyStroke:
TextMorphForEditView>>keyStroke:
TextMorphForEditView(TextMorph)>>handleKeystroke:
KeyboardEvent>>sentTo:
TextMorphForEditView(Morph)>>handleEvent:
TextMorphForEditView(Morph)>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.  ActiveEvent
:= anEvent.  result := focusHolder     han...]}
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
...etc...





More information about the Squeak-dev mailing list