<html><head><meta name="qrichtext" content="1" /></head><body style="font-size:10pt;font-family:Nimbus Sans l">
<p>Liebe Squeaker:</p>
<p></p>
<p>&gt; Nebnbei: zum Ausprobieren nimm einfach eine alte andere Squeak VM mit</p>
<p>&gt; dem etoys.image.</p>
<p></p>
<p>Das startet, aber nicht richtig.</p>
<p></p>
<p>Hier ist die Ausgabe von squeak -version:</p>
<p></p>
<p><span style="font-weight:600">squeak -version</span></p>
<p><span style="font-weight:600">3.7-7 #1 Fri Apr 14 11:44:44 UTC 2006 gcc 4.0.3</span></p>
<p><span style="font-weight:600">Squeak3.7 of '4 September 2004' [latest update: #5989]</span></p>
<p><span style="font-weight:600">Linux vernadsky 2.6.12 #1 SMP Mon Jan 2 16:52:14 UTC 2006 i686 GNU/Linux</span></p>
<p><span style="font-weight:600">default plugin location: /usr/lib/squeak/3.7-7/*.so</span></p>
<p></p>
<p></p>
<p>Hier ist die Log-Datei:</p>
<p></p>
<p>emi@barney:~/Etoys$ squeak etoys.image</p>
<p>=========== SqueakDebug.log START ==========</p>
<p>Error: Invalid utf8 input detected</p>
<p>14 September 2008 2:15:26 pm</p>
<p></p>
<p>VM: unix - a SmalltalkImage</p>
<p>Image: Squeakland-OLPC [latest update: #2139]</p>
<p></p>
<p>SecurityManager state:</p>
<p>Restricted: false</p>
<p>FileAccess: true</p>
<p>SocketAccess: true</p>
<p>Working Dir /home/emi/Etoys/My Squeak</p>
<p>Trusted Dir /home/emi/Etoys/secure</p>
<p>Untrusted Dir /home/emi/Etoys/My Squeak</p>
<p></p>
<p>UTF8TextConverter(Object)&gt;&gt;error:</p>
<p>        Receiver: an UTF8TextConverter</p>
<p>        Arguments and temporary variables: </p>
<p>                t1:     'Invalid utf8 input detected'</p>
<p>        Receiver's instance variables: </p>
<p>                acceptingEncodings:     nil</p>
<p>                currentCharSize:        1</p>
<p>                forceToEncodingTag:     nil</p>
<p></p>
<p>UTF8TextConverter&gt;&gt;errorMalformedInput</p>
<p>        Receiver: an UTF8TextConverter</p>
<p>        Arguments and temporary variables: </p>
<p></p>
<p>        Receiver's instance variables: </p>
<p>                acceptingEncodings:     nil</p>
<p>                currentCharSize:        1</p>
<p>                forceToEncodingTag:     nil</p>
<p></p>
<p>UTF8TextConverter&gt;&gt;nextFromStream:</p>
<p>        Receiver: an UTF8TextConverter</p>
<p>        Arguments and temporary variables: </p>
<p>                t1:     a ReadStream 'bŸcher'</p>
<p>                t2:     $Ÿ</p>
<p>                t3:     159</p>
<p>                t4:     $c</p>
<p>                t5:     99</p>
<p>                t6:     nil</p>
<p>                t7:     $h</p>
<p>                t8:     104</p>
<p>                t9:     nil</p>
<p>                t10:    nil</p>
<p>        Receiver's instance variables: </p>
<p>                acceptingEncodings:     nil</p>
<p>                currentCharSize:        1</p>
<p>                forceToEncodingTag:     nil</p>
<p></p>
<p>ByteString(String)&gt;&gt;convertFromWithConverter:</p>
<p>        Receiver: 'bŸcher'</p>
<p>        Arguments and temporary variables: </p>
<p>                t1:     an UTF8TextConverter</p>
<p>                t2:     a ReadStream 'bŸcher'</p>
<p>                t3:     a WriteStream 'b'</p>
<p>                t4:     $b</p>
<p>        Receiver's instance variables: </p>
<p>'bŸcher'</p>
<p></p>
<p></p>
<p>--- The full stack ---</p>
<p>UTF8TextConverter(Object)&gt;&gt;error:</p>
<p>UTF8TextConverter&gt;&gt;errorMalformedInput</p>
<p>UTF8TextConverter&gt;&gt;nextFromStream:</p>
<p>ByteString(String)&gt;&gt;convertFromWithConverter:</p>
<p> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>FilePath&gt;&gt;pathName:isEncoded:</p>
<p>FilePath class&gt;&gt;pathName:isEncoded:</p>
<p>DirectoryEntry&gt;&gt;convertFromSystemName</p>
<p>[] in UnixFileDirectory(FileDirectory)&gt;&gt;directoryContentsFor: {[:t7 | t7 convertFromSystemName]}</p>
<p>Array(SequenceableCollection)&gt;&gt;collect:</p>
<p>UnixFileDirectory(FileDirectory)&gt;&gt;directoryContentsFor:</p>
<p>UnixFileDirectory(FileDirectory)&gt;&gt;entries</p>
<p>UnixFileDirectory(FileDirectory)&gt;&gt;directoryNames</p>
<p>UnixFileDirectory(FileDirectory)&gt;&gt;directoryExists:</p>
<p>UnixFileDirectory&gt;&gt;directoryExists:</p>
<p>UnixFileDirectory(FileDirectory)&gt;&gt;assureExistenceOfPath:</p>
<p>UnixFileDirectory(FileDirectory)&gt;&gt;assureExistenceOfPath:</p>
<p>UnixFileDirectory(FileDirectory)&gt;&gt;assureExistence</p>
<p>FileDirectory class&gt;&gt;startUp</p>
<p>FileDirectory class(Behavior)&gt;&gt;startUp:</p>
<p>[] in SystemDictionary&gt;&gt;send:toClassesNamedIn:with: {[:t6 |  t5 := self     at: t6     ifAbsent: [].  t5   ifNil: [t4 add: t6]   ...]}</p>
<p>OrderedCollection&gt;&gt;do:</p>
<p>SystemDictionary&gt;&gt;send:toClassesNamedIn:with:</p>
<p>SystemDictionary&gt;&gt;processStartUpList:</p>
<p>SmalltalkImage&gt;&gt;snapshot:andQuit:embedded:</p>
<p>SmalltalkImage&gt;&gt;snapshot:andQuit:</p>
<p>TheWorldMenu&gt;&gt;saveAndQuit</p>
<p>TheWorldMenu&gt;&gt;doMenuItem:with:</p>
<p>[] in MenuItemMorph&gt;&gt;invokeWithEvent: {[(t2 := selector numArgs) = 0   ifTrue: [target perform: selector]   ifFalse...]}</p>
<p>BlockContext&gt;&gt;ensure:</p>
<p>CursorWithMask(Cursor)&gt;&gt;showWhile:</p>
<p>MenuItemMorph&gt;&gt;invokeWithEvent:</p>
<p>MenuItemMorph&gt;&gt;mouseUp:</p>
<p>MenuItemMorph&gt;&gt;handleMouseUp:</p>
<p>MouseButtonEvent&gt;&gt;sentTo:</p>
<p>MenuItemMorph(Morph)&gt;&gt;handleEvent:</p>
<p>MorphicEventDispatcher&gt;&gt;dispatchDefault:with:</p>
<p>MorphicEventDispatcher&gt;&gt;dispatchEvent:with:</p>
<p>MenuItemMorph(Morph)&gt;&gt;processEvent:using:</p>
<p>MorphicEventDispatcher&gt;&gt;dispatchDefault:with:</p>
<p>MorphicEventDispatcher&gt;&gt;dispatchEvent:with:</p>
<p>MenuMorph(Morph)&gt;&gt;processEvent:using:</p>
<p>MenuMorph(Morph)&gt;&gt;processEvent:</p>
<p>MenuMorph&gt;&gt;handleFocusEvent:</p>
<p>[] in HandMorph&gt;&gt;sendFocusEvent:to:clear: {[ActiveHand := self.  ActiveEvent := t1.  t4 := t2     handleFocusEvent: (t1...]}</p>
<p>[] in PasteUpMorph&gt;&gt;becomeActiveDuring: {[t1 value]}</p>
<p>BlockContext&gt;&gt;on:do:</p>
<p>PasteUpMorph&gt;&gt;becomeActiveDuring:</p>
<p>HandMorph&gt;&gt;sendFocusEvent:to:clear:</p>
<p>HandMorph&gt;&gt;sendEvent:focus:clear:</p>
<p>HandMorph&gt;&gt;sendMouseEvent:</p>
<p>HandMorph&gt;&gt;handleEvent:</p>
<p>HandMorph&gt;&gt;processEvents</p>
<p>[] in WorldState&gt;&gt;doOneCycleNowFor: {[:t3 |  ActiveHand := t3.  t3 processEvents.  t2 := t2     or: [t3 isCapturi...]}</p>
<p>Array(SequenceableCollection)&gt;&gt;do:</p>
<p>WorldState&gt;&gt;handsDo:</p>
<p>WorldState&gt;&gt;doOneCycleNowFor:</p>
<p>WorldState&gt;&gt;doOneCycleFor:</p>
<p>PasteUpMorph&gt;&gt;doOneCycle</p>
<p>[] in Project class&gt;&gt;spawnNewProcess {[[World doOneCycle.  Processor yield.  false] whileFalse.  nil]}</p>
<p>[] in BlockContext&gt;&gt;newProcess {[self value.  Processor terminateActive]}</p>
<p>=========== SqueakDebug.log END  ==========</p>
<p>=========== SqueakDebug.log START ==========</p>
<p>nil</p>
<p>14 September 2008 2:15:36 pm</p>
<p></p>
<p>VM: unix - a SmalltalkImage</p>
<p>Image: Squeakland-OLPC [latest update: #2139]</p>
<p></p>
<p>SecurityManager state:</p>
<p>Restricted: false</p>
<p>FileAccess: true</p>
<p>SocketAccess: true</p>
<p>Working Dir /home/emi/Etoys/My Squeak</p>
<p>Trusted Dir /home/emi/Etoys/secure</p>
<p>Untrusted Dir /home/emi/Etoys/My Squeak</p>
<p></p>
<p>UTF8TextConverter(Object)&gt;&gt;error:</p>
<p>        Receiver: an UTF8TextConverter</p>
<p>        Arguments and temporary variables: </p>
<p>                t1:     'Invalid utf8 input detected'</p>
<p>        Receiver's instance variables: </p>
<p>                acceptingEncodings:     nil</p>
<p>                currentCharSize:        1</p>
<p>                forceToEncodingTag:     nil</p>
<p></p>
<p>UTF8TextConverter&gt;&gt;errorMalformedInput</p>
<p>        Receiver: an UTF8TextConverter</p>
<p>        Arguments and temporary variables: </p>
<p></p>
<p>        Receiver's instance variables: </p>
<p>                acceptingEncodings:     nil</p>
<p>                currentCharSize:        1</p>
<p>                forceToEncodingTag:     nil</p>
<p></p>
<p>UTF8TextConverter&gt;&gt;nextFromStream:</p>
<p>        Receiver: an UTF8TextConverter</p>
<p>        Arguments and temporary variables: </p>
<p>                t1:     a ReadStream 'bŸcher'</p>
<p>                t2:     $Ÿ</p>
<p>                t3:     159</p>
<p>                t4:     $c</p>
<p>                t5:     99</p>
<p>                t6:     nil</p>
<p>                t7:     $h</p>
<p>                t8:     104</p>
<p>                t9:     nil</p>
<p>                t10:    nil</p>
<p>        Receiver's instance variables: </p>
<p>                acceptingEncodings:     nil</p>
<p>                currentCharSize:        1</p>
<p>                forceToEncodingTag:     nil</p>
<p></p>
<p>ByteString(String)&gt;&gt;convertFromWithConverter:</p>
<p>        Receiver: 'bŸcher'</p>
<p>        Arguments and temporary variables: </p>
<p>                t1:     an UTF8TextConverter</p>
<p>                t2:     a ReadStream 'bŸcher'</p>
<p>                t3:     a WriteStream 'b'</p>
<p>                t4:     $b</p>
<p>        Receiver's instance variables: </p>
<p>'bŸcher'</p>
<p></p>
<p></p>
<p>--- The full stack ---</p>
<p>UTF8TextConverter(Object)&gt;&gt;error:</p>
<p>UTF8TextConverter&gt;&gt;errorMalformedInput</p>
<p>UTF8TextConverter&gt;&gt;nextFromStream:</p>
<p>ByteString(String)&gt;&gt;convertFromWithConverter:</p>
<p> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -</p>
<p>FilePath&gt;&gt;pathName:isEncoded:</p>
<p>FilePath class&gt;&gt;pathName:isEncoded:</p>
<p>DirectoryEntry&gt;&gt;convertFromSystemName</p>
<p>[] in UnixFileDirectory(FileDirectory)&gt;&gt;directoryContentsFor: {[:t7 | t7 convertFromSystemName]}</p>
<p>Array(SequenceableCollection)&gt;&gt;collect:</p>
<p>UnixFileDirectory(FileDirectory)&gt;&gt;directoryContentsFor:</p>
<p>UnixFileDirectory(FileDirectory)&gt;&gt;entries</p>
<p>UnixFileDirectory(FileDirectory)&gt;&gt;directoryNames</p>
<p>UnixFileDirectory(FileDirectory)&gt;&gt;directoryExists:</p>
<p>UnixFileDirectory&gt;&gt;directoryExists:</p>
<p>UnixFileDirectory(FileDirectory)&gt;&gt;assureExistenceOfPath:</p>
<p>UnixFileDirectory(FileDirectory)&gt;&gt;assureExistenceOfPath:</p>
<p>UnixFileDirectory(FileDirectory)&gt;&gt;assureExistence</p>
<p>FileDirectory class&gt;&gt;startUp</p>
<p>FileDirectory class(Behavior)&gt;&gt;startUp:</p>
<p>[] in SystemDictionary&gt;&gt;send:toClassesNamedIn:with: {[:t6 |  t5 := self     at: t6     ifAbsent: [].  t5   ifNil: [t4 add: t6]   ...]}</p>
<p>OrderedCollection&gt;&gt;do:</p>
<p>SystemDictionary&gt;&gt;send:toClassesNamedIn:with:</p>
<p>SystemDictionary&gt;&gt;processStartUpList:</p>
<p>SmalltalkImage&gt;&gt;snapshot:andQuit:embedded:</p>
<p>SmalltalkImage&gt;&gt;snapshot:andQuit:</p>
<p>TheWorldMenu&gt;&gt;saveAndQuit</p>
<p>TheWorldMenu&gt;&gt;doMenuItem:with:</p>
<p>[] in MenuItemMorph&gt;&gt;invokeWithEvent: {[(t2 := selector numArgs) = 0   ifTrue: [target perform: selector]   ifFalse...]}</p>
<p>BlockContext&gt;&gt;ensure:</p>
<p>CursorWithMask(Cursor)&gt;&gt;showWhile:</p>
<p>MenuItemMorph&gt;&gt;invokeWithEvent:</p>
<p>MenuItemMorph&gt;&gt;mouseUp:</p>
<p>MenuItemMorph&gt;&gt;handleMouseUp:</p>
<p>MouseButtonEvent&gt;&gt;sentTo:</p>
<p>MenuItemMorph(Morph)&gt;&gt;handleEvent:</p>
<p>MorphicEventDispatcher&gt;&gt;dispatchDefault:with:</p>
<p>MorphicEventDispatcher&gt;&gt;dispatchEvent:with:</p>
<p>MenuItemMorph(Morph)&gt;&gt;processEvent:using:</p>
<p>MorphicEventDispatcher&gt;&gt;dispatchDefault:with:</p>
<p>MorphicEventDispatcher&gt;&gt;dispatchEvent:with:</p>
<p>MenuMorph(Morph)&gt;&gt;processEvent:using:</p>
<p>MenuMorph(Morph)&gt;&gt;processEvent:</p>
<p>MenuMorph&gt;&gt;handleFocusEvent:</p>
<p>[] in HandMorph&gt;&gt;sendFocusEvent:to:clear: {[ActiveHand := self.  ActiveEvent := t1.  t4 := t2     handleFocusEvent: (t1...]}</p>
<p>[] in PasteUpMorph&gt;&gt;becomeActiveDuring: {[t1 value]}</p>
<p>BlockContext&gt;&gt;on:do:</p>
<p>PasteUpMorph&gt;&gt;becomeActiveDuring:</p>
<p>HandMorph&gt;&gt;sendFocusEvent:to:clear:</p>
<p>HandMorph&gt;&gt;sendEvent:focus:clear:</p>
<p>HandMorph&gt;&gt;sendMouseEvent:</p>
<p>HandMorph&gt;&gt;handleEvent:</p>
<p>HandMorph&gt;&gt;processEvents</p>
<p>[] in WorldState&gt;&gt;doOneCycleNowFor: {[:t3 |  ActiveHand := t3.  t3 processEvents.  t2 := t2     or: [t3 isCapturi...]}</p>
<p>Array(SequenceableCollection)&gt;&gt;do:</p>
<p>WorldState&gt;&gt;handsDo:</p>
<p>WorldState&gt;&gt;doOneCycleNowFor:</p>
<p>WorldState&gt;&gt;doOneCycleFor:</p>
<p>PasteUpMorph&gt;&gt;doOneCycle</p>
<p>[] in Project class&gt;&gt;spawnNewProcess {[[World doOneCycle.  Processor yield.  false] whileFalse.  nil]}</p>
<p>[] in BlockContext&gt;&gt;newProcess {[self value.  Processor terminateActive]}</p>
<p>=========== SqueakDebug.log END  ==========</p>
<p></p>
<p></p>
</body></html>