[GemStone-Smalltalk] Delegate GCed before client object

David Shaffer shaffer at shaffer-consulting.com
Tue Nov 16 21:48:57 PST 2021


This is the same application described in my previous email (the one that restarts every 2 hours).  I’m now dead in the water with the following error occurring on the VW client within a couple minutes of startup each time.  I’m at a loss as to where to look for root causes for this…I’m guessing I’m doing something that I shouldn’t.  My first guess was threading…but I’ve gone to great lengths to avoid any DB objects ending up in the other threads.  If that seems like a likely culprit, I’ll dig deeper.  Any hints? :)

-David


Unhandled exception: GBS Error - Delegate GCed before client object

----------------------------------------------------------------------
GbxMessageDispatcher>>basicRaise:message:
Receiver:
	a GbxMessageDispatcher
Instance Variables:
	handler = a CstMessageHandlerVw
Arguments:
	errorSignal = GemStone.Gbs.GbsInterfaceError
	errorString = 'GBS Error - Delegate GCed before client object'
Context PC = 4

----------------------------------------------------------------------
GbxMessageDispatcher>>raise:message:withArguments:
Receiver:
	a GbxMessageDispatcher
Instance Variables:
	handler = a CstMessageHandlerVw
Arguments:
	errorSignal = GemStone.Gbs.GbsInterfaceError
	aString = 'GBS Error - Delegate GCed before client object'
	args = an Array[0]
Temporaries:
	string = 'GBS Error - Delegate GCed before client object'
Context PC = 12

----------------------------------------------------------------------
GbxMessageDispatcher>>raise:message:
Receiver:
	a GbxMessageDispatcher
Instance Variables:
	handler = a CstMessageHandlerVw
Arguments:
	errorSignal = GemStone.Gbs.GbsInterfaceError
	aString = 'GBS Error - Delegate GCed before client object'
Context PC = 7

----------------------------------------------------------------------
GbxMessageDispatcher>>basicError:
Receiver:
	a GbxMessageDispatcher
Instance Variables:
	handler = a CstMessageHandlerVw
Arguments:
	aString = 'Delegate GCed before client object'
Context PC = 14

----------------------------------------------------------------------
GbxMessageDispatcher(CstMessageDispatcher)>>error:withArguments:
Receiver:
	a GbxMessageDispatcher
Instance Variables:
	handler = a CstMessageHandlerVw
Arguments:
	aString = 'Delegate GCed before client object'
	args = an Array[0]
Temporaries:
	string = 'Delegate GCed before client object'
Context PC = 11

----------------------------------------------------------------------
GbxMessageDispatcher(CstMessageDispatcher)>>error:
Receiver:
	a GbxMessageDispatcher
Instance Variables:
	handler = a CstMessageHandlerVw
Arguments:
	aString = 'Delegate GCed before client object'
Context PC = 6

----------------------------------------------------------------------
GemStone.Gbs.GbxServerMapTableSegment>>beStrongAndFinalizeIntoNoLongerReplicatedBuffer:gcedBuffer:
Receiver:
	a GemStone.Gbs.GbxServerMapTableSegment
Instance Variables:
	upperBytes = 0
	parent = a GemStone.Gbs.GbxServerMapNode
	parentIndex = 153
	needFinalization = true
Arguments:
	noLongerReplicatedBuffer = GbxL8OopArray()
	gcedBuffer = GbxL8OopArray(16r4BD60E01 16r5CF78E01 16r4BD61001 16r5CF79001 16r4BD5E601 16r4BD5E801 16r5CFC4F01 16r5CFC5101 16r5CFBEE01 16r5CFBF001 16r5CF77101 16r55F26901 16r5CFC2C01 16r4BD60701 16r5CF78D01 16r4BD60F01 16r5CF78F01 16r4BD5E701 16r5CFBA501 16r5CFC4E01 16r5CFC5001 )
Temporaries:
	tombstoneIndex = 729
	offsetFromKey = 2
	key = 6080341
	delegate = nil
	clientObj = November 17, 2021 0:00:00.000
Context PC = 168

----------------------------------------------------------------------
GemStone.Gbs.GbxServerMapNode>>beStrongAndFinalizeIntoNoLongerReplicatedBuffer:gcedBuffer:
Receiver:
	a GemStone.Gbs.GbxServerMapNode
Instance Variables:
	upperBytes = 0
	notCachedToken = 'Not cached'
	owningMap = a GemStone.Gbs.GbxServerMap
	parentIndex = 1
	tableSize = 221813
	tally = 128835
