[Etoys] unable to keep current projext: duplicate selector

Markus Schlager m.slg at gmx.de
Wed Dec 10 12:07:57 EST 2008


On Sat, 15 Nov 2008, Yoshiki Ohshima wrote:

>>   Can you send us (Scott, Bert, Ted, Takashi and me) the project?
>
>  Or the better is that you save the image (Alt-shift-w, "save as...")
> and give us the image and changes...
>

Hi Yoshiki,

Recently this error showed up once more and I was able to save the whole 
image. You can download image and changes at

<http://signalbscw.tcs.informatik.uni-muenchen.de/pub/bscw.cgi/0/211329>

The project is called 'patricks stern am besten'. As far as I figured out, 
the script causing the problem is 'tropfen>>a'. Possible issues may be 
a player used within the script that got deleted, or a variable of 
'tropfen' having had the same name, maybe a unicode-issue with German 
umlauts?

Attached is the SqueakDebug.log when I start the image, open a viewer for 
'tropfen' and try to open a script-editor for the Script 'tropfen>>a' by 
dragging the tile from the viewer into the world. After that I left squeak
(all on ubuntu hardy).

Markus

-------------- next part --------------
=========== SqueakDebug.log START ==========
Error: Invalid utf8 input detected
10 December 2008 6:05:35 pm

VM: unix - a SmalltalkImage
Image: Squeakland-OLPC [Letztes Update: #2139]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/ubuntu/Desktop/My Squeak
Trusted Dir /home/ubuntu/Desktop/secure
Untrusted Dir /home/ubuntu/Desktop/My Squeak

UTF8TextConverter(Object)>>error:
	Receiver: an UTF8TextConverter
	Arguments and temporary variables: 
		t1: 	'Invalid utf8 input detected'
	Receiver's instance variables: 
		acceptingEncodings: 	nil
		currentCharSize: 	nil
		forceToEncodingTag: 	nil

UTF8TextConverter>>errorMalformedInput
	Receiver: an UTF8TextConverter
	Arguments and temporary variables: 

	Receiver's instance variables: 
		acceptingEncodings: 	nil
		currentCharSize: 	nil
		forceToEncodingTag: 	nil

UTF8TextConverter>>nextFromStream:
	Receiver: an UTF8TextConverter
	Arguments and temporary variables: 
		t1: 	a ReadStream '?ffentlich'
		t2: 	$?
		t3: 	133
		t4: 	$f
		t5: 	102
		t6: 	nil
		t7: 	$f
		t8: 	102
		t9: 	nil
		t10: 	nil
	Receiver's instance variables: 
		acceptingEncodings: 	nil
		currentCharSize: 	nil
		forceToEncodingTag: 	nil

ByteString(String)>>convertFromWithConverter:
	Receiver: '?ffentlich'
	Arguments and temporary variables: 
		t1: 	an UTF8TextConverter
		t2: 	a ReadStream '?ffentlich'
		t3: 	a WriteStream ''
		t4: 	nil
	Receiver's instance variables: 
'?ffentlich'


--- The full stack ---
UTF8TextConverter(Object)>>error:
UTF8TextConverter>>errorMalformedInput
UTF8TextConverter>>nextFromStream:
ByteString(String)>>convertFromWithConverter:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FilePath>>pathName:isEncoded:
FilePath class>>pathName:isEncoded:
DirectoryEntry>>convertFromSystemName
[] in UnixFileDirectory(FileDirectory)>>directoryContentsFor: {[:t7 | t7 convertFromSystemName]}
Array(SequenceableCollection)>>collect:
UnixFileDirectory(FileDirectory)>>directoryContentsFor:
UnixFileDirectory(FileDirectory)>>entries
UnixFileDirectory(FileDirectory)>>directoryNames
UnixFileDirectory(FileDirectory)>>directoryExists:
UnixFileDirectory>>directoryExists:
UnixFileDirectory(FileDirectory)>>assureExistenceOfPath:
UnixFileDirectory(FileDirectory)>>assureExistenceOfPath:
UnixFileDirectory(FileDirectory)>>assureExistence
FileDirectory class>>startUp
FileDirectory class(Behavior)>>startUp:
[] in SystemDictionary>>send:toClassesNamedIn:with: {[:t6 |  t5 := self     at: t6     ifAbsent: [].  t5   ifNil: [t4 add: t6]   ...]}
OrderedCollection>>do:
SystemDictionary>>send:toClassesNamedIn:with:
SystemDictionary>>processStartUpList:
SmalltalkImage>>snapshot:andQuit:embedded:
SmalltalkImage>>snapshot:andQuit:
SmalltalkImage>>saveImageInFileNamed:
SmalltalkImage>>saveAs
TheWorldMenu>>doMenuItem:with:
[] in MenuItemMorph>>invokeWithEvent: {[(t2 := selector numArgs) = 0   ifTrue: [target perform: selector]   ifFalse...]}
BlockContext>>ensure:
CursorWithMask(Cursor)>>showWhile:
MenuItemMorph>>invokeWithEvent:
MenuItemMorph>>mouseUp:
MenuItemMorph>>handleMouseUp:
MouseButtonEvent>>sentTo:
MenuItemMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuItemMorph(Morph)>>processEvent:using:
MorphicEventDispatcher>>dispatchDefault:with:
MorphicEventDispatcher>>dispatchEvent:with:
MenuMorph(Morph)>>processEvent:using:
MenuMorph(Morph)>>processEvent:
MenuMorph>>handleFocusEvent:
[] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.  ActiveEvent := t1.  t4 := t2     handleFocusEvent: (t1...]}
[] in PasteUpMorph>>becomeActiveDuring: {[t1 value]}
BlockContext>>on:do:
PasteUpMorph>>becomeActiveDuring:
HandMorph>>sendFocusEvent:to:clear:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendMouseEvent:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:t3 |  ActiveHand := t3.  t3 processEvents.  t2 := t2     or: [t3 isCapturi...]}
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor yield.  false] whileFalse.  nil]}
[] in BlockContext>>newProcess {[self value.  Processor terminateActive]}
-- and more not shown --=========== SqueakDebug.log END  ==========
=========== SqueakDebug.log START ==========
Error: duplicate selector
10 December 2008 6:06:28 pm

