Liebe Squeaker:
Nebnbei: zum Ausprobieren nimm einfach eine alte andere Squeak VM mit dem etoys.image.
Das startet, aber nicht richtig.
Hier ist die Ausgabe von squeak -version:
squeak -version 3.7-7 #1 Fri Apr 14 11:44:44 UTC 2006 gcc 4.0.3 Squeak3.7 of '4 September 2004' [latest update: #5989] Linux vernadsky 2.6.12 #1 SMP Mon Jan 2 16:52:14 UTC 2006 i686 GNU/Linux default plugin location: /usr/lib/squeak/3.7-7/*.so
Hier ist die Log-Datei:
emi@barney:~/Etoys$ squeak etoys.image =========== SqueakDebug.log START ========== Error: Invalid utf8 input detected 14 September 2008 2:15:26 pm
VM: unix - a SmalltalkImage Image: Squeakland-OLPC [latest update: #2139]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /home/emi/Etoys/My Squeak Trusted Dir /home/emi/Etoys/secure Untrusted Dir /home/emi/Etoys/My Squeak
UTF8TextConverter(Object)>>error: Receiver: an UTF8TextConverter Arguments and temporary variables: t1: 'Invalid utf8 input detected' Receiver's instance variables: acceptingEncodings: nil currentCharSize: 1 forceToEncodingTag: nil
UTF8TextConverter>>errorMalformedInput Receiver: an UTF8TextConverter Arguments and temporary variables:
Receiver's instance variables: acceptingEncodings: nil currentCharSize: 1 forceToEncodingTag: nil
UTF8TextConverter>>nextFromStream: Receiver: an UTF8TextConverter Arguments and temporary variables: t1: a ReadStream 'bcher' t2: $ t3: 159 t4: $c t5: 99 t6: nil t7: $h t8: 104 t9: nil t10: nil Receiver's instance variables: acceptingEncodings: nil currentCharSize: 1 forceToEncodingTag: nil
ByteString(String)>>convertFromWithConverter: Receiver: 'bcher' Arguments and temporary variables: t1: an UTF8TextConverter t2: a ReadStream 'bcher' t3: a WriteStream 'b' t4: $b Receiver's instance variables: 'bcher'
--- 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: TheWorldMenu>>saveAndQuit 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]} =========== SqueakDebug.log END ========== =========== SqueakDebug.log START ========== nil 14 September 2008 2:15:36 pm
VM: unix - a SmalltalkImage Image: Squeakland-OLPC [latest update: #2139]
SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /home/emi/Etoys/My Squeak Trusted Dir /home/emi/Etoys/secure Untrusted Dir /home/emi/Etoys/My Squeak
UTF8TextConverter(Object)>>error: Receiver: an UTF8TextConverter Arguments and temporary variables: t1: 'Invalid utf8 input detected' Receiver's instance variables: acceptingEncodings: nil currentCharSize: 1 forceToEncodingTag: nil
UTF8TextConverter>>errorMalformedInput Receiver: an UTF8TextConverter Arguments and temporary variables:
Receiver's instance variables: acceptingEncodings: nil currentCharSize: 1 forceToEncodingTag: nil
UTF8TextConverter>>nextFromStream: Receiver: an UTF8TextConverter Arguments and temporary variables: t1: a ReadStream 'bcher' t2: $ t3: 159 t4: $c t5: 99 t6: nil t7: $h t8: 104 t9: nil t10: nil Receiver's instance variables: acceptingEncodings: nil currentCharSize: 1 forceToEncodingTag: nil
ByteString(String)>>convertFromWithConverter: Receiver: 'bcher' Arguments and temporary variables: t1: an UTF8TextConverter t2: a ReadStream 'bcher' t3: a WriteStream 'b' t4: $b Receiver's instance variables: 'bcher'
--- 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: TheWorldMenu>>saveAndQuit 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]} =========== SqueakDebug.log END ==========