Arguments:
	noLongerReplicatedBuffer = GbxL8OopArray()
	gcedBuffer = GbxL8OopArray(16r4BD60E01 16r5CF78E01 16r4BD61001 16r5CF79001 16r4BD5E601 16r4BD5E801 16r5CFC4F01 16r5CFC5101 16r5CFBEE01 16r5CFBF001 16r5CF77101 16r55F26901 16r5CFC2C01 16r4BD60701 16r5CF78D01 16r4BD60F01 16r5CF78F01 16r4BD5E701 16r5CFBA501 16r5CFC4E01 16r5CFC5001 )
Temporaries:
	minimumTableSize = nil
	i = 153
Context PC = 20

----------------------------------------------------------------------
optimized [] in GemStone.Gbs.GbxServerMap>>beStrongAndFinalizeIntoNoLongerReplicatedBuffer:gcedBuffer:
Receiver:
	an UndefinedObject
Arguments:
	node = a GemStone.Gbs.GbxServerMapNode
Temporaries:
	.noLongerReplicatedBuffer = GbxL8OopArray()
	.gcedBuffer = GbxL8OopArray(16r4BD60E01 16r5CF78E01 16r4BD61001 16r5CF79001 16r4BD5E601 16r4BD5E801 16r5CFC4F01 16r5CFC5101 16r5CFBEE01 16r5CFBF001 16r5CF77101 16r55F26901 16r5CFC2C01 16r4BD60701 16r5CF78D01 16r4BD60F01 16r5CF78F01 16r4BD5E701 16r5CFBA501 16r5CFC4E01 16r5CFC5001 )
Context PC = 7

----------------------------------------------------------------------
GemStone.Gbs.GbxServerMap(GemStone.Gbs.GbxOopKeyedDictionary)>>nodesDo:
Receiver:
	a GemStone.Gbs.GbxServerMap
Instance Variables:
	numNodeSlots = 64
	notCachedToken = 'Not cached'
	session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	isWeak = false
Arguments:
	aBlock = BlockClosure [] in GemStone.Gbs.GbxServerMap>>beStrongAndFinalizeIntoNoLongerReplicatedBuffer:gcedBuffer:
Temporaries:
	i = 1
	node = a GemStone.Gbs.GbxServerMapNode
Context PC = 23

----------------------------------------------------------------------
GemStone.Gbs.GbxServerMap>>beStrongAndFinalizeIntoNoLongerReplicatedBuffer:gcedBuffer:
Receiver:
	a GemStone.Gbs.GbxServerMap
Instance Variables:
	numNodeSlots = 64
	notCachedToken = 'Not cached'
	session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	isWeak = false
Arguments:
	noLongerReplicatedBuffer = GbxL8OopArray()
	gcedBuffer = GbxL8OopArray(16r4BD60E01 16r5CF78E01 16r4BD61001 16r5CF79001 16r4BD5E601 16r4BD5E801 16r5CFC4F01 16r5CFC5101 16r5CFBEE01 16r5CFBF001 16r5CF77101 16r55F26901 16r5CFC2C01 16r4BD60701 16r5CF78D01 16r4BD60F01 16r5CF78F01 16r4BD5E701 16r5CFBA501 16r5CFC4E01 16r5CFC5001 )
Context PC = 15

----------------------------------------------------------------------
GemStone.Gbs.GbxGciSingleTripInterface(GemStone.Gbs.GbxServerInterface)>>finalizeIntoNoLongerReplicatedBuffer:gcedBuffer:
Receiver:
	a GemStone.Gbs.GbxGciSingleTripInterface
