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 'bŸcher'

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: 'bŸcher'

Arguments and temporary variables:

t1: an UTF8TextConverter

t2: a ReadStream 'bŸcher'

t3: a WriteStream 'b'

t4: $b

Receiver's instance variables:

'bŸcher'

--- 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 'bŸcher'

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: 'bŸcher'

Arguments and temporary variables:

t1: an UTF8TextConverter

t2: a ReadStream 'bŸcher'

t3: a WriteStream 'b'

t4: $b

Receiver's instance variables:

'bŸcher'

--- 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 ==========