Anonymous | Login | 01-15-2021 17:50 UTC |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0006434 | [Squeak] Files | minor | have not tried | 04-20-07 22:29 | 02-06-11 23:48 | ||||
Reporter | johnmci | View Status | public | ||||||
Assigned To | cdegroot | ||||||||
Priority | high | Resolution | fixed | ||||||
Status | closed | Product Version | |||||||
Summary | 0006434: nil does not understand sameAs: in StandardFileStream class>>retryWithGC:until:forFileNamed: | ||||||||
Description |
VM: Mac OS - a SmalltalkImage Image: Squeak3.8.1 [latest update: 6747] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /Users/mauriziopaoluzi/Applications/Sophie.app/Contents/Resources Trusted Dir /Users/mauriziopaoluzi/Applications/Sophie.app/Contents/Resources Untrusted Dir /foobar/tooBar/forSqueak/bogus/ UndefinedObject(Object)>>doesNotUnderstand: Receiver: nil Arguments and temporary variables: aMessage: sameAs: '/private/var/tmp/folders.501/TemporaryItems/SophieTemp/7pqobzch7up8b9k10floz52le/xmlData.xml' Receiver's instance variables: nil [] in StandardFileStream class>>retryWithGC:until:forFileNamed: {[:file | file name sameAs: fullName]} Arguments and temporary variables: execBlock: [] in MultiByteFileStream(StandardFileStream)>>open:forWrite: {[self primOpen: f writable: writeMode]} testBlock: [] in MultiByteFileStream(StandardFileStream)>>open:forWrite: {[:id | id notNil]} fullName: '/private/var/tmp/folders.501/TemporaryItems/SophieTemp/7pqobzch7up8b9k10floz52le/xmlData.xml' blockValue: nil foundIt: nil file: MultiByteFileStream: '/Users/mauriziopaoluzi/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' [] in Array(Collection)>>anySatisfy: {[:t2 | (t1 value: t2) ifTrue: [^ true]. nil]} Arguments and temporary variables: t1: [] in StandardFileStream class>>retryWithGC:until:forFileNamed: {[:file | file name sameAs: fullName]} t2: MultiByteFileStream: '/Users/mauriziopaoluzi/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' Array(SequenceableCollection)>>do: Receiver: #(MultiByteFileStream: '/Users/mauriziopaoluzi/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' MultiByteFileStream: '/private/tmp/SophieTutorialNumberOne/As We May Think TUTORIAL WORKBOOK.spbf/' MultiByteFileStream: '/Users/mauriziopaoluzi/Library/Application Support/Sophie/library/Sophie NoteBook.spbf/SophieBook.spb' MultiByteFileStream: '/private/tmp/SophieTutorialNumberOne/As We May Think TUTORIAL WORKBOOK.spbf/SophieBook.spb' MultiByteFileStream: '/Users/mauriziopaoluzi/Applications/Sophie.app/Contents/Resources/sophie.changes') Arguments and temporary variables: t1: [] in Array(Collection)>>anySatisfy: {[:t2 | (t1 value: t2) ifTrue: [^ true]. nil]} t2: 1 t3: 5 Receiver's instance variables: #(MultiByteFileStream: '/Users/mauriziopaoluzi/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' MultiByteFileStream: '/private/tmp/SophieTutorialNumberOne/As We May Think TUTORIAL WORKBOOK.spbf/' MultiByteFileStream: '/Users/mauriziopaoluzi/Library/Application Support/Sophie/library/Sophie NoteBook.spbf/SophieBook.spb' MultiByteFileStream: '/private/tmp/SophieTutorialNumberOne/As We May Think TUTORIAL WORKBOOK.spbf/SophieBook.spb' MultiByteFileStream: '/Users/mauriziopaoluzi/Applications/Sophie.app/Contents/Resources/sophie.changes') Array(Collection)>>anySatisfy: Receiver: #(MultiByteFileStream: '/Users/mauriziopaoluzi/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' MultiByteFileStream: '/private/tmp/SophieTutorialNumberOne/As We May Think TUTORIAL WORKBOOK.spbf/' MultiByteFileStream: '/Users/mauriziopaoluzi/Library/Application Support/Sophie/library/Sophie NoteBook.spbf/SophieBook.spb' MultiByteFileStream: '/private/tmp/SophieTutorialNumberOne/As We May Think TUTORIAL WORKBOOK.spbf/SophieBook.spb' MultiByteFileStream: '/Users/mauriziopaoluzi/Applications/Sophie.app/Contents/Resources/sophie.changes') Arguments and temporary variables: t1: [] in StandardFileStream class>>retryWithGC:until:forFileNamed: {[:file | file name sameAs: fullName]} t2: MultiByteFileStream: '/Users/mauriziopaoluzi/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' Receiver's instance variables: #(MultiByteFileStream: '/Users/mauriziopaoluzi/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' MultiByteFileStream: '/private/tmp/SophieTutorialNumberOne/As We May Think TUTORIAL WORKBOOK.spbf/' MultiByteFileStream: '/Users/mauriziopaoluzi/Library/Application Support/Sophie/library/Sophie NoteBook.spbf/SophieBook.spb' MultiByteFileStream: '/private/tmp/SophieTutorialNumberOne/As We May Think TUTORIAL WORKBOOK.spbf/SophieBook.spb' MultiByteFileStream: '/Users/mauriziopaoluzi/Applications/Sophie.app/Contents/Resources/sophie.changes') StandardFileStream class>>retryWithGC:until:forFileNamed: Receiver: StandardFileStream Arguments and temporary variables: execBlock: [] in MultiByteFileStream(StandardFileStream)>>open:forWrite: {[self primOpen: f writable: writeMode]} testBlock: [] in MultiByteFileStream(StandardFileStream)>>open:forWrite: {[:id | id notNil]} fullName: '/private/var/tmp/folders.501/TemporaryItems/SophieTemp/7pqobzch7up8b9k10floz52le/xmlData.xml' blockValue: nil foundIt: nil file: MultiByteFileStream: '/Users/mauriziopaoluzi/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' Receiver's instance variables: superclass: FileStream methodDict: a MethodDictionary(#actAsExecutor->a CompiledMethod (1006) #asHtml->a CompiledMethod (1513) #ascii->a CompiledMethod (1389) #atEnd->a CompiledMethod (2883) #basicNext->a CompiledMethod (1011) #binary->a CompiledMethod (363) #close->a CompiledMethod (2020) #closed->a CompiledMethod (113) #compressFile->a CompiledMethod (2057) #defaultBrowserReadyWait->a CompiledMethod (2063) #directory->a CompiledMethod (2913) #directoryUrl->a CompiledMethod (2458) #ensureOpen->a CompiledMethod (3268) #file->a CompiledMethod (1515) #finalize->a CompiledMethod (65) #findString:->a CompiledMethod (4094) #findStringFromEnd:->a CompiledMethod (3333) #flush->a CompiledMethod (2183) #fullName->a CompiledMethod (3548) #getFileType->a CompiledMethod (3760) #insertLineFeeds->a CompiledMethod (21) #isBinary->a CompiledMethod (3246) #isDirectory->a CompiledMethod (1236) #isReadOnly->a CompiledMethod (3179) #localName->a CompiledMethod (2451) #modificationTime->a CompiledMethod (1158) #name->a CompiledMethod (3655) #next->a CompiledMethod (1447) #next:->a CompiledMethod (2105) #next:into:startingAt:->a CompiledMethod (1822) #next:putAll:startingAt:->a CompiledMethod (2787) #nextPut:->a CompiledMethod (3935) #nextPutAll:->a CompiledMethod (2001) #nextWordsInto:->a CompiledMethod (874) #open->a CompiledMethod (607) #open:forWrite:->a CompiledMethod (1405) #openReadOnly->a CompiledMethod (165) #padToEndWith:->a CompiledMethod (1548) #peek->a CompiledMethod (2941) #peekFor:->a CompiledMethod (1373) #peekLast->a CompiledMethod (612) #position->a CompiledMethod (430) #position:->a CompiledMethod (737) #post:target:url:ifError:->a CompiledMethod (3683) #post:url:ifError:->a CompiledMethod (2247) #primAtEnd:->a CompiledMethod (3513) #primBrowserReady->a CompiledMethod (269) #primClose:->a CompiledMethod (1429) #primCloseNoError:->a CompiledMethod (1953) #primDropRequestFileHandle:->a CompiledMethod (3444) #primDropRequestFileName:->a CompiledMethod (1178) #primFlush:->a CompiledMethod (2709) #primGetPosition:->a CompiledMethod (2603) #pr...etc... format: 146 instanceVariables: #('name' 'fileID' 'buffer1') organization: ('open/close' close closed ensureOpen open open:forWrite: openReadOnly reopen) ('properties-setting' asHtml ascii binary getFileType insertLineFeeds isBinary isReadOnly readOnly readWrite setFileTypeToObject) ('access' directory directoryUrl file fullName isDirectory localName name peekFor: printOn: reset size) ('read, write, position' atEnd basicNext compressFile findString: findStringFromEnd: flush next next: next:into:startingAt: next:putAll:startingAt: nextPut: nextPutAll: nextWordsInto: padToEndWith: peek peekLast position position: readInto:startingAt:count: readOnlyCopy setToEnd skip: truncate truncate: upTo: upToEnd verbatim:) ('primitives' primAtEnd: primClose: primCloseNoError: primFlush: primGetPosition: primOpen:writable: primRead:into:startingAt:count: primSetPosition:to: primSize: primSizeNoError: primTruncate:to: primWrite:from:startingAt:count:) ('registry' register unregister) ('finalization' actAsExecutor finalize) ('browser requests' defaultBrowserReadyWait post:target:url:ifError: post:url:ifError: primBrowserReady primURLPost:data:semaIndex: primURLPost:target:data:semaIndex: primURLRequest:semaIndex: primURLRequest:target:semaIndex: primURLRequestDestroy: primURLRequestFileHandle: primURLRequestState: requestURL:target: requestURL:target:ifError: requestURLStream: requestURLStream:ifError: waitBrowserReadyFor:ifFail:) ('dnd requests' primDropRequestFileHandle: primDropRequestFileName: requestDropStream:) ('*Tweak-Hacks' modificationTime) ('*Sophie-System' requestDropStreamWithTranslatedName:) subclasses: #(CrLfFileStream MultiByteFileStream) name: #StandardFileStream classPool: a Dictionary(#Registry->a WeakRegistry(<this WeakRegistry is locked>; spac) ) sharedPools: nil environment: nil category: #'Files-Kernel' MultiByteFileStream(StandardFileStream)>>open:forWrite: Receiver: MultiByteFileStream: nil Arguments and temporary variables: fileName: '/private/var/tmp/folders.501/TemporaryItems/SophieTemp/7pqobzch7up8b9k10floz52le/xmlData.xml' writeMode: false f: '/private/var/tmp/folders.501/TemporaryItems/SophieTemp/7pqobzch7up8b9k10floz52le/xmlData.xml' id: nil Receiver's instance variables: |
||||||||
Additional Information |
We had this error reported in Sophie. It appears that in the following method. retryWithGC: execBlock until: testBlock forFileNamed: fullName "See if we have a file with the given name" foundIt := Registry keys "hold on strongly for now" anySatisfy:[:file| file name sameAs: fullName]. Registry keys return the keys in the weak registry dictionary, and we start iterating over them in the anySatisfy: Note how that '/Users/mauriziopaoluzi/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' is listed in the walkback log when it prints the file block variable then it's not there and we get the nil DNU anySatisfy: |
||||||||
Attached Files |
![]() |
||||||||
|
![]() |
|
(0011234 - 52034 - 77777 - 80051 - 80051 - 80051 - 80051) johnmci 10-02-07 21:10 |
MessageNotUnderstood: UndefinedObject>>sameAs: 'config2007040901swr' 1 October 2007 1:03:16 pm VM: Mac OS - a SmalltalkImage Image: Squeak3.8.1 [latest update: 6747] SecurityManager state: Restricted: false FileAccess: true SocketAccess: true Working Dir /Applications/Sophie.app/Contents/Resources Trusted Dir /Applications/Sophie.app/Contents/Resources Untrusted Dir /foobar/tooBar/forSqueak/bogus/ UndefinedObject(Object)>>doesNotUnderstand: Receiver: nil Arguments and temporary variables: t1: sameAs: '/private/var/tmp/folders.501/TemporaryItems/SophieTemp/el72lo9rpswy1hwawgv7rhrik/xmlData.xml' Receiver's instance variables: nil [] in StandardFileStream class>>retryWithGC:until:forFileNamed: {[:t6 | t6 name sameAs: t3]} Arguments and temporary variables: t1: [] in MultiByteFileStream(StandardFileStream)>>open:forWrite: {[self primOpen: t3 writable: t2]} t2: [] in MultiByteFileStream(StandardFileStream)>>open:forWrite: {[:t4 | t4 notNil]} t3: '/private/var/tmp/folders.501/TemporaryItems/SophieTemp/el72lo9rpswy1hwawgv7rhrik/xmlData.xml' t4: nil t5: nil t6: MultiByteFileStream: '/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' [] in Array(Collection)>>anySatisfy: {[:t2 | (t1 value: t2) ifTrue: [^ true]. nil]} Arguments and temporary variables: t1: [] in StandardFileStream class>>retryWithGC:until:forFileNamed: {[:t6 | t6 name sameAs: t3]} t2: MultiByteFileStream: '/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' Array(SequenceableCollection)>>do: Receiver: #(MultiByteFileStream: '/Users/travencollins/Desktop/The Triangle Fire.spbf/' MultiByteFileStream: '/Users/travencollins/Library/Application Support/Sophie/library/Sophie NoteBook.spbf/SophieBook.spb' MultiByteFileStream: '/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' MultiByteFileStream: '/Users/travencollins/Desktop/The Triangle Fire.spbf/SophieBook.spb') Arguments and temporary variables: t1: [] in Array(Collection)>>anySatisfy: {[:t2 | (t1 value: t2) ifTrue: [^ true]. nil]} t2: 3 t3: 4 Receiver's instance variables: #(MultiByteFileStream: '/Users/travencollins/Desktop/The Triangle Fire.spbf/' MultiByteFileStream: '/Users/travencollins/Library/Application Support/Sophie/library/Sophie NoteBook.spbf/SophieBook.spb' MultiByteFileStream: '/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' MultiByteFileStream: '/Users/travencollins/Desktop/The Triangle Fire.spbf/SophieBook.spb') Array(Collection)>>anySatisfy: Receiver: #(MultiByteFileStream: '/Users/travencollins/Desktop/The Triangle Fire.spbf/' MultiByteFileStream: '/Users/travencollins/Library/Application Support/Sophie/library/Sophie NoteBook.spbf/SophieBook.spb' MultiByteFileStream: '/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' MultiByteFileStream: '/Users/travencollins/Desktop/The Triangle Fire.spbf/SophieBook.spb') Arguments and temporary variables: t1: [] in StandardFileStream class>>retryWithGC:until:forFileNamed: {[:t6 | t6 name sameAs: t3]} t2: MultiByteFileStream: '/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' Receiver's instance variables: #(MultiByteFileStream: '/Users/travencollins/Desktop/The Triangle Fire.spbf/' MultiByteFileStream: '/Users/travencollins/Library/Application Support/Sophie/library/Sophie NoteBook.spbf/SophieBook.spb' MultiByteFileStream: '/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' MultiByteFileStream: '/Users/travencollins/Desktop/The Triangle Fire.spbf/SophieBook.spb') StandardFileStream class>>retryWithGC:until:forFileNamed: Receiver: StandardFileStream Arguments and temporary variables: t1: [] in MultiByteFileStream(StandardFileStream)>>open:forWrite: {[self primOpen: t3 writable: t2]} t2: [] in MultiByteFileStream(StandardFileStream)>>open:forWrite: {[:t4 | t4 notNil]} t3: '/private/var/tmp/folders.501/TemporaryItems/SophieTemp/el72lo9rpswy1hwawgv7rhrik/xmlData.xml' t4: nil t5: nil t6: MultiByteFileStream: '/Applications/Sophie.app/Contents/Resources/resources/extensions/dialogs/xul/dialogokcancel.xml' Receiver's instance variables: superclass: FileStream methodDict: a MethodDictionary(#actAsExecutor->a CompiledMethod (1006) #asHtml->a CompiledMethod (1513) #ascii->a CompiledMethod (1389) #atEnd->a CompiledMethod (2883) #basicNext->a CompiledMethod (1011) #binary->a CompiledMethod (363) #close->a CompiledMethod (2020) #closed->a CompiledMethod (113) #compressFile->a CompiledMethod (2057) #defaultBrowserReadyWait->a CompiledMethod (2063) #directory->a CompiledMethod (2913) #directoryUrl->a CompiledMethod (2458) #ensureOpen->a CompiledMethod (3268) #file->a CompiledMethod (1515) #finalize->a CompiledMethod (65) #findString:->a CompiledMethod (4094) #findStringFromEnd:->a CompiledMethod (3333) #flush->a CompiledMethod (2183) #fullName->a CompiledMethod (3548) #getFileType->a CompiledMethod (3760) #insertLineFeeds->a CompiledMethod (21) #isBinary->a CompiledMethod (3246) #isDirectory->a CompiledMethod (1236) #isReadOnly->a CompiledMethod (3179) #localName->a CompiledMethod (2451) #modificationTime->a CompiledMethod (1158) #name->a CompiledMethod (3655) #next->a CompiledMethod (1447) #next:->a CompiledMethod (2105) #next:into:startingAt:->a CompiledMethod (1822) #next:putAll:startingAt:->a CompiledMethod (2787) #nextPut:->a CompiledMethod (3935) #nextPutAll:->a CompiledMethod (2001) #nextWordsInto:->a CompiledMethod (874) #open->a CompiledMethod (607) #open:forWrite:->a CompiledMethod (1405) #openReadOnly->a CompiledMethod (165) #padToEndWith:->a CompiledMethod (1548) #peek->a CompiledMethod (2941) #peekFor:->a CompiledMethod (1373) #peekLast->a CompiledMethod (612) #position->a CompiledMethod (430) #position:->a CompiledMethod (737) #post:target:url:ifError:->a CompiledMethod (3683) #post:url:ifError:->a CompiledMethod (2247) #primAtEnd:->a CompiledMethod (3513) #primBrowserReady->a CompiledMethod (269) #primClose:->a CompiledMethod (1429) #primCloseNoError:->a CompiledMethod (1953) #primDropRequestFileHandle:->a CompiledMethod (3444) #primDropRequestFileName:->a CompiledMethod (1178) #primFlush:->a CompiledMethod (2709) #primGetPosition:->a CompiledMethod (2603) #pr...etc... format: 146 instanceVariables: #('name' 'fileID' 'buffer1') organization: ('open/close' close closed ensureOpen open open:forWrite: openReadOnly reopen) ('properties-setting' asHtml ascii binary getFileType insertLineFeeds isBinary isReadOnly readOnly readWrite setFileTypeToObject) ('access' directory directoryUrl file fullName isDirectory localName name peekFor: printOn: reset size) ('read, write, position' atEnd basicNext compressFile findString: findStringFromEnd: flush next next: next:into:startingAt: next:putAll:startingAt: nextPut: nextPutAll: nextWordsInto: padToEndWith: peek peekLast position position: readInto:startingAt:count: readOnlyCopy setToEnd skip: truncate truncate: upTo: upToEnd verbatim:) ('primitives' primAtEnd: primClose: primCloseNoError: primFlush: primGetPosition: primOpen:writable: primRead:into:startingAt:count: primSetPosition:to: primSize: primSizeNoError: primTruncate:to: primWrite:from:startingAt:count:) ('registry' register unregister) ('finalization' actAsExecutor finalize) ('browser requests' defaultBrowserReadyWait post:target:url:ifError: post:url:ifError: primBrowserReady primURLPost:data:semaIndex: primURLPost:target:data:semaIndex: primURLRequest:semaIndex: primURLRequest:target:semaIndex: primURLRequestDestroy: primURLRequestFileHandle: primURLRequestState: requestURL:target: requestURL:target:ifError: requestURLStream: requestURLStream:ifError: waitBrowserReadyFor:ifFail:) ('dnd requests' primDropRequestFileHandle: primDropRequestFileName: requestDropStream:) ('*Tweak-Hacks' modificationTime) ('*Sophie-System' requestDropStreamWithTranslatedName:) subclasses: #(CrLfFileStream MultiByteFileStream) name: #StandardFileStream classPool: a Dictionary(#Registry->a WeakRegistry(<this WeakRegistry is locked>; spac) ) sharedPools: nil environment: nil category: #'Files-Kernel' MultiByteFileStream(StandardFileStream)>>open:forWrite: Receiver: MultiByteFileStream: nil Arguments and temporary variables: t1: '/private/var/tmp/folders.501/TemporaryItems/SophieTemp/el72lo9rpswy1hwawgv7rhrik/xmlData.xml' t2: false t3: '/private/var/tmp/folders.501/TemporaryItems/SophieTemp/el72lo9rpswy1hwawgv7rhrik/xmlData.xml' t4: nil Receiver's instance variables: MultiByteFileStream>>open:forWrite: Receiver: MultiByteFileStream: nil Arguments and temporary variables: t1: '/private/var/tmp/folders.501/TemporaryItems/SophieTemp/el72lo9rpswy1hwawgv7rhrik/xmlData.xml' t2: false t3: nil Receiver's instance variables: MultiByteFileStream class(StandardFileStream class)>>isAFileNamed: Receiver: MultiByteFileStream Arguments and temporary variables: t1: '/private/var/tmp/folders.501/TemporaryItems/SophieTemp/el72lo9rpswy1hwawgv7rhrik/xmlData.xml' t2: nil Receiver's instance variables: superclass: StandardFileStream methodDict: a MethodDictionary(#accepts:->a CompiledMethod (1227) #ascii->a CompiledMethod (1533) #bareNext->a CompiledMethod (4061) #basicNext:->a CompiledMethod (1587) #basicNext:into:->a CompiledMethod (1627) #basicNextInto:->a CompiledMethod (3298) #basicNextPut:->a CompiledMethod (392) #basicNextPutAll:->a CompiledMethod (321) #basicPeek->a CompiledMethod (209) #basicPosition->a CompiledMethod (3118) #basicPosition:->a CompiledMethod (2533) #basicReadInto:startingAt:count:->a CompiledMethod (2917) #basicSetToEnd->a CompiledMethod (1297) #basicSkip:->a CompiledMethod (3420) #basicUpTo:->a CompiledMethod (3137) #basicVerbatim:->a CompiledMethod (371) #binary->a CompiledMethod (3) #convertStringFromCr:->a CompiledMethod (1350) #convertStringToCr:->a CompiledMethod (2933) #converter->a CompiledMethod (2049) #converter:->a CompiledMethod (3241) #detectLineEndConvention->a CompiledMethod (297) #doConversion->a CompiledMethod (2772) #fileIn->a CompiledMethod (291) #fileInEncodingName:->a CompiledMethod (1431) #fileOutClass:andObject:->a CompiledMethod (1402) #filterFor:->a CompiledMethod (3844) #lineEndConvention->a CompiledMethod (2067) #lineEndConvention:->a CompiledMethod (805) #next->a CompiledMethod (3236) #next:->a CompiledMethod (3195) #next:innerFor:->a CompiledMethod (832) #nextDelimited:->a CompiledMethod (1905) #nextMatchAll:->a CompiledMethod (3562) #nextPut:->a CompiledMethod (88) #nextPutAll:->a CompiledMethod (3390) #open:forWrite:->a CompiledMethod (3482) #peek->a CompiledMethod (3261) #peekFor:->a CompiledMethod (1285) #reset->a CompiledMethod (1442) #setConverterForCode->a CompiledMethod (3911) #skipSeparators->a CompiledMethod (1041) #skipSeparatorsAndPeekNext->a CompiledMethod (1962) #upTo:->a CompiledMethod (1119) #upToEnd->a CompiledMethod (2035) #wantsLineEndConversion->a CompiledMethod (3135) #wantsLineEndConversion:->a CompiledMethod (1594) ) format: 152 instanceVariables: #('converter' 'lineEndConvention' 'wantsLineEndConversion') organization: ('accessing' ascii binary converter converter: fileInEncodingName: lineEndConvention lineEndConvention: wantsLineEndConversion:) ('public' next next: nextDelimited: nextMatchAll: nextPut: nextPutAll: peek peekFor: skipSeparators skipSeparatorsAndPeekNext upTo: upToEnd) ('crlf private' bareNext convertStringFromCr: convertStringToCr: detectLineEndConvention doConversion next:innerFor: wantsLineEndConversion) ('private basic' basicNext: basicNext:into: basicNextInto: basicNextPut: basicNextPutAll: basicPeek basicPosition basicPosition: basicReadInto:startingAt:count: basicSetToEnd basicSkip: basicUpTo: basicVerbatim:) ('open/close' open:forWrite: reset) ('remnant' accepts: filterFor:) ('private' setConverterForCode) ('fileIn/Out' fileIn fileOutClass:andObject:) subclasses: nil name: #MultiByteFileStream classPool: a Dictionary(#Cr->$ #CrLf->' ' #Lf->$ #LineEndDefault->#lf #LineEndStrings->a Dictionary(#cr->' ' #crlf->' ' #lf->' ' ) #LookAheadCount->2048 ) sharedPools: nil environment: a SystemDictionary(lots of globals) category: #'Multilingual-TextConversion' FileStream class>>isAFileNamed: Receiver: FileStream Arguments and temporary variables: t1: '/private/var/tmp/folders.501/TemporaryItems/SophieTemp/el72lo9rpswy1hwawgv7rhrik/xmlData.xml' Receiver's instance variables: superclass: ReadWriteStream methodDict: a MethodDictionary(#asBinaryOrTextStream->a CompiledMethod (591) #asUrl->a CompiledMethod (3493) #ascii->a CompiledMethod (918) #atEnd->a CompiledMethod (603) #binary->a CompiledMethod (1443) #close->a CompiledMethod (1716) #closed->a CompiledMethod (2023) #contents->a CompiledMethod (621) #contentsOfEntireFile->a CompiledMethod (188) #dataIsValid->a CompiledMethod (2755) #directoryEntry->a CompiledMethod (2496) #edit->a CompiledMethod (1596) #file->a CompiledMethod (3501) #fileIn->a CompiledMethod (366) #fileInObjectAndCode->a CompiledMethod (674) #fileIntoNewChangeSet->a CompiledMethod (594) #flush->a CompiledMethod (2119) #isFileStream->a CompiledMethod (2732) #localName->a CompiledMethod (3697) #longPrintOn:->a CompiledMethod (3834) #longPrintOn:limitedTo:indent:->a CompiledMethod (1348) #mimeType->a CompiledMethod (2420) #mimeTypes->a CompiledMethod (420) #name->a CompiledMethod (3591) #next->a CompiledMethod (1496) #next:->a CompiledMethod (1365) #nextPut:->a CompiledMethod (192) #nextPutAll:->a CompiledMethod (974) #position->a CompiledMethod (722) #position:->a CompiledMethod (3923) #printOn:->a CompiledMethod (3941) #readOnly->a CompiledMethod (2452) #readOnlyStream->a CompiledMethod (2306) #readWrite->a CompiledMethod (1378) #reopen->a CompiledMethod (2302) #reset->a CompiledMethod (697) #setToEnd->a CompiledMethod (1773) #size->a CompiledMethod (3031) #skip:->a CompiledMethod (2144) #text->a CompiledMethod (1204) #truncate:->a CompiledMethod (1766) #uri->a CompiledMethod (2954) #url->a CompiledMethod (226) #viewGZipContents->a CompiledMethod (2496) ) format: 140 instanceVariables: #('rwmode') organization: ('accessing' contents contentsOfEntireFile directoryEntry mimeTypes next next: nextPut: nextPutAll: size) ('testing' atEnd) ('positioning' position position: reset setToEnd skip: truncate:) ('printing' longPrintOn: longPrintOn:limitedTo:indent: printOn:) ('editing' edit viewGZipContents) ('file open/close' close closed flush reopen) ('file modes' ascii binary readOnly readOnlyStream readWrite text) ('file accessing' asUrl file localName name url) ('fileIn/Out' fileIn fileInObjectAndCode fileIntoNewChangeSet) ('converting' asBinaryOrTextStream) ('remote file compatibility' dataIsValid) ('*network-uri' uri) ('*sophie-resourceManager' isFileStream) ('*Sophie-Persistency' mimeType) subclasses: #(StandardFileStream) name: #FileStream classPool: a Dictionary() sharedPools: nil environment: nil category: nil SophieResourceStorageFileDirectoryWithFolderAndZipped(SophieResourceStorageFileDirectoryZip)>>metaDataURI Receiver: a SophieResourceStorageFileDirectoryWithFolderAndZipped ('3806411e-64a6-4bb4-a85e-b3518326883c') Arguments and temporary variables: t1: file:///private/var/tmp/folders.501/TemporaryItems/SophieTemp/el72lo9rpswy1hwawgv7rhrik/xmlData.xml [^] [^] t2: nil Receiver's instance variables: rm: a SophieResourceManagerFolderPackage ('3806411e-64a6-4bb4-a85e-b3518326883c') deleteOldManifestDataName: nil resourceURI: nil tempURI: file:///private/var/tmp/folders.501/TemporaryItems/SophieTemp/el72lo9rpswy1hwawgv7rhrik/ [^] [^] filesInTempFolder: a Set('xmlData.xml') zipfileArchive: a ZipArchive zipfileStream: MultiByteFileStream: '/Users/travencollins/Desktop/The Triangle Fire.spbf/SophieBook.spb' newOrAlteredFiles: nil SophieResourceStorageFileDirectoryWithFolderAndZipped(SophieResourceStorageFileDirectory)>>getMetaDataReadStream Receiver: a SophieResourceStorageFileDirectoryWithFolderAndZipped ('3806411e-64a6-4bb4-a85e-b3518326883c') Arguments and temporary variables: t1: nil t2: nil Receiver's instance variables: rm: a SophieResourceManagerFolderPackage ('3806411e-64a6-4bb4-a85e-b3518326883c') deleteOldManifestDataName: nil resourceURI: nil tempURI: file:///private/var/tmp/folders.501/TemporaryItems/SophieTemp/el72lo9rpswy1hwawgv7rhrik/ [^] [^] filesInTempFolder: a Set('xmlData.xml') zipfileArchive: a ZipArchive zipfileStream: MultiByteFileStream: '/Users/travencollins/Desktop/The Triangle Fire.spbf/SophieBook.spb' newOrAlteredFiles: nil SophieResourceStorageFileDirectoryWithFolderAndZipped(SophieResourceStorage)>>readResourceMetadata: Receiver: a SophieResourceStorageFileDirectoryWithFolderAndZipped ('3806411e-64a6-4bb4-a85e-b3518326883c') Arguments and temporary variables: t1: a SophieResourceManagerFolderPackage ('3806411e-64a6-4bb4-a85e-b3518326883c') t2: nil t3: nil t4: nil Receiver's instance variables: rm: a SophieResourceManagerFolderPackage ('3806411e-64a6-4bb4-a85e-b3518326883c') deleteOldManifestDataName: nil resourceURI: nil tempURI: file:///private/var/tmp/folders.501/TemporaryItems/SophieTemp/el72lo9rpswy1hwawgv7rhrik/ [^] [^] filesInTempFolder: a Set('xmlData.xml') zipfileArchive: a ZipArchive zipfileStream: MultiByteFileStream: '/Users/travencollins/Desktop/The Triangle Fire.spbf/SophieBook.spb' newOrAlteredFiles: nil SophieResourceManagerFolderPackage(SophieResourceManager)>>resourceDictionary Receiver: a SophieResourceManagerFolderPackage ('3806411e-64a6-4bb4-a85e-b3518326883c') Arguments and temporary variables: Receiver's instance variables: resourceDictionary: nil book: a SophieBook (804) (nil) folders: nil storageManager: a SophieResourceStorageFileDirectoryWithFolderAndZipped ('3806411e-64a6-4bb4-a85e-b3518326883c') masterFolderId: nil recursiveLoading: nil uuidLookAsideDictionary: nil thumbNailCache: nil SophieResourceManagerFolderPackage(SophieResourceManager)>>book: Receiver: a SophieResourceManagerFolderPackage ('3806411e-64a6-4bb4-a85e-b3518326883c') Arguments and temporary variables: t1: a SophieBook (804) (nil) Receiver's instance variables: resourceDictionary: nil book: a SophieBook (804) (nil) folders: nil storageManager: a SophieResourceStorageFileDirectoryWithFolderAndZipped ('3806411e-64a6-4bb4-a85e-b3518326883c') masterFolderId: nil recursiveLoading: nil uuidLookAsideDictionary: nil thumbNailCache: nil SophieResourceManagerFolderPackage class(SophieResourceManager class)>>forBook: Receiver: SophieResourceManagerFolderPackage Arguments and temporary variables: t1: a SophieBook (804) (nil) t2: a SophieResourceManagerFolderPackage ('3806411e-64a6-4bb4-a85e-b3518326883c') Receiver's instance variables: superclass: SophieResourceManager methodDict: a MethodDictionary(#storageManager->a CompiledMethod (1783) ) format: 146 instanceVariables: nil organization: ('accessing' storageManager) subclasses: nil name: #SophieResourceManagerFolderPackage classPool: nil sharedPools: nil environment: a SystemDictionary(lots of globals) category: #'Sophie-ResourceManager' SophieBook>>createFolderStorage Receiver: a SophieBook (804) (nil) Arguments and temporary variables: Receiver's instance variables: uuid: a SophieID('3806411e-64a6-4bb4-a85e-b3518326883c') id: nil spineManager: nil mainSpine: nil defaultLayoutTemplate: nil structureTemplate: nil variables: nil extent: nil bookModel: nil timelineManager: nil published: nil application: SophieApplication uuidForLinking: nil stickyManager: nil preferences: nil myEventMap: nil resourceManager: nil styleLibrary: nil templateLibrary: nil contentManager: nil markerManager: nil numberingManager: nil uri: file:///Users/travencollins/Desktop/The [^] [^] Triangle Fire.spbf eventTriggerManager: nil embeddedBooks: nil possibleURIForLinking: nil scriptManager: nil manifest: nil possibleManifestNumber: nil usageStatistic: nil SophieBook>>readFromURI: Receiver: a SophieBook (804) (nil) Arguments and temporary variables: t1: file:///Users/travencollins/Desktop/The [^] [^] Triangle Fire.spbf Receiver's instance variables: uuid: a SophieID('3806411e-64a6-4bb4-a85e-b3518326883c') id: nil spineManager: nil mainSpine: nil defaultLayoutTemplate: nil structureTemplate: nil variables: nil extent: nil bookModel: nil timelineManager: nil published: nil application: SophieApplication uuidForLinking: nil stickyManager: nil preferences: nil myEventMap: nil resourceManager: nil styleLibrary: nil templateLibrary: nil contentManager: nil markerManager: nil numberingManager: nil uri: file:///Users/travencollins/Desktop/The [^] [^] Triangle Fire.spbf eventTriggerManager: nil embeddedBooks: nil possibleURIForLinking: nil scriptManager: nil manifest: nil possibleManifestNumber: nil usageStatistic: nil [] in SophieBook class>>fromURI:application: {[t3 readFromURI: t1]} Arguments and temporary variables: t1: file:///Users/travencollins/Desktop/The [^] [^] Triangle Fire.spbf t2: SophieApplication t3: a SophieBook (804) (nil) BlockContext>>ensure: Receiver: [] in SophieBook class>>fromURI:application: {[t3 readFromURI: t1]} Arguments and temporary variables: t1: [] in CursorWithMask(Cursor)>>showWhile: {[t2 show]} t2: nil t3: nil Receiver's instance variables: sender: BlockContext>>ensure: pc: 42 stackp: 0 nargs: 0 startpc: 39 home: SophieBook class>>fromURI:application: CursorWithMask(Cursor)>>showWhile: Receiver: ((CursorWithMask extent: 16@16 depth: 1 fromArray: #( 2r0 2r1111111111111100000000000000000 2r1000000000000100000000000000000 2r100000000001000000000000000000 2r10000000010000000000000000000 2r1110011100000000000000000000 2r111111000000000000000000000 2r11110000000000000000000000 2r11110000000000000000000000 2r100101000000000000000000000 2r1000100100000000000000000000 2r10000110010000000000000000000 2r100001111001000000000000000000 2r1000111111110100000000000000000 2r1111111111111100000000000000000 2r0) offset: -1@-1) setMaskForm: (Form extent: 16@16 depth: 1 fromArray: #( 2r11111111111111110000000000000000 2r11111111111111110000000000000000 2r11111111111111110000000000000000 2r11111000000111110000000000000000 2r1111111111111100000000000000000 2r111111111111000000000000000000 2r11111111110000000000000000000 2r1111111100000000000000000000 2r1111111100000000000000000000 2r11111111110000000000000000000 2r111111111111000000000000000000 2r1111111111111100000000000000000 2r11111111111111110000000000000000 2r11111111111111110000000000000000 2r11111111111111110000000000000000 2r11111111111111110000000000000000) offset: 0@0)) Arguments and temporary variables: t1: [] in SophieBook class>>fromURI:application: {[t3 readFromURI: t1]} t2: ((CursorWithMask extent: 16@16 depth: 1 fromArray: #( 2r0 2r1111111111111100000000000000000 2r1000000000000100000000000000000 2r100000000001000000000000000000 2r10000000010000000000000000000 2r1110011100000000000000000000 2r111111000000000000000000000 2r11110000000000000000000000 2r11110000000000000000000000 2r100101000000000000000000000 2r1000100100000000000000000000 2r10000110010000000000000000000 2r100001111001000000000000000000 2r1000111111110100000000000000000 2r1111111111111100000000000000000 2r0) offset: -1@-1) setMaskForm: (Form extent: 16@16 depth: 1 fromArray: #( 2r11111111111111110000000000000000 2r11111111111111110000000000000000 2r11111111111111110000000000000000 2r11111000000111110000000000000000 2r1111111111111100000000000000000 2r111111111111000000000000000000 2r11111111110000000000000000000 2r1111111100000000000000000000 2r1111111100000000000000000000 2r11111111110000000000000000000 2r111111111111000000000000000000 2r1111111111111100000000000000000 2r11111111111111110000000000000000 2r11111111111111110000000000000000 2r11111111111111110000000000000000 2r11111111111111110000000000000000) offset: 0@0)) Receiver's instance variables: bits: a Bitmap of length 16 width: 16 height: 16 depth: 1 offset: -1@-1 maskForm: Form(16x16x1) SophieBook class>>fromURI:application: Receiver: SophieBook Arguments and temporary variables: t1: file:///Users/travencollins/Desktop/The [^] [^] Triangle Fire.spbf t2: SophieApplication t3: a SophieBook (804) (nil) Receiver's instance variables: superclass: SophieAbstractBook methodDict: a MethodDictionary(size 102) format: 190 instanceVariables: #('resourceManager' 'styleLibrary' 'templateLibrary' 'contentManager' 'markerManager' 'numberingManager' 'uri' 'eventTriggerManager' 'embeddedBooks' 'possibleURIForLinking' 'scriptManager' 'manifest' 'possibleManifestNumber' 'usageStatistic') organization: ('*Sophie-ResourceManager' addAsEmbeddedBook: addEmbeddedBook: closeBookCleanup lookupUUIDInResourceMgr:andAddToListIfFound: rememberThisBookIfAsked resourceManager resourceManager: resourceManagerReset resourcesCalledStylesUsedByTemplateFrames:AddToList:trackContentNodes: resourcesCalledTemplatesUsedByFramesAddToList:trackContentNodes: resourcesForBookStructureAddToList: resourcesForContentsRootAddToList:resolveAgainst: resourcesForDefaultStylesAddToList: resourcesForSpinesAddToList: resourcesForTimeLinesAddToList: resourcesForTriggeredActionAddToList: resourcesUnaccountedFor: resourcesUsed resourcesUsedPlusReturnContentRootUsage: updateUsageStatistic usageStatistic) ('private' addContentIfNonFlowFrame: contentManager: createCreateCommentBook deleteContentIfNonFlowFrame: deleteThisBookIfInTempDirectory deleteThisBookViaSUnitTesting dummyUpBook markerManager: numberingManager: preferences: publishBookForInternetURI: publishBookURI: publishBookURI:overrideResourceManager:setPublishFlagAndPurge: save saveAndTrimGenerations: saveAsId: saveAsURI: saveAsURI:trimGenerations: saveAsURI:trimGenerations:overrideResourceManager: saveAsURI:trimGenerations:overrideResourceManager:preserveUUIDs: saveAsWithFeedBackBlock:URI:trimGenerations:overrideResourceManager:preserveUUIDs: styleLibrary: templateLibrary:) ('*sophie-ui-browser' asSophieBrowserItem) ('accessing' book containingBook contentManager contentRootsDo: embeddedBookMap embeddedBooks embeddedBooks: eventTriggerManager eventTriggerManager: findAllStrings:caseSensitive:do: findString:caseSensitive: manifest manifest: markerManager possibleManifestNumber possibleManifestNumber: possibleURIForLinking possibleURIForLinking: possibleURIForLinkingPeek resetStyleLibrary setSophieSUnitFolderUri setSophieSUnitUri setSophieSUnitUriFlatFiles styleLibrary templateLibrary templateify uri uri:) ('testing' canWeEmbeddThisBook: isEmbedded) ('initialize' createFlatFilesStorage createFolderStorage createMemoryStorage id:application: initDefaultIndices initDefaultStyles i...etc... subclasses: nil name: #SophieBook classPool: nil sharedPools: nil environment: a SystemDictionary(lots of globals) category: #'Sophie-Books' SophieApplication>>openBookIfNotAlreadyOpenViaURI: Receiver: SophieApplication Arguments and temporary variables: t1: file:///Users/travencollins/Desktop/The [^] [^] Triangle Fire.spbf/ t2: nil t3: nil t4: file:///Users/travencollins/Desktop/The [^] [^] Triangle Fire.spbf/ t5: nil t6: true t7: file:///Users/travencollins/Desktop/The [^] [^] Triangle Fire.spbf t8: nil Receiver's instance variables: myProperties: nil myScripts: #(AsyncScriptMessageSend(#alertIfNotCurrentRelease -> SophieApplication) AsyncScriptMessageSend(#onFlowSelectionMarkerModified -> SophieApplication) AsyncScriptMessageSend(#onFlowSelectionChanged -> SophieApplication) AsyncScriptMessageSend(#onReaderModeChanged -> SophieApplication) AsyncScriptMessageSend(#onImageStartup -> SophieApplication) AsyncScriptMessageSend(#handleMacDoubleClickOfSophieDocument: -> SophieApplication) AsyncScriptMessageSend(#handleOpenNoteBookAtStartUp -> SophieApplication) AsyncScriptMessageSend(#applicationMenuInvoked:script:withArgs: -> SophieApplication) AsyncScriptMessageSend(#initMenuBarOnRestart -> SophieApplication) AsyncScriptMessageSend(#evaluate: -> SophieApplication) AsyncScriptMessageSend(#evaluate: -> SophieApplication)) myEventMap: an IdentityDictionary(#activeBookModelChanged->#(AsyncScriptMessageSend(#evaluate: -> SophieBookListExtension) AsyncScriptMessageSend(#evaluate: -> SophieEmbeddedBookListExtension) AsyncScriptMessageSend(#onActiveBookInApplication -> SophieHaloExtension) AsyncScriptMessageSend(#onActiveBookInApplication -> SophieFrameSelectorExtension) AsyncScriptMessageSend(#onActiveBookInApplication -> SophieFlowConnectionExtension) AsyncScriptMessageSend(#onActiveBookChanged -> SophiePageStructureExtension) AsyncScriptMessageSend(#onActiveBookModelChanged -> SophieStickyExtension) AsyncScriptMessageSend(#onActiveBookModelChanged -> SophiePageListView) AsyncScriptMessageSend(#onActiveBookChanged -> SophieTimelineExtensionView) AsyncScriptMessageSend(#onActiveBookModelChanged -> SophieSearchResultView) AsyncScriptMessageSend(#onActiveBookModelChanged -> SophieMarkerListView) AsyncScriptMessageSend(#onActiveBookChanged -> SophieResourceView) AsyncScriptMessageSend(#onActiveBookChanged -> SophieResourceView) AsyncScriptMessageSend(#onActiveBookChanged -> SophieResourceView) AsyncScriptMessageSend(#onActiveBookChanged -> SophieResourceView) AsyncScriptMessageSend(#onActiveBookChanged -> SophieResourceView) AsyncScriptMessageSend(#onActiveBookChanged -> SophieResourceView)) #alertIfNotCurrentRelease->#(AsyncScriptMessageSend(#alertIfNotCurrentRelease -> SophieApplication)) #applicationMenuInvoked->#(AsyncScriptMessageSend(#applicationMenuInvoked:script:withArgs: -> SophieApplication)) #beginDraggingResizeSelector->#(AsyncScriptMessageSend(#onBeginDraggingResizeSelector -> SophieHaloExtension)) #bookTemplatesChanged->#(AsyncScriptMessageSend(#evaluate: -> SophieBookTemplateListExtension)) #booksChanged->#(AsyncScriptMessageSend(#evaluate: -> SophieBookListExtension) AsyncScriptMessageSend(#evaluate: -> SophieEmbeddedBookListExtension)) #endDraggingResizeSelector->#(AsyncScriptMessageSend(#onEndDraggingResizeSelector -> SophieHaloExtension)) #flowSelectionChanged->#(AsyncScriptMessageSend(#onFlowSelectionChanged -> Sophie...etc... commandProcessor: a SophieCommandProcessor commands: a Dictionary(size 156) commandKeys: a Dictionary(#'application.addMarker'->#(#command #M) #'application.closeActiveBook'->#(#command #W) #'application.closeBookWindow'->#(#command #shift #W) #'application.copyFrameSelection'->#(#command #C) #'application.createNewBook'->#(#command #N) #'application.cutFrameSelection'->#(#command #X) #'application.deleteFrame'->#(#Delete) #'application.deleteMarker'->#(#Backspace) #'application.deletePage'->#(#Delete) #'application.duplicateFrameSelection'->#(#command #D) #'application.groupFrameSelection'->#(#command #G) #'application.openBook'->#(#command #O) #'application.pageDown'->#(#PageDown) #'application.pageUp'->#(#PageUp) #'application.pasteClipboard'->#(#command #V) #'application.pasteOverFrameSelection'->#(#command #V) #'application.readerMode'->#(#command #R) #'application.redo'->#(#command #Y) #'application.saveBook'->#(#command #S) #'application.saveBookAs'->#(#command #shift #S) #'application.undo'->#(#command #Z) #'application.ungroupFrameSelection'->#(#command #U) #'frame.moveDown'->#(#CursorDown) #'frame.moveFarDown'->#(#shift #CursorDown) #'frame.moveFarLeft'->#(#shift #CursorLeft) #'frame.moveFarRight'->#(#shift #CursorRight) #'frame.moveFarUp'->#(#shift #CursorUp) #'frame.moveLeft'->#(#CursorLeft) #'frame.moveLeftEdge'->#(#Home) #'frame.moveRight'->#(#CursorRight) #'frame.moveRightEdge'->#(#End) #'frame.moveUp'->#(#CursorUp) #'list.moveLineDown'->#(#CursorDown) #'list.moveLineEnd'->#(#End) #'list.moveLineStart'->#(#Home) #'list.moveLineUp'->#(#CursorUp) #'resourceBrowser.deleteSelection'->#(#Delete) #'spellExtension.findNextSpellingError'->#(#command #shift #;) #'text.backspace'->#(#Backspace) #'text.copySelection'->#(#command #C) #'text.cutSelection'->#(#command #X) #'text.enter'->#(#Return) #'text.findNext'->#(#command #G) #'text.forwardDelete'->#(#Delete) #'text.moveCursorLeft'->#(#CursorLeft) #'text.moveCursorRight'->#(#CursorRight) #'text.moveLineDown'->#(#CursorDown) #'text.moveLineEnd'->#(#End) #'text.moveLineStart'->#(#Home) #'text.moveLineUp'->#(#CursorUp) #'text.moveWord...etc... keyMap: SophieKeyboardDispatchTable ui: SophieApplicationMorphicWindowUI books: nil bookModels: a Set() extensions: a Dictionary(#ColorToolExtension->SophieColorToolExtension #FrameSelectorExtension->SophieFrameSelectorExtension #HaloExtension->SophieHaloExtension #MetaDataExtension->SophieMetaDataExtension #MovieExtension->SophieMovieExtension #PageStructureViewExtension->SophiePageStructureExtension #PageViewExtension->SophiePageViewExtension #bookList->SophieBookListExtension #bookTemplateList->SophieBookTemplateListExtension #commenting->SophieServerCommentExtension #componentList->SophieComponentExtension #debug->SophieDebugExtension #dialogs->SophieUserDialogsExtension #editing->SophieTextExtension #embeddedBookList->SophieEmbeddedBookListExtension #file->SophieBookFileExtension #flowConnection->SophieFlowConnectionExtension #frameLayoutExtension->SophieFrameLayoutExtension #help->SophieHelpMenuExtension #layoutTemplateExtension->SophieLayoutTemplateExtension #listNavigation->SophieListNavigationExtension #markers->SophieMarkerExtension #oki->SophieOKIExtension #pasteClipboard->SophiePasteClipboardExtension #resourceBrowser->SophieResourceBrowserExtension #searchReplace->SophieSearchReplaceExtension #searchResultExtension->SophieSearchResultExtension #servers->SophieS3ServersExtension #spellcheckui->SophieSpellCheckerExtension #sticky->SophieStickyExtension #thumbnailPageList->SophieThumbnailPageListExtension #timelineEditorView->SophieTimelineEditorExtension #timelineListView->SophieTimelineExtension ) newBookStartNumber: nil booksWeaklyRemembered: nil inFullScreenMode: true SophieApplication>>dropFile:at: Receiver: SophieApplication Arguments and temporary variables: t1: MultiByteFileStream: '/Users/travencollins/Desktop/The Triangle Fire.spbf/' t2: 0@0 t3: file:///Users/travencollins/Desktop/The [^] [^] Triangle Fire.spbf/ Receiver's instance variables: myProperties: nil myScripts: #(AsyncScriptMessageSend(#alertIfNotCurrentRelease -> SophieApplication) AsyncScriptMessageSend(#onFlowSelectionMarkerModified -> SophieApplication) AsyncScriptMessageSend(#onFlowSelectionChanged -> SophieApplication) AsyncScriptMessageSend(#onReaderModeChanged -> SophieApplication) AsyncScriptMessageSend(#onImageStartup -> SophieApplication) AsyncScriptMessageSend(#handleMacDoubleClickOfSophieDocument: -> SophieApplication) AsyncScriptMessageSend(#handleOpenNoteBookAtStartUp -> SophieApplication) AsyncScriptMessageSend(#applicationMenuInvoked:script:withArgs: -> SophieApplication) AsyncScriptMessageSend(#initMenuBarOnRestart -> SophieApplication) AsyncScriptMessageSend(#evaluate: -> SophieApplication) AsyncScriptMessageSend(#evaluate: -> SophieApplication)) myEventMap: an IdentityDictionary(#activeBookModelChanged->#(AsyncScriptMessageSend(#evaluate: -> SophieBookListExtension) AsyncScriptMessageSend(#evaluate: -> SophieEmbeddedBookListExtension) AsyncScriptMessageSend(#onActiveBookInApplication -> SophieHaloExtension) AsyncScriptMessageSend(#onActiveBookInApplication -> SophieFrameSelectorExtension) AsyncScriptMessageSend(#onActiveBookInApplication -> SophieFlowConnectionExtension) AsyncScriptMessageSend(#onActiveBookChanged -> SophiePageStructureExtension) AsyncScriptMessageSend(#onActiveBookModelChanged -> SophieStickyExtension) AsyncScriptMessageSend(#onActiveBookModelChanged -> SophiePageListView) AsyncScriptMessageSend(#onActiveBookChanged -> SophieTimelineExtensionView) AsyncScriptMessageSend(#onActiveBookModelChanged -> SophieSearchResultView) AsyncScriptMessageSend(#onActiveBookModelChanged -> SophieMarkerListView) AsyncScriptMessageSend(#onActiveBookChanged -> SophieResourceView) AsyncScriptMessageSend(#onActiveBookChanged -> SophieResourceView) AsyncScriptMessageSend(#onActiveBookChanged -> SophieResourceView) AsyncScriptMessageSend(#onActiveBookChanged -> SophieResourceView) AsyncScriptMessageSend(#onActiveBookChanged -> SophieResourceView) AsyncScriptMessageSend(#onActiveBookChanged -> SophieResourceView)) #alertIfNotCurrentRelease->#(AsyncScriptMessageSend(#alertIfNotCurrentRelease -> SophieApplication)) #applicationMenuInvoked->#(AsyncScriptMessageSend(#applicationMenuInvoked:script:withArgs: -> SophieApplication)) #beginDraggingResizeSelector->#(AsyncScriptMessageSend(#onBeginDraggingResizeSelector -> SophieHaloExtension)) #bookTemplatesChanged->#(AsyncScriptMessageSend(#evaluate: -> SophieBookTemplateListExtension)) #booksChanged->#(AsyncScriptMessageSend(#evaluate: -> SophieBookListExtension) AsyncScriptMessageSend(#evaluate: -> SophieEmbeddedBookListExtension)) #endDraggingResizeSelector->#(AsyncScriptMessageSend(#onEndDraggingResizeSelector -> SophieHaloExtension)) #flowSelectionChanged->#(AsyncScriptMessageSend(#onFlowSelectionChanged -> Sophie...etc... commandProcessor: a SophieCommandProcessor commands: a Dictionary(size 156) commandKeys: a Dictionary(#'application.addMarker'->#(#command #M) #'application.closeActiveBook'->#(#command #W) #'application.closeBookWindow'->#(#command #shift #W) #'application.copyFrameSelection'->#(#command #C) #'application.createNewBook'->#(#command #N) #'application.cutFrameSelection'->#(#command #X) #'application.deleteFrame'->#(#Delete) #'application.deleteMarker'->#(#Backspace) #'application.deletePage'->#(#Delete) #'application.duplicateFrameSelection'->#(#command #D) #'application.groupFrameSelection'->#(#command #G) #'application.openBook'->#(#command #O) #'application.pageDown'->#(#PageDown) #'application.pageUp'->#(#PageUp) #'application.pasteClipboard'->#(#command #V) #'application.pasteOverFrameSelection'->#(#command #V) #'application.readerMode'->#(#command #R) #'application.redo'->#(#command #Y) #'application.saveBook'->#(#command #S) #'application.saveBookAs'->#(#command #shift #S) #'application.undo'->#(#command #Z) #'application.ungroupFrameSelection'->#(#command #U) #'frame.moveDown'->#(#CursorDown) #'frame.moveFarDown'->#(#shift #CursorDown) #'frame.moveFarLeft'->#(#shift #CursorLeft) #'frame.moveFarRight'->#(#shift #CursorRight) #'frame.moveFarUp'->#(#shift #CursorUp) #'frame.moveLeft'->#(#CursorLeft) #'frame.moveLeftEdge'->#(#Home) #'frame.moveRight'->#(#CursorRight) #'frame.moveRightEdge'->#(#End) #'frame.moveUp'->#(#CursorUp) #'list.moveLineDown'->#(#CursorDown) #'list.moveLineEnd'->#(#End) #'list.moveLineStart'->#(#Home) #'list.moveLineUp'->#(#CursorUp) #'resourceBrowser.deleteSelection'->#(#Delete) #'spellExtension.findNextSpellingError'->#(#command #shift #;) #'text.backspace'->#(#Backspace) #'text.copySelection'->#(#command #C) #'text.cutSelection'->#(#command #X) #'text.enter'->#(#Return) #'text.findNext'->#(#command #G) #'text.forwardDelete'->#(#Delete) #'text.moveCursorLeft'->#(#CursorLeft) #'text.moveCursorRight'->#(#CursorRight) #'text.moveLineDown'->#(#CursorDown) #'text.moveLineEnd'->#(#End) #'text.moveLineStart'->#(#Home) #'text.moveLineUp'->#(#CursorUp) #'text.moveWord...etc... keyMap: SophieKeyboardDispatchTable ui: SophieApplicationMorphicWindowUI books: nil bookModels: a Set() extensions: a Dictionary(#ColorToolExtension->SophieColorToolExtension #FrameSelectorExtension->SophieFrameSelectorExtension #HaloExtension->SophieHaloExtension #MetaDataExtension->SophieMetaDataExtension #MovieExtension->SophieMovieExtension #PageStructureViewExtension->SophiePageStructureExtension #PageViewExtension->SophiePageViewExtension #bookList->SophieBookListExtension #bookTemplateList->SophieBookTemplateListExtension #commenting->SophieServerCommentExtension #componentList->SophieComponentExtension #debug->SophieDebugExtension #dialogs->SophieUserDialogsExtension #editing->SophieTextExtension #embeddedBookList->SophieEmbeddedBookListExtension #file->SophieBookFileExtension #flowConnection->SophieFlowConnectionExtension #frameLayoutExtension->SophieFrameLayoutExtension #help->SophieHelpMenuExtension #layoutTemplateExtension->SophieLayoutTemplateExtension #listNavigation->SophieListNavigationExtension #markers->SophieMarkerExtension #oki->SophieOKIExtension #pasteClipboard->SophiePasteClipboardExtension #resourceBrowser->SophieResourceBrowserExtension #searchReplace->SophieSearchReplaceExtension #searchResultExtension->SophieSearchResultExtension #servers->SophieS3ServersExtension #spellcheckui->SophieSpellCheckerExtension #sticky->SophieStickyExtension #thumbnailPageList->SophieThumbnailPageListExtension #timelineEditorView->SophieTimelineEditorExtension #timelineListView->SophieTimelineExtension ) newBookStartNumber: nil booksWeaklyRemembered: nil inFullScreenMode: true [] in SophieWorldPlayer>>onDropFiles: {[SophieApplication singleton dropFile: t3 at: 0 @ 0]} Arguments and temporary variables: t1: [98@98 dropFilesEvent] t2: 1 t3: MultiByteFileStream: '/Users/travencollins/Desktop/The Triangle Fire.spbf/' t4: 1 BlockContext>>ensure: Receiver: [] in SophieWorldPlayer>>onDropFiles: {[SophieApplication singleton dropFile: t3 at: 0 @ 0]} Arguments and temporary variables: t1: [] in SophieWorldPlayer>>onDropFiles: {[t3 close]} t2: nil t3: nil Receiver's instance variables: sender: BlockContext>>ensure: pc: 68 stackp: 0 nargs: 0 startpc: 61 home: SophieWorldPlayer>>onDropFiles: SophieWorldPlayer>>onDropFiles: Receiver: World Arguments and temporary variables: t1: [98@98 dropFilesEvent] t2: 1 t3: MultiByteFileStream: '/Users/travencollins/Desktop/The Triangle Fire.spbf/' t4: 1 Receiver's instance variables: myProperties: an IdentityDictionary(#name->'World' ) myScripts: #(AsyncScriptMessageSend(#onDropFiles: -> World) AsyncScriptMessageSend(#onDragDrop: -> World) AsyncScriptMessageSend(#evaluate: -> World)) myEventMap: an IdentityDictionary(#dragDrop->#(AsyncScriptMessageSend(#onDragDrop: -> World)) #dropFiles->#(AsyncScriptMessageSend(#onDropFiles: -> World)) #extentChanged->#(AsyncScriptMessageSend(#evaluate: -> World)) #tick->#(a ScriptEventObserver a ScriptEventObserver a ScriptEventObserver a ScriptEventObserver a ScriptEventObserver a ScriptEventObserver) ) myCostume: a CWorldCostume[World] myPlayer: nil sensor: nil hands: #(Hand) scheduler: a ScriptScheduler maxLayoutRounds: 3 damageRecorder: nil bltRects: nil eventQueue: a SharedQueue display: Form(1260x744x32) ownerMorph: a SophieRootMorph(3727) frameNumber: 2028 activeProject: nil killFrame: nil AsyncScriptMessageSend(ScriptMessageSend)>>synchronousValueWithArguments:event: Receiver: AsyncScriptMessageSend(#onDropFiles: -> World) Arguments and temporary variables: t1: #([98@98 dropFilesEvent]) t2: a ScriptEvent t3: nil t4: ScriptProcess in AsyncScriptMessageSend(#onDropFiles: -> World)>>onDropFiles: Receiver's instance variables: receiver: World selector: #onDropFiles: arguments: #(nil) eventSpec: #(World #dropFiles) extraArgs: 1 paused: nil myFarRef: nil myProcess: ScriptProcess in AsyncScriptMessageSend(#onDropFiles: -> World)>>onDropFiles: myQueue: a ScriptEventBuffer myIsland: an Island(Squeak) myScheduler: a ScriptScheduler myTrigger: CEventTrigger(on: dropFiles -> SophieWorldPlayer>>#onDropFiles:) myScripts: nil AsyncScriptMessageSend(ScriptMessageSend)>>synchronousValueWithEvent: Receiver: AsyncScriptMessageSend(#onDropFiles: -> World) Arguments and temporary variables: t1: a ScriptEvent t2: #([98@98 dropFilesEvent]) t3: 1 t4: 1 Receiver's instance variables: receiver: World selector: #onDropFiles: arguments: #(nil) eventSpec: #(World #dropFiles) extraArgs: 1 paused: nil myFarRef: nil myProcess: ScriptProcess in AsyncScriptMessageSend(#onDropFiles: -> World)>>onDropFiles: myQueue: a ScriptEventBuffer myIsland: an Island(Squeak) myScheduler: a ScriptScheduler myTrigger: CEventTrigger(on: dropFiles -> SophieWorldPlayer>>#onDropFiles:) myScripts: nil AsyncScriptMessageSend(ScriptMessageSend)>>valueWithEvent: Receiver: AsyncScriptMessageSend(#onDropFiles: -> World) Arguments and temporary variables: t1: a ScriptEvent Receiver's instance variables: receiver: World selector: #onDropFiles: arguments: #(nil) eventSpec: #(World #dropFiles) extraArgs: 1 paused: nil myFarRef: nil myProcess: ScriptProcess in AsyncScriptMessageSend(#onDropFiles: -> World)>>onDropFiles: myQueue: a ScriptEventBuffer myIsland: an Island(Squeak) myScheduler: a ScriptScheduler myTrigger: CEventTrigger(on: dropFiles -> SophieWorldPlayer>>#onDropFiles:) myScripts: nil AsyncScriptMessageSend>>value Receiver: AsyncScriptMessageSend(#onDropFiles: -> World) Arguments and temporary variables: Receiver's instance variables: receiver: World selector: #onDropFiles: arguments: #(nil) eventSpec: #(World #dropFiles) extraArgs: 1 paused: nil myFarRef: nil myProcess: ScriptProcess in AsyncScriptMessageSend(#onDropFiles: -> World)>>onDropFiles: myQueue: a ScriptEventBuffer myIsland: an Island(Squeak) myScheduler: a ScriptScheduler myTrigger: CEventTrigger(on: dropFiles -> SophieWorldPlayer>>#onDropFiles:) myScripts: nil ScriptProcess>>privateRunMsg Receiver: ScriptProcess in AsyncScriptMessageSend(#onDropFiles: -> World)>>onDropFiles: Arguments and temporary variables: Receiver's instance variables: nextLink: nil suspendedContext: ScriptProcess(Process)>>suspend priority: 45 myList: nil errorHandler: nil name: nil island: an Island(Squeak) owner: AsyncScriptMessageSend(#onDropFiles: -> World) event: a ScriptEvent message: AsyncScriptMessageSend(#onDropFiles: -> World) result: nil flags: 1 properties: an IdentityDictionary(#hand->Far:[Hand] ) scheduler: a ScriptScheduler myEventMap: nil myLink: a ScriptProcessLinkWeak myTriggerBlock: nil myHandler: nil topContext: UndefinedObject(Object)>>doesNotUnderstand: [] in ScriptProcess>>newScript {[self privateRunMsg. self suspend]} Arguments and temporary variables: --- The full stack --- UndefinedObject(Object)>>doesNotUnderstand: [] in StandardFileStream class>>retryWithGC:until:forFileNamed: {[:t6 | t6 name sameAs: t3]} [] in Array(Collection)>>anySatisfy: {[:t2 | (t1 value: t2) ifTrue: [^ true]. nil]} Array(SequenceableCollection)>>do: Array(Collection)>>anySatisfy: StandardFileStream class>>retryWithGC:until:forFileNamed: MultiByteFileStream(StandardFileStream)>>open:forWrite: MultiByteFileStream>>open:forWrite: MultiByteFileStream class(StandardFileStream class)>>isAFileNamed: FileStream class>>isAFileNamed: SophieResourceStorageFileDirectoryWithFolderAndZipped(SophieResourceStorageFileDirectoryZip)>>metaDataURI SophieResourceStorageFileDirectoryWithFolderAndZipped(SophieResourceStorageFileDirectory)>>getMetaDataReadStream SophieResourceStorageFileDirectoryWithFolderAndZipped(SophieResourceStorage)>>readResourceMetadata: SophieResourceManagerFolderPackage(SophieResourceManager)>>resourceDictionary SophieResourceManagerFolderPackage(SophieResourceManager)>>book: SophieResourceManagerFolderPackage class(SophieResourceManager class)>>forBook: SophieBook>>createFolderStorage SophieBook>>readFromURI: [] in SophieBook class>>fromURI:application: {[t3 readFromURI: t1]} BlockContext>>ensure: CursorWithMask(Cursor)>>showWhile: SophieBook class>>fromURI:application: SophieApplication>>openBookIfNotAlreadyOpenViaURI: SophieApplication>>dropFile:at: [] in SophieWorldPlayer>>onDropFiles: {[SophieApplication singleton dropFile: t3 at: 0 @ 0]} BlockContext>>ensure: SophieWorldPlayer>>onDropFiles: AsyncScriptMessageSend(ScriptMessageSend)>>synchronousValueWithArguments:event: AsyncScriptMessageSend(ScriptMessageSend)>>synchronousValueWithEvent: AsyncScriptMessageSend(ScriptMessageSend)>>valueWithEvent: AsyncScriptMessageSend>>value ScriptProcess>>privateRunMsg [] in ScriptProcess>>newScript {[self privateRunMsg. self suspend]} |
(0011287 - 892 - 1490 - 1490 - 1490 - 1490 - 1490) johnmci 10-10-07 17:38 |
Ok, the problem is that open: fileName forWrite: writeMode "Open the file with the given name. If writeMode is true, allow writing, otherwise open the file in read-only mode." "Changed to do a GC and retry before failing ar 3/21/98 17:25" | f | f _ fileName asVmPathName. fileID _ StandardFileStream retryWithGC:[self primOpen: f writable: writeMode] until:[:id| id notNil] forFileNamed: fileName. fileID ifNil: [^ nil]. "allows sender to detect failure" self register. name _ fileName. rwmode _ writeMode. buffer1 _ String new: 1. it actually registers the object into the WeakRegistry before assigning the name, this means the name is NIL. Now if another process can leap in and trigger the retryWithGC:until:forFileNamed: you will hit this problem since it is examining the keys and at the time it's added to the dictionary it has a nil name. |
Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
45 total queries executed. 34 unique queries executed. |