Instance Variables:
	alteredOopBuffer = nil
	byteFetchBuffer = nil
	callSequencer = a GemStone.Gbs.GbxNonBlockingGciCallSequencer
	clampedTravArgsBuffer = GbxGciClampedTravArgsSType with:
	clampSpec = 1560322305
	travBuff = 140394453450832
	level = 4
	retrievalFlags = 272
	resultOop = 1101174273
	dirtyOopBuffer = nil
	eventDetector = a GbxWaitingEventDetector
	gcedOopBuffer = GbxL8OopArray(16r4BD60E01 16r5CF78E01 16r4BD61001 16r5CF79001 16r4BD5E601 16r4BD5E801 16r5CFC4F01 16r5CFC5101 16r5CFBEE01 16r5CFBF001 16r5CF77101 16r55F26901 16r5CFC2C01 16r4BD60701 16r5CF78D01 16r4BD60F01 16r5CF78F01 16r4BD5E701 16r5CFBA501 16r5CFC4E01 16r5CFC5001 )
	longHolderBuffer = nil
	longHolderBuffer2 = nil
	needMoreTraversal = false
	oopFetchBuffer = GbxL8OopArray(16r5CF83501 16r11A01 16r5D00A101 16r5D00A001 16r5D009F01 16r5D009E01 16r5D009D01 16r5D009C01 16r5D009B01 16r5D009A01 16r5D009901 16r5D009801 16r5D009701 16r5D009601 16r5D009501 16r5D009401 16r5D009301 16r5D009201 16r5D009101 16r5D009001 16r5D008F01 16r5D008E01 16r5D008D01 16r5D008C01 16r5D008B01 16r5D008A01 16r5D008901 16r5D008801 16r5D008701 16r5D008601 16r5D008501 16r5D008401 16r5D008301 16r5D008201 16r5D008101 16r5D008001 16r5D007F01 16r5D007E01 16r5D007D01 16r5D007C01 16r5D007B01 16r5D007A01 16r5D007901 16r5D007801 16r5D007701 16r5D007601 16r5D007501 16r5D007401 16r5D007301 16r5D007201 16r5D007101 16r5D007001 16r5D006F01 16r5D006E01 16r5D006D01 16r5D006C01 16r5D006B01 16r5D006A01 16r5D006901 16r5D006801 16r5D006701 16r5D006601 16r5D006501 16r5D006401 16r5D006301 16r5D006201 16r5D006101 16r5D006001 16r5D005F01 )
	oopsNoLongerReplicatedBuffer = GbxL8OopArray()
	singleStepIsRequested = false
	storeTravDoArgsBuffer = GbxGciStoreTravDoArgsSType64v31 with:
	doPerform = 3
	doFlags = 0
	alteredNumOops = 0
	alteredCompleted = false
	receiver = 1101174273
	selector = a CPointer {invalid} (const char * )
	args = a CPointer {invalid} (const OopType * )
	numArgs = 0
	environmentId = 0
	storeTravBuff = a CPointer {039E31C8} (ByteType * )
	alteredTheOops = a CPointer {invalid} (OopType * )
	storeTravFlags = 11
	noLongerReplicatedOops = a Set[0]
	thisSession = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	traversalBufferManager = a GemStone.Gbs.GbxTraversalBufferManager
Arguments:
	noLongerReplicatedBuffer = GbxL8OopArray()
	gcedBuffer = GbxL8OopArray(16r4BD60E01 16r5CF78E01 16r4BD61001 16r5CF79001 16r4BD5E601 16r4BD5E801 16r5CFC4F01 16r5CFC5101 16r5CFBEE01 16r5CFBF001 16r5CF77101 16r55F26901 16r5CFC2C01 16r4BD60701 16r5CF78D01 16r4BD60F01 16r5CF78F01 16r4BD5E701 16r5CFBA501 16r5CFC4E01 16r5CFC5001 )
Temporaries:
	cache = a GemStone.Gbs.GbxServerMap
Context PC = 15

----------------------------------------------------------------------
GemStone.Gbs.GbxGciSingleTripInterface(GemStone.Gbs.GbxServerInterface)>>makeCacheStrongAndFinalizeIntoBuffers
Receiver:
	a GemStone.Gbs.GbxGciSingleTripInterface
Instance Variables:
	alteredOopBuffer = nil
	byteFetchBuffer = nil
	callSequencer = a GemStone.Gbs.GbxNonBlockingGciCallSequencer
	clampedTravArgsBuffer = GbxGciClampedTravArgsSType with:
	clampSpec = 1560322305
	travBuff = 140394453450832
	level = 4
	retrievalFlags = 272
	resultOop = 1101174273
	dirtyOopBuffer = nil
	eventDetector = a GbxWaitingEventDetector
	gcedOopBuffer = GbxL8OopArray(16r4BD60E01 16r5CF78E01 16r4BD61001 16r5CF79001 16r4BD5E601 16r4BD5E801 16r5CFC4F01 16r5CFC5101 16r5CFBEE01 16r5CFBF001 16r5CF77101 16r55F26901 16r5CFC2C01 16r4BD60701 16r5CF78D01 16r4BD60F01 16r5CF78F01 16r4BD5E701 16r5CFBA501 16r5CFC4E01 16r5CFC5001 )
	longHolderBuffer = nil
	longHolderBuffer2 = nil
	needMoreTraversal = false
	oopFetchBuffer = GbxL8OopArray(16r5CF83501 16r11A01 16r5D00A101 16r5D00A001 16r5D009F01 16r5D009E01 16r5D009D01 16r5D009C01 16r5D009B01 16r5D009A01 16r5D009901 16r5D009801 16r5D009701 16r5D009601 16r5D009501 16r5D009401 16r5D009301 16r5D009201 16r5D009101 16r5D009001 16r5D008F01 16r5D008E01 16r5D008D01 16r5D008C01 16r5D008B01 16r5D008A01 16r5D008901 16r5D008801 16r5D008701 16r5D008601 16r5D008501 16r5D008401 16r5D008301 16r5D008201 16r5D008101 16r5D008001 16r5D007F01 16r5D007E01 16r5D007D01 16r5D007C01 16r5D007B01 16r5D007A01 16r5D007901 16r5D007801 16r5D007701 16r5D007601 16r5D007501 16r5D007401 16r5D007301 16r5D007201 16r5D007101 16r5D007001 16r5D006F01 16r5D006E01 16r5D006D01 16r5D006C01 16r5D006B01 16r5D006A01 16r5D006901 16r5D006801 16r5D006701 16r5D006601 16r5D006501 16r5D006401 16r5D006301 16r5D006201 16r5D006101 16r5D006001 16r5D005F01 )
	oopsNoLongerReplicatedBuffer = GbxL8OopArray()
	singleStepIsRequested = false
	storeTravDoArgsBuffer = GbxGciStoreTravDoArgsSType64v31 with:
	doPerform = 3
	doFlags = 0
	alteredNumOops = 0
	alteredCompleted = false
	receiver = 1101174273
	selector = a CPointer {invalid} (const char * )
	args = a CPointer {invalid} (const OopType * )
	numArgs = 0
	environmentId = 0
	storeTravBuff = a CPointer {039E31C8} (ByteType * )
	alteredTheOops = a CPointer {invalid} (OopType * )
	storeTravFlags = 11
	noLongerReplicatedOops = a Set[0]
	thisSession = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	traversalBufferManager = a GemStone.Gbs.GbxTraversalBufferManager
