Hi,

While using Fuel in a 2.0 image to serialize some objects (including 
CompiledMethods) I'm getting this error: SubscriptOutOfBounds: 27.

I spent hours in the debugger before writing this email, but I'm not able to 
figure out why this is happening. I attach the full stack of the error 
(STACK#1).

I understood that it has something to do with a particular CompiledMethod in my 
image and/or a BlockClosure which for some reason cannot be printed (i.e., the 
printString returns <error in printString: evaluate "self printString" to 
debug>) and when I try to printString to debug I got the STACK#2 which in turn 
does not bring me to any possible solution.

Hope some of you will have an intuition on that or at least tell me where to 
look or how to script a possible workaround.

Thanks in advance,
Roby

############################################################################################
######################################### STACK#1 
########################################### 
###########################################################################################
CompiledMethod(Object)>>errorSubscriptBounds:
CompiledMethod(Object)>>at:
InstructionStream>>interpretNextInstructionFor:
CompiledMethod>>abstractBytecodeMessageAt: in Block: [(InstructionStream new 
method: self pc: pc)...
BlockClosure>>on:do:
CompiledMethod>>abstractBytecodeMessageAt:
BlockClosure>>blockCreationBytecodeMessage
BlockClosure>>endPC
BlockClosure>>abstractBytecodeMessagesDo:
BlockClosure>>isClean
BlockClosure>>shouldBeSubstitutedByCleanCopy
BlockClosure>>fuelAccept:
FLFullGeneralMapper(FLLightGeneralMapper)>>mapAndTrace:
FLFullGlobalMapper>>mapAndTrace: in Block: [(anObject class == CompiledMethod...
FLLargeIdentityDictionary>>at:ifAbsent:
FLFullGlobalMapper>>mapAndTrace:
FLPluggableSubstitutionMapper>>mapAndTrace:
FLPluggableSubstitutionMapper>>mapAndTrace:
FLAnalysis>>mapAndTrace:
FLAnalysis>>run
FLAnalyzer>>setDefaultAnalysis in Block: [:anObject | (FLAnalysis...
FLAnalyzer>>analysisFor:
FLSerialization>>analysisStep
FLSerialization>>run
DFSerializer(FLSerializer)>>setDefaultSerialization in Block: [:anObject 
:anEncoder | (FLSerialization...
DFSerializer(FLSerializer)>>serialize:on: in Block: [:anEncoder | ...
FLEncoder class>>on:globalEnvironment:do: in Block: [aBlock value: anEncoder]
BlockClosure>>ensure:
FLEncoder class>>on:globalEnvironment:do:
DFSerializer(FLSerializer)>>serialize:on:


############################################################################################
######################################### STACK#2 
########################################### 
############################################################################################
Decompiler(Object)>>error:
Decompiler>>decompileBlock:
BlockClosure>>decompile
BlockClosure>>printOn:
BlockClosure(Object)>>printStringLimitedTo: in Block: [:s | self printOn: s]
String class(SequenceableCollection class)>>streamContents:limitedTo:
BlockClosure(Object)>>printStringLimitedTo:
BlockClosure(Object)>>printString
BlockClosure>>DoIt
Compiler>>evaluate:in:to:notifying:ifFail:logged:
SmalltalkEditor>>evaluateSelectionAndDo: in Block: [rcvr class evaluatorClass 
new...
BlockClosure>>on:do:
SmalltalkEditor>>evaluateSelectionAndDo:
SmalltalkEditor>>evaluateSelection
PluggableTextMorph>>doIt in Block: [textMorph editor evaluateSelection]
PluggableTextMorph>>handleEdit: in Block: [result := editBlock value]
TextMorphForEditView(TextMorph)>>handleEdit:
PluggableTextMorph>>handleEdit:
PluggableTextMorph>>doIt
SmalltalkEditor class>>buildSmalltalkEditorKeymappingsOn: in Block: [:morph | 
morph doIt]
BlockClosure>>cull:
BlockClosure>>cull:cull:
BlockClosure>>cull:cull:cull:
KMCategoryTarget>>completeMatch:buffer:
KMKeymap>>notifyCompleteMatchTo:buffer: in Block: [:l | l completeMatch: self 
buffer: aBuffer]
Array(SequenceableCollection)>>do:
KMKeymap>>notifyCompleteMatchTo:buffer:
KMKeymap>>onMatchWith:notify:andDo:
KMCategory>>onMatchWith:notify:andDo: in Block: [:entry | entry...
Set>>do:



Reply via email to