[BUG][3.9g#7055] getSourceFromFile past end of file [was: Not
possible to add instvars in Squeak39g 7055]
stéphane ducasse
ducasse at iam.unibe.ch
Thu Sep 7 21:49:03 UTC 2006
We were aware of that and now this is fixed in 7056 (please donwload
the image or recreate it from 7053) and remove your old
39sources
Stef
On 7 sept. 06, at 17:24, Klaus D. Witzel wrote:
> On Thu, 07 Sep 2006 15:35:38 +0200, Gary Chambers wrote:
>
>> Look at (for example) ClassDescription>>removeSelector:
>> Decompiled code, try looking at the versions!
>
> Alright, downloaded a fresh 3.9g#7055 all into a new subdirectory
> and looked at fileIndex and filePointer samples: nothing obvious
> jumped into the eyes.
>
> But I confirm your observation, there is a serious bug (either with
> the .source/.changes files or with the xyzPointers), reproducible
> with (ClassDescription>>#removeSelector:) getSourceFromFile.
>
> Didn't find the cause. Marcus, Stef, are the correct #7055 files in
> the .zip?
>
> /Klaus
>
> Error: RemoteString past end of file
> 7 September 2006 5:08:48 pm
>
> VM: Win32 - a SmalltalkImage
> Image: Squeak3.9gamma [latest update: #7055]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir ...\kWitzel\My Documents\Squeak3.9g
> Trusted Dir ...\kWitzel\My Documents\Squeak3.9g\kWitzel
> Untrusted Dir ...\My Squeak\kWitzel
>
> RemoteString(Object)>>error:
> Receiver: a RemoteString
> Arguments and temporary variables:
> aString: 'RemoteString past end of file'
> Receiver's instance variables:
> sourceFileNumber: 2
> filePositionHi: 19955217
>
> RemoteString>>text
> Receiver: a RemoteString
> Arguments and temporary variables:
> theFile: MultiByteFileStream: '...\kWitzel\My Documents\S...etc...
> Receiver's instance variables:
> sourceFileNumber: 2
> filePositionHi: 19955217
>
> CompiledMethod>>getSourceFromFile
> Receiver: a CompiledMethod (3981)
> Arguments and temporary variables:
> position: 19955217
> Receiver's instance variables:
> a CompiledMethod (3981)
>
> CompiledMethod>>DoIt
> Receiver: a CompiledMethod (3981)
> Arguments and temporary variables:
>
> Receiver's instance variables:
> a CompiledMethod (3981)
>
>
> --- The full stack ---
> RemoteString(Object)>>error:
> RemoteString>>text
> CompiledMethod>>getSourceFromFile
> CompiledMethod>>DoIt
> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> Compiler>>evaluate:in:to:notifying:ifFail:logged:
> [] in TextMorphEditor(ParagraphEditor)>>evaluateSelection {[rcvr
> class evaluatorClass new evaluate: self selectionAsStream in:
> ctxt...]}
> BlockContext>>on:do:
> TextMorphEditor(ParagraphEditor)>>evaluateSelection
> TextMorphEditor(ParagraphEditor)>>printIt
> [] in TextMorphEditor(ParagraphEditor)>>printIt: {[self printIt]}
> TextMorphEditor(Controller)>>terminateAndInitializeAround:
> TextMorphEditor(ParagraphEditor)>>printIt:
> TextMorphEditor(ParagraphEditor)>>dispatchOnCharacter:with:
> TextMorphEditor>>dispatchOnCharacter:with:
> TextMorphEditor(ParagraphEditor)>>readKeyboard
> TextMorphEditor>>readKeyboard
> [] in TextMorphForEditView(TextMorph)>>keyStroke: {[editor
> readKeyboard]}
> TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:
> TextMorphForEditView>>handleInteraction:fromEvent:
> TextMorphForEditView(TextMorph)>>keyStroke:
> TextMorphForEditView>>keyStroke:
> TextMorphForEditView(TextMorph)>>handleKeystroke:
> KeyboardEvent>>sentTo:
> TextMorphForEditView(Morph)>>handleEvent:
> TextMorphForEditView(Morph)>>handleFocusEvent:
> [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.
> ActiveEvent := anEvent. result := focusHolder han...]}
> [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
> BlockContext>>on:do:
> PasteUpMorph>>becomeActiveDuring:
> HandMorph>>sendFocusEvent:to:clear:
> HandMorph>>sendEvent:focus:clear:
> HandMorph>>sendKeyboardEvent:
> HandMorph>>handleEvent:
> HandMorph>>processEvents
> [] in WorldState>>doOneCycleNowFor: {[:h | ActiveHand := h. h
> processEvents. capturingGesture := capturingGest...]}
> 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]}
>
>
>
More information about the Squeak-dev
mailing list
|