Context PC = 14

----------------------------------------------------------------------
GemStone.Gbs.GbxServerInterfaceWithStats>>makeCacheStrongAndFinalizeIntoBuffers
Receiver:
	a GemStone.Gbs.GbxServerInterfaceWithStats
Instance Variables:
	statResource = a GbxSessionStatResource:
	bytesSentByStoreTraversal: 213624
	bytesTraversed: 7671328
	changedObjNotifications: 0
	classesMapped: 1970
	dirtyPoolSize: 0
	freeOopsFetched: 2000
	gciCallsToGem: 754
	gciCallsToGemTime: 9550798
	gciErrors: 0
	lostOtRoots: 0
	nbEndResultNoProgress: 292
	nbEndResultProgressed: 0
	nbEndResultReady: 418
	objectsStoredByTraversal: 1461
	objectsTraversed: 126237
	serverMapSize: 128835
	sessionProtectInvocations: 153517
	sessionSignals: 0
	sigAborts: 0
	storeTraversals: 101
	traversalUnpackingTime: 0
	traverseCallTime: 0
	traverseCalls: 418
	serverInterface = a GemStone.Gbs.GbxGciSingleTripInterface
Context PC = 3

----------------------------------------------------------------------
GemStone.Gbs.GbsSessionWithStats(GbsSession)>>startingFirstInteraction:
Receiver:
	a GemStone.Gbs.GbsSessionWithStats
Instance Variables:
	activeInteractions = an IdentitySet[0]
	causeOfDeath = nil
	clientTimeZone = a CompositeTimeZone
	configuration = (GbsConfiguration default
	alwaysUseGemCursor: false;
	confirm: false;
	generateClassConnectors: false;
	libraryName: './libgcirpc-3.6.2-64.so';
	removeInvalidConnectors: true;
	verbose: false;
	yourself)
	copyReplicationClamp = nil
	dependents = nil
	dirtyPool = a GemStone.Gbs.GbxDirtyPool
	eventHandlers = an IdentityDictionary[6]
	eventDetectorErrorHandler = nil
	freeOops = a GemStone.Gbs.GbxFreeOopStream
	gbsm = a GemStone.Gbs.GbsSessionManagerWithStats
	gemTimeZone = a GbxL8Delegate sess: 1 flags: 0 {16r1A11A01}
	gsClassOrganizer = nil
	isRemote = true
	isUnwindingAsyncAbort = false
	nestingLevel = 0
	notCachedToken = 'Not cached'
	parameters = 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	procBalancer = nil
	replicatorManager = a GemStone.Gbs.GbxReplicatorManager
	serverInterface = a GemStone.Gbs.GbxServerInterfaceWithStats
	serverMap = a GemStone.Gbs.GbxServerMap
	sessionDisplayString = 'Session 1 (remote) for ''Trade...0055!gs64stone'' @ ''gemstone'''
	sessionId = 1
	sessionProtect = a GemStone.Gbs.GbxSemaphoreWithStats
	specialConverter = a GemStone.Gbs.GbxSpecialConverter64Vw64
	stats = a GbxSessionStatResource:
	bytesSentByStoreTraversal: 213624
	bytesTraversed: 7671328
	changedObjNotifications: 0
	classesMapped: 1970
	dirtyPoolSize: 0
	freeOopsFetched: 2000
	gciCallsToGem: 754
	gciCallsToGemTime: 9550798
	gciErrors: 0
	lostOtRoots: 0
	nbEndResultNoProgress: 292
	nbEndResultProgressed: 0
	nbEndResultReady: 418
	objectsStoredByTraversal: 1461
	objectsTraversed: 126237
	serverMapSize: 128835
	sessionProtectInvocations: 153518
	sessionSignals: 0
	sigAborts: 0
	storeTraversals: 101
	traversalUnpackingTime: 0
	traverseCallTime: 0
	traverseCalls: 418
	asyncAbortStartAction = nil
	asyncAbortFinishAction = nil
