[BUG][3.9g#7055] getSourceFromFile past end of file [was: Not possible to add instvars in Squeak39g 7055]

Klaus D. Witzel klaus.witzel at cobss.com
Thu Sep 7 15:24:38 UTC 2006


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