<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi Chris,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I get an error when trying to inspect the root of
my repository. </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>The following stack trace shows a BlockContext
trying to materialize. </FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Does this mean the repository is
fried?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>There seems to be no way to inspect the contents of
the repository other than inspecting the root of a session. Is that
right? Is there anyway to determine where the block context came
from?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>I'm still trying to understand how this
works. What if you create a repository from a root, to which you keep a
pointer as a global variable. Does that global variable now point to the
repository object, or is it pointing to a dead clone of the
repository?</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Thank you.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>May 8, 2003 16:27</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>VM: Win32 - Squeak3.4 of 1 March 2003 [latest
update: #5170]<BR>Image: Squeak3.5 [latest update: #5180]</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial
size=2>BlockContext(Object)>>error:<BR> Receiver: a BlockContext with
home=nil<BR> Arguments and temporary variables: <BR> aString:
'stackp store failure'<BR> Receiver's instance variables:
<BR> sender: 0<BR> pc:
18446744072634809864<BR> stackp:
nil<BR> nargs: nil<BR> startpc:
nil<BR> home: nil</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial
size=2>BlockContext(ContextPart)>>stackp:<BR> Receiver: a
BlockContext with home=nil<BR> Arguments and temporary variables:
<BR> newStackp: 18446744072634809792<BR> Receiver's
instance variables: <BR> sender: 0<BR> pc:
18446744072634809864<BR> stackp:
nil<BR> nargs: nil<BR> startpc:
nil<BR> home: nil</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial
size=2>BlockContext>>instVarAt:put:<BR> Receiver: a BlockContext with
home=nil<BR> Arguments and temporary variables: <BR> index:
3<BR> value: 18446744072634809792<BR> Receiver's
instance variables: <BR> sender: 0<BR> pc:
18446744072634809864<BR> stackp:
nil<BR> nargs: nil<BR> startpc:
nil<BR> home: nil</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2>BlockContext class(Object
class)>>maMaterializeFrom:<BR> Receiver:
BlockContext<BR> Arguments and temporary variables:
<BR> aMaNormalObjectBuffer: a MaNormalObjectBuffer
<BR> oid : 2066876<BR> classId :
119<BR> p...etc...<BR> skeleton: a BlockContext with
home=nil<BR> indexedSize: 0<BR> index:
3<BR> indexLimiT: 6<BR> Receiver's instance
variables: <BR> superclass:
ContextPart<BR> methodDict: a
MethodDictionary(#aboutToReturn:through:->a CompiledMethod
(2845)...etc...<BR> format:
27022<BR> instanceVariables: #('nargs' 'startpc'
'home')<BR> organization: ('initialize-release'
home:startpc:nargs:)<BR>('accessing'
copyForSa...etc...<BR> subclasses: nil<BR> name:
#BlockContext<BR> classPool: a
Dictionary()<BR> sharedPools: nil<BR> environment:
nil<BR> category: nil</FONT></DIV>
<DIV> </DIV>
<DIV><FONT face=Arial size=2><BR>--- The full stack
---<BR>BlockContext(Object)>>error:<BR>BlockContext(ContextPart)>>stackp:<BR>BlockContext>>instVarAt:put:<BR>BlockContext
class(Object class)>>maMaterializeFrom:<BR> - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
-<BR>MaNormalObjectBuffer>>skeletonObjectUsing:<BR>MaObjectSerializer>>newSkeletonFor:<BR>[]
in MaObjectSerializer>>materializeGraphDo:<BR>[] in
MaDefaultOidManager>>objectWithOid:ifFound:ifAbsent:<BR>MaWeakValueDictionary(MaDictionary)>>maAt:ifPresent:ifAbsent:<BR>[]
in MaDefaultOidManager>>objectWithOid:ifFound:ifAbsent:<BR>MaOidCalculator
class>>objectWithOid:ifNone:<BR>MaDefaultOidManager>>objectWithOid:ifFound:ifAbsent:<BR>MaObjectSerializer>>objectWithOid:ifFound:ifAbsent:<BR>[]
in MaObjectSerializer>>materializeGraphDo:<BR>[] in
MaSerializedGraphBuffer>>buffersDo:<BR>MaSerializedGraphBuffer>>bufferPositionsDo:<BR>MaSerializedGraphBuffer>>buffersDo:<BR>MaObjectSerializer>>materializeGraphDo:<BR>MaObjectSerializer>>materializeGraph:do:<BR>MagmaSession>>materializeObject:<BR>MagmaSession>>anchor<BR>MagmaSession>>root<BR>MagmaSession>>DoIt<BR>Compiler>>evaluate:in:to:notifying:ifFail:<BR>[]
in
TextMorphEditor(ParagraphEditor)>>evaluateSelection<BR>BlockContext>>on:do:<BR>TextMorphEditor(ParagraphEditor)>>evaluateSelection<BR>TextMorphEditor(ParagraphEditor)>>inspectIt<BR>TextMorphEditor>>inspectIt:<BR>TextMorphEditor(ParagraphEditor)>>dispatchOnCharacter:with:<BR>TextMorphEditor>>dispatchOnCharacter:with:<BR>TextMorphEditor(ParagraphEditor)>>readKeyboard<BR>TextMorphEditor>>readKeyboard<BR>[]
in
TextMorphForEditView(TextMorph)>>keyStroke:<BR>TextMorphForEditView(TextMorph)>>handleInteraction:fromEvent:<BR>TextMorphForEditView>>handleInteraction:fromEvent:<BR>TextMorphForEditView(TextMorph)>>keyStroke:<BR>TextMorphForEditView>>keyStroke:<BR>TextMorphForEditView(TextMorph)>>handleKeystroke:<BR>KeyboardEvent>>sentTo:<BR>TextMorphForEditView(Morph)>>handleEvent:<BR>TextMorphForEditView(Morph)>>handleFocusEvent:<BR>[]
in
HandMorph>>sendFocusEvent:to:clear:<BR>PasteUpMorph>>becomeActiveDuring:<BR>HandMorph>>sendFocusEvent:to:clear:<BR>HandMorph>>sendEvent:focus:clear:<BR>HandMorph>>sendKeyboardEvent:<BR>HandMorph>>handleEvent:<BR>HandMorph>>processEvents<BR>[]
in
WorldState>>doOneCycleNowFor:<BR>Array(SequenceableCollection)>>do:<BR>WorldState>>handsDo:<BR>WorldState>>doOneCycleNowFor:<BR>WorldState>>doOneCycleFor:<BR>PasteUpMorph>>doOneCycle<BR>[]
in Project class>>spawnNewProcess<BR>[] in
BlockContext>>newProcess<BR></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Derek Brans<BR>Nerd on a Wire<BR>Web design that's
anything but square<BR><A
href="http://www.nerdonawire.com">http://www.nerdonawire.com</A> <BR>phone:
604.874.6463<BR>mailto: <A
href="mailto:brans@nerdonawire.com">brans@nerdonawire.com</A><BR></FONT></DIV></BODY></HTML>