Arguments:
	anInteraction = a GemStone.Gbs.GbxSingleTripServerTraversal for session 1
replicationSpecSelector: replicationSpec
, traversal root: a GbxL8Delegate sess: 1 flags: 0 {16r1E80701}
Context PC = 7

----------------------------------------------------------------------
optimized [] in GbsSession>>startingInteraction:
Receiver:
	an UndefinedObject
Temporaries:
	.self = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	.anInteraction = a GemStone.Gbs.GbxSingleTripServerTraversal for session 1
replicationSpecSelector: replicationSpec
, traversal root: a GbxL8Delegate sess: 1 flags: 0 {16r1E80701}
Context PC = 13

----------------------------------------------------------------------
optimized [] in GbsSession>>sessionCritical:
Receiver:
	an UndefinedObject
Temporaries:
	.self = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	.aBlock = BlockClosure [] in GbsSession>>startingInteraction:
Context PC = 8

----------------------------------------------------------------------
GbxSessionRecursionLock(GbxRecursionLock)>>critical:
Receiver:
	a GbxSessionRecursionLock
Instance Variables:
	firstLink = a Process in GbxSessionRecursionLock(Semaphore)>>waitIfCurtailedSignal
	lastLink = a Process in GbxSessionRecursionLock(Semaphore)>>waitIfCurtailedSignal
	excessSignals = 0
	lockingProcess = a Process in nil
	eventDetectorThread = a Process in GemStone.Gbs.GbxCPrimInterface64v32>>gciPollSocket:forRead:
Arguments:
	mutuallyExcludedBlock = BlockClosure [] in GbsSession>>sessionCritical:
Temporaries:
	terminationProtectionBlock = nil
	activeProcess = a Process in nil
Context PC = 10

----------------------------------------------------------------------
GemStone.Gbs.GbxSemaphoreWithStats>>critical:
Receiver:
	a GemStone.Gbs.GbxSemaphoreWithStats
Instance Variables:
	semaphore = a GbxSessionRecursionLock[1]
	statAdaptor = a GemStone.Gbs.GbxStatAdaptor
Arguments:
	aBlock = BlockClosure [] in GbsSession>>sessionCritical:
Temporaries:
	result = nil
	start = a GemStone.Gbs.GbxStatAdaptor
Context PC = 8

----------------------------------------------------------------------
GemStone.Gbs.GbsSessionWithStats(GbsSession)>>sessionCritical:
Receiver:
	a GemStone.Gbs.GbsSessionWithStats
Instance Variables:
	activeInteractions = an IdentitySet[0]
	causeOfDeath = nil
	clientTimeZone = a CompositeTimeZone
	configuration = (GbsConfiguration default
	alwaysUseGemCursor: false;
	confirm: false;
	generateClassConnectors: false;
	libraryName: './libgcirpc-3.6.2-64.so';
	removeInvalidConnectors: true;
	verbose: false;
	yourself)
	copyReplicationClamp = nil
	dependents = nil
	dirtyPool = a GemStone.Gbs.GbxDirtyPool
	eventHandlers = an IdentityDictionary[6]
	eventDetectorErrorHandler = nil
	freeOops = a GemStone.Gbs.GbxFreeOopStream
	gbsm = a GemStone.Gbs.GbsSessionManagerWithStats
	gemTimeZone = a GbxL8Delegate sess: 1 flags: 0 {16r1A11A01}
	gsClassOrganizer = nil
	isRemote = true
	isUnwindingAsyncAbort = false
	nestingLevel = 0
	notCachedToken = 'Not cached'
	parameters = 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	procBalancer = nil
	replicatorManager = a GemStone.Gbs.GbxReplicatorManager
	serverInterface = a GemStone.Gbs.GbxServerInterfaceWithStats
	serverMap = a GemStone.Gbs.GbxServerMap
	sessionDisplayString = 'Session 1 (remote) for ''Trade...0055!gs64stone'' @ ''gemstone'''
	sessionId = 1
	sessionProtect = a GemStone.Gbs.GbxSemaphoreWithStats
	specialConverter = a GemStone.Gbs.GbxSpecialConverter64Vw64
	stats = a GbxSessionStatResource:
	bytesSentByStoreTraversal: 213624
	bytesTraversed: 7671328
	changedObjNotifications: 0
	classesMapped: 1970
	dirtyPoolSize: 0
	freeOopsFetched: 2000
	gciCallsToGem: 754
	gciCallsToGemTime: 9550798
	gciErrors: 0
	lostOtRoots: 0
	nbEndResultNoProgress: 292
	nbEndResultProgressed: 0
	nbEndResultReady: 418
	objectsStoredByTraversal: 1461
	objectsTraversed: 126237
	serverMapSize: 128835
	sessionProtectInvocations: 153519
	sessionSignals: 0
	sigAborts: 0
	storeTraversals: 101
	traversalUnpackingTime: 0
	traverseCallTime: 0
	traverseCalls: 418
	asyncAbortStartAction = nil
	asyncAbortFinishAction = nil
