[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