VM: unix - a SmalltalkImage
Image: Squeakland-OLPC [Letztes Update: #2139]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir /home/ubuntu/Desktop/My Squeak
Trusted Dir /home/ubuntu/Desktop/secure
Untrusted Dir /home/ubuntu/Desktop/My Squeak

UniclassScript(Object)>>error:
	Receiver: A UniclassScript - selector: #a scriptEditor: nil
	Arguments and temporary variables: 
		t1: 	'duplicate selector'
	Receiver's instance variables: 
		authoringStamp: 	' 12/9/2008 11:58'
		properties: 	nil
		elementSymbol: 	nil
		naturalLanguageTranslations: 	nil
		selector: 	#a
		argumentVariables: 	an OrderedCollection()
		resultSpecification: 	nil
		receiverType: 	nil
		attributeKeywords: 	an OrderedCollection()
		defaultStatus: 	#normal
		playerClass: 	Player136123
		currentScriptEditor: 	nil
		formerScriptingTiles: 	nil
		isTextuallyCoded: 	false
		lastSourceString: 	nil

UniclassScript>>instantiatedScriptEditorForPlayer:
	Receiver: A UniclassScript - selector: #a scriptEditor: nil
	Arguments and temporary variables: 
		t1: 	a Player136123 (2052) named tropfen
		t2: 	nil
	Receiver's instance variables: 
		authoringStamp: 	' 12/9/2008 11:58'
		properties: 	nil
		elementSymbol: 	nil
		naturalLanguageTranslations: 	nil
		selector: 	#a
		argumentVariables: 	an OrderedCollection()
		resultSpecification: 	nil
		receiverType: 	nil
		attributeKeywords: 	an OrderedCollection()
		defaultStatus: 	#normal
		playerClass: 	Player136123
		currentScriptEditor: 	nil
		formerScriptingTiles: 	nil
		isTextuallyCoded: 	false
		lastSourceString: 	nil

Player136123(Player)>>scriptEditorFor:
	Receiver: a Player136123 (2052) named tropfen
	Arguments and temporary variables: 
		t1: 	#a
		t2: 	nil
	Receiver's instance variables: 
		dependents: 	nil
		costume: 	a SketchMorph<tropfen>(784)
		costumes: 	an OrderedCollection(a SketchMorph<tropfen>(3974) a SketchMorph<tropf...etc...
		tropfensalter: 	299
		alter: 	300

PhraseTileMorph>>morphToDropInPasteUp:
	Receiver: a PhraseTileMorph(2264)
	Arguments and temporary variables: 
		t1: 	a PasteUpMorph<Welt>(1431) [world]
		t2: 	a Player136123 (2052) named tropfen
		t3: 	#a
		t4: 	nil
		t5: 	577.0 at 197.0
		t6: 	nil
		t7: 	nil
	Receiver's instance variables: 
		bounds: 	577.0 at 197.0 corner: 652.0 at 229.0
		owner: 	a HandMorph<Hand>(2155)
		submorphs: 	#(a TilePadMorph(1541) type=#Player a TileMorph(1872) - #operator op...etc...
		fullBounds: 	577.0 at 197.0 corner: 652.0 at 229.0
		color: 	Color transparent
		extension: 	a MorphExtensionPlus (2198) [other:  (formerPosition -> 973 at 289) (mi...etc...
		borderWidth: 	0
		borderColor: 	Color black
		resultType: 	#unknown
		brightenedOnEnter: 	nil
		userScriptSelector: 	#a
		justGrabbedFromViewer: 	true
		vocabulary: 	nil
		vocabularySymbol: 	#eToy


--- The full stack ---
UniclassScript(Object)>>error:
UniclassScript>>instantiatedScriptEditorForPlayer:
Player136123(Player)>>scriptEditorFor:
PhraseTileMorph>>morphToDropInPasteUp:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PasteUpMorph>>morphToDropFrom:
PasteUpMorph>>acceptDroppingMorph:event:
PasteUpMorph(Morph)>>handleDropMorph:
DropEvent>>sentTo:
PasteUpMorph(Morph)>>handleEvent:
MorphicEventDispatcher>>dispatchDropEvent:with:
MorphicEventDispatcher>>dispatchEvent:with:
PasteUpMorph(Morph)>>processEvent:using:
PasteUpMorph>>processEvent:using:
PasteUpMorph(Morph)>>processEvent:
HandMorph>>sendEvent:focus:clear:
HandMorph>>sendEvent:focus:
HandMorph>>dropMorph:event:
[] in HandMorph>>dropMorphs: {[:t2 | self dropMorph: t2 event: t1]}
Array(SequenceableCollection)>>reverseDo:
HandMorph(Morph)>>submorphsReverseDo:
HandMorph>>dropMorphs:
HandMorph>>handleEvent:
HandMorph>>processEvents
[] in WorldState>>doOneCycleNowFor: {[:t3 |  ActiveHand := t3.  t3 processEvents.  t2 := t2     or: [t3 isCapturi...]}
Array(SequenceableCollection)>>do:
WorldState>>handsDo:
WorldState>>doOneCycleNowFor:
WorldState>>doOneCycleFor:
PasteUpMorph>>doOneCycle
[] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor yield.  false] whileFalse.  nil]}
[] in BlockContext>>newProcess {[self value.  Processor terminateActive]}
=========== SqueakDebug.log END  ==========


More information about the Etoys mailing list