Arguments:
	aBlock = BlockClosure [] in GbsSession>>startingInteraction:
Context PC = 14

----------------------------------------------------------------------
GemStone.Gbs.GbsSessionWithStats(GbsSession)>>startingInteraction:
Receiver:
	a GemStone.Gbs.GbsSessionWithStats
Instance Variables:
	activeInteractions = an IdentitySet[0]
	causeOfDeath = nil
	clientTimeZone = a CompositeTimeZone
	configuration = (GbsConfiguration default
	alwaysUseGemCursor: false;
	confirm: false;
	generateClassConnectors: false;
	libraryName: './libgcirpc-3.6.2-64.so';
	removeInvalidConnectors: true;
	verbose: false;
	yourself)
	copyReplicationClamp = nil
	dependents = nil
	dirtyPool = a GemStone.Gbs.GbxDirtyPool
	eventHandlers = an IdentityDictionary[6]
	eventDetectorErrorHandler = nil
	freeOops = a GemStone.Gbs.GbxFreeOopStream
	gbsm = a GemStone.Gbs.GbsSessionManagerWithStats
	gemTimeZone = a GbxL8Delegate sess: 1 flags: 0 {16r1A11A01}
	gsClassOrganizer = nil
	isRemote = true
	isUnwindingAsyncAbort = false
	nestingLevel = 0
	notCachedToken = 'Not cached'
	parameters = 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	procBalancer = nil
	replicatorManager = a GemStone.Gbs.GbxReplicatorManager
	serverInterface = a GemStone.Gbs.GbxServerInterfaceWithStats
	serverMap = a GemStone.Gbs.GbxServerMap
	sessionDisplayString = 'Session 1 (remote) for ''Trade...0055!gs64stone'' @ ''gemstone'''
	sessionId = 1
	sessionProtect = a GemStone.Gbs.GbxSemaphoreWithStats
	specialConverter = a GemStone.Gbs.GbxSpecialConverter64Vw64
	stats = a GbxSessionStatResource:
	bytesSentByStoreTraversal: 213624
	bytesTraversed: 7671328
	changedObjNotifications: 0
	classesMapped: 1970
	dirtyPoolSize: 0
	freeOopsFetched: 2000
	gciCallsToGem: 754
	gciCallsToGemTime: 9550798
	gciErrors: 0
	lostOtRoots: 0
	nbEndResultNoProgress: 292
	nbEndResultProgressed: 0
	nbEndResultReady: 418
	objectsStoredByTraversal: 1461
	objectsTraversed: 126237
	serverMapSize: 128835
	sessionProtectInvocations: 153520
	sessionSignals: 0
	sigAborts: 0
	storeTraversals: 101
	traversalUnpackingTime: 0
	traverseCallTime: 0
	traverseCalls: 418
	asyncAbortStartAction = nil
	asyncAbortFinishAction = nil
Arguments:
	anInteraction = a GemStone.Gbs.GbxSingleTripServerTraversal for session 1
replicationSpecSelector: replicationSpec
, traversal root: a GbxL8Delegate sess: 1 flags: 0 {16r1E80701}
Context PC = 9

----------------------------------------------------------------------
optimized [] in [] in [] in GemStone.Gbs.GbxServerInteraction>>execute
Receiver:
	an UndefinedObject
Temporaries:
	.self = a GemStone.Gbs.GbxSingleTripServerTraversal for session 1
replicationSpecSelector: replicationSpec
, traversal root: a GbxL8Delegate sess: 1 flags: 0 {16r1E80701}
	resultOrError = nil
	completeResult = nil
Context PC = 7

----------------------------------------------------------------------
BlockClosure>>ensure:
Receiver:
	a BlockClosure
Instance Variables:
	method = CompiledBlock [] in [] in [] in GemStone.Gbs.GbxServerInteraction>>execute
	outerContext = nil
	copiedValues = an Array[3]
Arguments:
	aBlock = BlockClosure [] in [] in [] in GemStone.Gbs.GbxServerInteraction>>execute
Temporaries:
	result = nil
Context PC = 4

----------------------------------------------------------------------
optimized [] in [] in GemStone.Gbs.GbxServerInteraction>>execute
Receiver:
	an UndefinedObject
Temporaries:
	completeResult = nil
	.self = a GemStone.Gbs.GbxSingleTripServerTraversal for session 1
replicationSpecSelector: replicationSpec
, traversal root: a GbxL8Delegate sess: 1 flags: 0 {16r1E80701}
	resultOrError = nil
Context PC = 18

----------------------------------------------------------------------
BlockClosure>>on:do:
Receiver:
	a BlockClosure
Instance Variables:
	method = CompiledBlock [] in [] in GemStone.Gbs.GbxServerInteraction>>execute
	outerContext = nil
	copiedValues = an Array[2]
Arguments:
	anExceptionSelector = GemStone.Gbs.GbxReturnNotification
	handlerBlock = BlockClosure [] in [] in GemStone.Gbs.GbxServerInteraction>>execute
Context PC = 18

----------------------------------------------------------------------
optimized [] in GemStone.Gbs.GbxServerInteraction>>execute
Receiver:
	an UndefinedObject
Temporaries:
	.self = a GemStone.Gbs.GbxSingleTripServerTraversal for session 1
replicationSpecSelector: replicationSpec
, traversal root: a GbxL8Delegate sess: 1 flags: 0 {16r1E80701}
	resultOrError = nil
Context PC = 15

----------------------------------------------------------------------
BlockClosure>>ifCurtailed:
Receiver:
	a BlockClosure
Instance Variables:
	method = CompiledBlock [] in GemStone.Gbs.GbxServerInteraction>>execute
	outerContext = nil
	copiedValues = an Array[2]
Arguments:
	terminationBlock = BlockClosure [] in GemStone.Gbs.GbxServerInteraction>>execute
Context PC = 4

----------------------------------------------------------------------
GemStone.Gbs.GbxSingleTripServerTraversal(GemStone.Gbs.GbxServerInteraction)>>execute
Receiver:
	a GemStone.Gbs.GbxSingleTripServerTraversal
Instance Variables:
	argumentDelegates = nil
	arguments = an Array[0]
	fetchTraversal = nil
	interactionState = a GemStone.Gbs.GbxInteractionState
	replicationClampDelegate = a GbxL8Delegate sess: 1 flags: 32 {16r5D00A101}
	replication = nil
	replicationLevel = 4
	replicationScheme = Replication Scheme replicationSpec
	resultDelegateOrError = nil
	serverInterface = a GemStone.Gbs.GbxServerInterfaceWithStats
	session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	shouldReplicateResultBodyAsDelegates = false
	shouldReplicateResult = true
	shouldSynchronize = true
	statResource = nil
	stopForBreakpoints = true
	storeTraversal = nil
	rootDelegate = a GbxL8Delegate sess: 1 flags: 0 {16r1E80701}
Temporaries:
	resultOrError = nil
Context PC = 19

----------------------------------------------------------------------
GbxPointerStub(GbxObjectStub)>>faultToLevel:session:delegate:
Receiver:
	a GbxPointerStub
Arguments:
	levelOrNil = nil
	session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	delegate = a GbxL8Delegate sess: 1 flags: 0 {16r1E80701}
Temporaries:
	serverTraversal = a GemStone.Gbs.GbxSingleTripServerTraversal for session 1
replicationSpecSelector: replicationSpec
, traversal root: a GbxL8Delegate sess: 1 flags: 0 {16r1E80701}
	level = 4
Context PC = 22

----------------------------------------------------------------------
[] in GbxPointerStub(GbxObjectStub)>>faultToLevel:
Receiver:
	a GbxPointerStub
Temporaries:
	.self = a GbxPointerStub
	.levelOrNil = nil
	.session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	.delegate = a GbxL8Delegate sess: 1 flags: 0 {16r1E80701}
Context PC = 17

----------------------------------------------------------------------
optimized [] in GbsSession>>sessionCritical:
Receiver:
	an UndefinedObject
Temporaries:
	.self = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	.aBlock = BlockClosure [] in GbxObjectStub>>faultToLevel:
Context PC = 8

----------------------------------------------------------------------
optimized [] in GbxRecursionLock>>critical:
Receiver:
	an UndefinedObject
Temporaries:
	.activeProcess = a Process in nil
	.self = a GbxSessionRecursionLock[1]
	.mutuallyExcludedBlock = BlockClosure [] in GbsSession>>sessionCritical:
Context PC = 8

----------------------------------------------------------------------
BlockClosure>>ensure:
Receiver:
	a BlockClosure
Instance Variables:
	method = CompiledBlock [] in GbxRecursionLock>>critical:
	outerContext = nil
	copiedValues = an Array[3]
Arguments:
	aBlock = BlockClosure [] in GbxRecursionLock>>critical:
Temporaries:
	result = nil
Context PC = 4

----------------------------------------------------------------------
GbxSessionRecursionLock(GbxRecursionLock)>>critical:
Receiver:
	a GbxSessionRecursionLock
Instance Variables:
	firstLink = a Process in GbxSessionRecursionLock(Semaphore)>>waitIfCurtailedSignal
	lastLink = a Process in GbxSessionRecursionLock(Semaphore)>>waitIfCurtailedSignal
	excessSignals = 0
	lockingProcess = a Process in nil
	eventDetectorThread = a Process in GemStone.Gbs.GbxCPrimInterface64v32>>gciPollSocket:forRead:
Arguments:
	mutuallyExcludedBlock = BlockClosure [] in GbsSession>>sessionCritical:
Temporaries:
	terminationProtectionBlock = BlockClosure [] in GbxRecursionLock>>critical:
	activeProcess = a Process in nil
Context PC = 27

----------------------------------------------------------------------
GemStone.Gbs.GbxSemaphoreWithStats>>critical:
Receiver:
	a GemStone.Gbs.GbxSemaphoreWithStats
Instance Variables:
	semaphore = a GbxSessionRecursionLock[1]
	statAdaptor = a GemStone.Gbs.GbxStatAdaptor
Arguments:
	aBlock = BlockClosure [] in GbsSession>>sessionCritical:
Temporaries:
	result = nil
	start = a GemStone.Gbs.GbxStatAdaptor
Context PC = 8

----------------------------------------------------------------------
GemStone.Gbs.GbsSessionWithStats(GbsSession)>>sessionCritical:
Receiver:
	a GemStone.Gbs.GbsSessionWithStats
Instance Variables:
	activeInteractions = an IdentitySet[0]
	causeOfDeath = nil
	clientTimeZone = a CompositeTimeZone
	configuration = (GbsConfiguration default
	alwaysUseGemCursor: false;
	confirm: false;
	generateClassConnectors: false;
	libraryName: './libgcirpc-3.6.2-64.so';
	removeInvalidConnectors: true;
	verbose: false;
	yourself)
	copyReplicationClamp = nil
	dependents = nil
	dirtyPool = a GemStone.Gbs.GbxDirtyPool
	eventHandlers = an IdentityDictionary[6]
	eventDetectorErrorHandler = nil
	freeOops = a GemStone.Gbs.GbxFreeOopStream
	gbsm = a GemStone.Gbs.GbsSessionManagerWithStats
	gemTimeZone = a GbxL8Delegate sess: 1 flags: 0 {16r1A11A01}
	gsClassOrganizer = nil
	isRemote = true
	isUnwindingAsyncAbort = false
	nestingLevel = 0
	notCachedToken = 'Not cached'
	parameters = 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	procBalancer = nil
	replicatorManager = a GemStone.Gbs.GbxReplicatorManager
	serverInterface = a GemStone.Gbs.GbxServerInterfaceWithStats
	serverMap = a GemStone.Gbs.GbxServerMap
	sessionDisplayString = 'Session 1 (remote) for ''Trade...0055!gs64stone'' @ ''gemstone'''
	sessionId = 1
	sessionProtect = a GemStone.Gbs.GbxSemaphoreWithStats
	specialConverter = a GemStone.Gbs.GbxSpecialConverter64Vw64
	stats = a GbxSessionStatResource:
	bytesSentByStoreTraversal: 213624
	bytesTraversed: 7671328
	changedObjNotifications: 0
	classesMapped: 1970
	dirtyPoolSize: 0
	freeOopsFetched: 2000
	gciCallsToGem: 754
	gciCallsToGemTime: 9550798
	gciErrors: 0
	lostOtRoots: 0
	nbEndResultNoProgress: 292
	nbEndResultProgressed: 0
	nbEndResultReady: 418
	objectsStoredByTraversal: 1461
	objectsTraversed: 126237
	serverMapSize: 128835
	sessionProtectInvocations: 153521
	sessionSignals: 0
	sigAborts: 0
	storeTraversals: 101
	traversalUnpackingTime: 0
	traverseCallTime: 0
	traverseCalls: 418
	asyncAbortStartAction = nil
	asyncAbortFinishAction = nil
Arguments:
	aBlock = BlockClosure [] in GbxObjectStub>>faultToLevel:
Context PC = 14

----------------------------------------------------------------------
GbxPointerStub(GbxObjectStub)>>faultToLevel:
Receiver:
	a GbxPointerStub
Arguments:
	levelOrNil = nil
Temporaries:
	delegate = a GbxL8Delegate sess: 1 flags: 0 {16r1E80701}
	session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
Context PC = 35

----------------------------------------------------------------------
GbxPointerStub(GbxObjectStub)>>fault
Receiver:
	a GbxPointerStub
Context PC = 5

----------------------------------------------------------------------
GbxPointerStub(GbxObjectStub)>>=
Receiver:
	a GbxPointerStub
Arguments:
	anObject = 15 minutes
Context PC = 16



More information about the GemStone-Smalltalk mailing list