[GemStone-Smalltalk] Class connector conundrum

David Shaffer shaffer at shaffer-consulting.com
Sun Jun 2 21:20:09 PDT 2024


Hey folks…killed a whole day on this one and I’m stuck.  I’m running an application on VW9.4/GBS8.7.1/GS3.6.5 where I have some (a lot of) class connectors in my session parameters.  Among them: 

GbsClassConnector stName: #'Trader.LevelTriggersOrderSignal' gsName: 'Trader_LevelTriggersOrderSignal' dictionary: #TraderClasses

I am able to access objects in my repository replicated into GBS on my desktop image.  When I package it up and run it headless in my docker container I get:

Unhandled exception: No client class Trader_LevelTriggersOrderSignal, class generation is disabled.

when loading objects in my repository of the aforementioned type.  I’ve verified that the Smalltalk class Trader.LevelTriggersOrderSignal is in the deployed image.  I’ve also checked that there is only one class with that name in my repo (the class history has 1 element in it) and that the class of the object in the repository that is causing the problem has the same OOP as the class in TraderClasses.

Full stack trace is pasted below.  I’ve tried poking around quite a bit including adding some tracing to GbsSession>>connectClassConnectorsTypeNoneIn:addFailedConnectorsTo:addMessagesTo: to double-check that the connector is indeed being connected and everything looks OK.  I’ve tried all kinds of things but I’m pretty much stuck on this one.  Sorry for the lack of details…not expecting anyone to be able to sort this out from my vague description…just hoping for some debugging suggestions.  GBS is complicated.

BTW: In order to get my application to run under GBS8.7.1 I had to patch GbsRuntime parcel to include GbsSessionManager>>connectorList (which is in GbsTools but is sent from GbsSession>>mapCrucialClasses) since I don’t load GbsTools in my deployed image.  I think this is a GBS packaging bug but I could be wrong.

Best,

David


Unhandled exception: No client class Trader_LevelTriggersOrderSignal, class generation is disabled.

----------------------------------------------------------------------
GbxMessageDispatcher>>basicRaise:message:
Receiver:
	a GbxMessageDispatcher
Instance Variables:
	handler = a CstMessageHandlerVw
Arguments:
	errorSignal = GemStone.Gbs.GbsClassGenerationError
	errorString = 'No client class Trader_LevelT...lass generation is disabled.'
Context PC = 4

----------------------------------------------------------------------
GbxMessageDispatcher>>raise:message:withArguments:
Receiver:
	a GbxMessageDispatcher
Instance Variables:
	handler = a CstMessageHandlerVw
Arguments:
	errorSignal = GemStone.Gbs.GbsClassGenerationError
	aString = 'No client class %1, class generation is disabled.'
	args = an Array[1]
Temporaries:
	string = 'No client class Trader_LevelT...lass generation is disabled.'
Context PC = 12

----------------------------------------------------------------------
GbxMessageDispatcher>>raise:message:with:
Receiver:
	a GbxMessageDispatcher
Instance Variables:
	handler = a CstMessageHandlerVw
Arguments:
	errorSignal = GemStone.Gbs.GbsClassGenerationError
	aString = 'No client class %1, class generation is disabled.'
	arg1 = 'Trader_LevelTriggersOrderSignal'
Context PC = 10

----------------------------------------------------------------------
GemStone.Gbs.GbxUnmappedClassReplicator>>generateClientClass
Receiver:
	a GemStone.Gbs.GbxUnmappedClassReplicator
Instance Variables:
	manager = a GemStone.Gbs.GbxReplicatorManager
	session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	serverClass = a GbxL8Delegate sess: 1 flags: 0 {16r2E79E01}
	classDelegate = a GbxL8Delegate sess: 1 flags: 32 {16r2E79C01}
	classProxy = 'Not cached'
	clientClass = nil
	metaclassDelegate = a GbxL8Delegate sess: 1 flags: 0 {16r2E79E01}
	metaclassProxy = 'Not cached'
	report = 	GbxL8v3ObjectReport with:
		valueBuffSize = 8
		namedSize = 1
		idxSize = 0
		firstOffset = 1
		objId = GbxL8BufferOop{16r2E79C01}
		objClass = GbxL8BufferOop{16r2E79E01}
		segment = 0
		objSize = 1
		objImpl = 0
		isIndexable = false
		isInvariant = true
		isOverlayed = false
		isPartial = false
		lacksReadAuth = false
		isClamped = false
	oops = GbxL8OopArray(16r7FE2101 )
Temporaries:
	aClientClass = nil
	cname = 'Trader_LevelTriggersOrderSignal'
Context PC = 27

----------------------------------------------------------------------
GemStone.Gbs.GbxUnmappedClassReplicator>>findOrGenerateClientClass
Receiver:
	a GemStone.Gbs.GbxUnmappedClassReplicator
Instance Variables:
	manager = a GemStone.Gbs.GbxReplicatorManager
	session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	serverClass = a GbxL8Delegate sess: 1 flags: 0 {16r2E79E01}
	classDelegate = a GbxL8Delegate sess: 1 flags: 32 {16r2E79C01}
	classProxy = 'Not cached'
	clientClass = nil
	metaclassDelegate = a GbxL8Delegate sess: 1 flags: 0 {16r2E79E01}
	metaclassProxy = 'Not cached'
	report = 	GbxL8v3ObjectReport with:
		valueBuffSize = 8
		namedSize = 1
		idxSize = 0
		firstOffset = 1
		objId = GbxL8BufferOop{16r2E79C01}
		objClass = GbxL8BufferOop{16r2E79E01}
		segment = 0
		objSize = 1
		objImpl = 0
		isIndexable = false
		isInvariant = true
		isOverlayed = false
		isPartial = false
		lacksReadAuth = false
		isClamped = false
	oops = GbxL8OopArray(16r7FE2101 )
Context PC = 12

----------------------------------------------------------------------
GemStone.Gbs.GbxUnmappedClassReplicator>>replicateClassItself
Receiver:
	a GemStone.Gbs.GbxUnmappedClassReplicator
Instance Variables:
	manager = a GemStone.Gbs.GbxReplicatorManager
	session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	serverClass = a GbxL8Delegate sess: 1 flags: 0 {16r2E79E01}
	classDelegate = a GbxL8Delegate sess: 1 flags: 32 {16r2E79C01}
	classProxy = 'Not cached'
	clientClass = nil
	metaclassDelegate = a GbxL8Delegate sess: 1 flags: 0 {16r2E79E01}
	metaclassProxy = 'Not cached'
	report = 	GbxL8v3ObjectReport with:
		valueBuffSize = 8
		namedSize = 1
		idxSize = 0
		firstOffset = 1
		objId = GbxL8BufferOop{16r2E79C01}
		objClass = GbxL8BufferOop{16r2E79E01}
		segment = 0
		objSize = 1
		objImpl = 0
		isIndexable = false
		isInvariant = true
		isOverlayed = false
		isPartial = false
		lacksReadAuth = false
		isClamped = false
	oops = GbxL8OopArray(16r7FE2101 )
Context PC = 13

----------------------------------------------------------------------
GemStone.Gbs.GbxUnmappedClassReplicator>>forReplication:replicateFromDeferredReport:
Receiver:
	a GemStone.Gbs.GbxUnmappedClassReplicator
Instance Variables:
	manager = a GemStone.Gbs.GbxReplicatorManager
	session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	serverClass = a GbxL8Delegate sess: 1 flags: 0 {16r2E79E01}
	classDelegate = a GbxL8Delegate sess: 1 flags: 32 {16r2E79C01}
	classProxy = 'Not cached'
	clientClass = nil
	metaclassDelegate = a GbxL8Delegate sess: 1 flags: 0 {16r2E79E01}
	metaclassProxy = 'Not cached'
	report = 	GbxL8v3ObjectReport with:
		valueBuffSize = 8
		namedSize = 1
		idxSize = 0
		firstOffset = 1
		objId = GbxL8BufferOop{16r2E79C01}
		objClass = GbxL8BufferOop{16r2E79E01}
		segment = 0
		objSize = 1
		objImpl = 0
		isIndexable = false
		isInvariant = true
		isOverlayed = false
		isPartial = false
		lacksReadAuth = false
		isClamped = false
	oops = GbxL8OopArray(16r7FE2101 )
Arguments:
	replication = a GemStone.Gbs.GbxReplication
	aReport = 	GbxL8v3ObjectReport with:
		valueBuffSize = 8
		namedSize = 1
		idxSize = 0
		firstOffset = 1
		objId = GbxL8BufferOop{16r2E79C01}
		objClass = GbxL8BufferOop{16r2E79E01}
		segment = 0
		objSize = 1
		objImpl = 0
		isIndexable = false
		isInvariant = true
		isOverlayed = false
		isPartial = false
		lacksReadAuth = false
		isClamped = false
	oops = GbxL8OopArray(16r7FE2101 )
Context PC = 26

----------------------------------------------------------------------
GemStone.Gbs.GbxReplication>>replicateFromDeferredReport:
Receiver:
	a GemStone.Gbs.GbxReplication
Instance Variables:
	interaction = a GemStone.Gbs.GbxSingleTripServerTraversal for session 1
replicationSpecSelector: #replicationSpec
, traversal root: a GbxL8Delegate sess: 1 flags: 32 {16r288AF01}
	objectsWithDeferredAssignments = an OrderedCollection[40]
	reportsWithDeferredElements = an OrderedCollection[0]
	reportsWithNoMappedClass = an OrderedCollection[3]
	session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
Arguments:
	report = 	GbxL8v3ObjectReport with:
		valueBuffSize = 8
		namedSize = 1
		idxSize = 0
		firstOffset = 1
		objId = GbxL8BufferOop{16r2E79C01}
		objClass = GbxL8BufferOop{16r2E79E01}
		segment = 0
		objSize = 1
		objImpl = 0
		isIndexable = false
		isInvariant = true
		isOverlayed = false
		isPartial = false
		lacksReadAuth = false
		isClamped = false
	oops = GbxL8OopArray(16r7FE2101 )
Temporaries:
	replicator = a GemStone.Gbs.GbxUnmappedClassReplicator
Context PC = 10

----------------------------------------------------------------------
optimized [] in GemStone.Gbs.GbxReplication>>resolveUnmappedClasses
Receiver:
	an UndefinedObject
Arguments:
	aReport = 	GbxL8v3ObjectReport with:
		valueBuffSize = 8
		namedSize = 1
		idxSize = 0
		firstOffset = 1
		objId = GbxL8BufferOop{16r2E79C01}
		objClass = GbxL8BufferOop{16r2E79E01}
		segment = 0
		objSize = 1
		objImpl = 0
		isIndexable = false
		isInvariant = true
		isOverlayed = false
		isPartial = false
		lacksReadAuth = false
		isClamped = false
	oops = GbxL8OopArray(16r7FE2101 )
Temporaries:
	.self = a GemStone.Gbs.GbxReplication
Context PC = 18

----------------------------------------------------------------------
OrderedCollection>>do:
Receiver:
	an OrderedCollection
Instance Variables:
	firstIndex = 1
	lastIndex = 3
Arguments:
	aBlock = BlockClosure [] in GemStone.Gbs.GbxReplication>>resolveUnmappedClasses
Temporaries:
	index = 1
Context PC = 17

----------------------------------------------------------------------
GemStone.Gbs.GbxReplication>>resolveUnmappedClasses
Receiver:
	a GemStone.Gbs.GbxReplication
Instance Variables:
	interaction = a GemStone.Gbs.GbxSingleTripServerTraversal for session 1
replicationSpecSelector: #replicationSpec
, traversal root: a GbxL8Delegate sess: 1 flags: 32 {16r288AF01}
	objectsWithDeferredAssignments = an OrderedCollection[40]
	reportsWithDeferredElements = an OrderedCollection[0]
	reportsWithNoMappedClass = an OrderedCollection[3]
	session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
Context PC = 8

----------------------------------------------------------------------
optimized [] in GemStone.Gbs.GbxReplication>>resolve
Receiver:
	an UndefinedObject
Temporaries:
	.self = a GemStone.Gbs.GbxReplication
Context PC = 7

----------------------------------------------------------------------
optimized [] in GbxRecursionLock>>critical:
Receiver:
	an UndefinedObject
Temporaries:
	.activeProcess = a Process in nil
	.self = a GbxRecursionLock[0]
	.mutuallyExcludedBlock = BlockClosure [] in GemStone.Gbs.GbxReplication>>resolve
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

----------------------------------------------------------------------
GbxRecursionLock>>critical:
Receiver:
	a GbxRecursionLock
Instance Variables:
	firstLink = nil
	lastLink = nil
	excessSignals = 0
	lockingProcess = a Process in nil
Arguments:
	mutuallyExcludedBlock = BlockClosure [] in GemStone.Gbs.GbxReplication>>resolve
Temporaries:
	terminationProtectionBlock = BlockClosure [] in GbxRecursionLock>>critical:
	activeProcess = a Process in nil
Context PC = 27

----------------------------------------------------------------------
GemStone.Gbs.GbxClientObjDictionary64(GemStone.Gbs.GbxClientObjDictionary)>>writeCritical:
Receiver:
	a GemStone.Gbs.GbxClientObjDictionary64
Instance Variables:
	finalizationLatch = a GemStone.Gbs.GbxFinalizationLatch
	cachedClassStats = nil
	finalizer = a GemStone.Gbs.GbxClientObjDictionaryFinalizer
	writeProtect = a GbxRecursionLock[0]
	keys = a WeakArray[60077]
	values = an Array[60077]
	tally = 26816
	capacity = 30038
	tableSize = 60077
	rehashInProgress = false
	rehashCount = 0
	deletionCount = 7
Arguments:
	criticalBlock = BlockClosure [] in GemStone.Gbs.GbxReplication>>resolve
Context PC = 5

----------------------------------------------------------------------
GemStone.Gbs.GbxReplication>>resolve
Receiver:
	a GemStone.Gbs.GbxReplication
Instance Variables:
	interaction = a GemStone.Gbs.GbxSingleTripServerTraversal for session 1
replicationSpecSelector: #replicationSpec
, traversal root: a GbxL8Delegate sess: 1 flags: 32 {16r288AF01}
	objectsWithDeferredAssignments = an OrderedCollection[40]
	reportsWithDeferredElements = an OrderedCollection[0]
	reportsWithNoMappedClass = an OrderedCollection[3]
	session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
Context PC = 8

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

----------------------------------------------------------------------
optimized [] in GbsSession>>sessionCritical:
Receiver:
	an UndefinedObject
Temporaries:
	.self = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	.aBlock = BlockClosure [] in GemStone.Gbs.GbxServerInteraction>>completeResult:
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 GbxSessionRecursionLock(Semaphore)>>waitIfCurtailedSignal
Arguments:
	mutuallyExcludedBlock = BlockClosure [] in GbsSession>>sessionCritical:
Temporaries:
	terminationProtectionBlock = nil
	activeProcess = a Process in nil
Context PC = 10

----------------------------------------------------------------------
GbsSession>>sessionCritical:
Receiver:
	a GbsSession
Instance Variables:
	activeInteractions = an IdentitySet[1]
	causeOfDeath = nil
	clientTimeZone = a CompositeTimeZone  -04:00
	configuration = (GbsConfiguration default
	alwaysUseGemCursor: false;
	confirm: false;
	generateClassConnectors: false;
	libraryName: './libgcirpc-3.6.5-64.so <http://libgcirpc-3.6.5-64.so/>';
	yourself)
	dependents = nil
	dirtyPool = a GemStone.Gbs.GbxDirtyPool
	eventHandlers = an IdentityDictionary[6]
	eventDetectorErrorHandler = nil
	freeOops = a GemStone.Gbs.GbxFreeOopStream
	gbsm = a GbsSessionManager
	gemTimeZone = a GbxL8Delegate sess: 1 flags: 0 {16r14}
	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.GbxGciSingleTripInterface
	serverMap = a GemStone.Gbs.GbxServerMap
	sessionDisplayString = 'Session 1 (remote) for ''Trade...0055!gs64stone'' @ ''gemstone'''
	sessionId = 1
	sessionProtect = a GbxSessionRecursionLock[1]
	specialConverter = a GemStone.Gbs.GbxSpecialConverter64Vw64
	stats = a GbxSessionStatResource:
	bytesSentByStoreTraversal: 0
	bytesTraversed: 0
	changedObjNotifications: 0
	classesMapped: 1694
	dirtyPoolSize: 0
	freeOopsFetched: 0
	gciCallsToGem: 0
	gciCallsToGemTime: 0
	gciErrors: 0
	lostOtRoots: 0
	nbEndResultNoProgress: 0
	nbEndResultProgressed: 0
	nbEndResultReady: 0
	objectsStoredByTraversal: 0
	objectsTraversed: 0
	serverMapSize: 28002
	sessionProtectInvocations: 0
	sessionSignals: 0
	sigAborts: 0
	storeTraversals: 0
	traversalUnpackingTime: 0
	traverseCallTime: 0
	traverseCalls: 0
	asyncAbortStartAction = nil
	asyncAbortFinishAction = nil
Arguments:
	aBlock = BlockClosure [] in GemStone.Gbs.GbxServerInteraction>>completeResult:
Context PC = 14

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

----------------------------------------------------------------------
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: 32 {16r288AF01}
	resultOrError = a GbxL8Delegate sess: 1 flags: 32 {16r288AF01}
	completeResult = nil
Context PC = 17

----------------------------------------------------------------------
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: 32 {16r288AF01}
	resultOrError = a GbxL8Delegate sess: 1 flags: 32 {16r288AF01}
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: 32 {16r288AF01}
	resultOrError = a GbxL8Delegate sess: 1 flags: 32 {16r288AF01}
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 = an Array[0]
	arguments = an Array[0]
	fetchTraversal = a GemStone.Gbs.GbxFetchTraversal
	interactionState = a GemStone.Gbs.GbxInteractionState
	replicationClampDelegate = a GbxL8Delegate sess: 1 flags: 32 {16r7F81601}
	replication = a GemStone.Gbs.GbxReplication
	replicationLevel = 4
	replicationScheme = Replication Scheme replicationSpec
	resultDelegateOrError = a GbxL8Delegate sess: 1 flags: 32 {16r288AF01}
	serverInterface = a GemStone.Gbs.GbxGciSingleTripInterface
	session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	shouldReplicateResultBodyAsDelegates = false
	shouldReplicateResult = true
	shouldSynchronize = true
	statResource = nil
	stopForBreakpoints = true
	storeTraversal = a GemStone.Gbs.GbxStoreTraversal
	rootDelegate = a GbxL8Delegate sess: 1 flags: 32 {16r288AF01}
Temporaries:
	resultOrError = a GbxL8Delegate sess: 1 flags: 32 {16r288AF01}
Context PC = 19

----------------------------------------------------------------------
OrderedCollection(GbxObjectStub)>>unboundMethodwith:with:with:
Receiver:
	an OrderedCollection
Instance Variables:
	firstIndex = 1
	lastIndex = 40
Arguments:
	levelOrNil = nil
	session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	delegate = a GbxL8Delegate sess: 1 flags: 32 {16r288AF01}
Temporaries:
	serverTraversal = a GemStone.Gbs.GbxSingleTripServerTraversal for session 1
replicationSpecSelector: #replicationSpec
, traversal root: a GbxL8Delegate sess: 1 flags: 32 {16r288AF01}
	level = 4
Context PC = 22

----------------------------------------------------------------------
[] in OrderedCollection(GbxObjectStub)>>unboundMethodwith:
Receiver:
	an OrderedCollection
Instance Variables:
	firstIndex = 1
	lastIndex = 40
Temporaries:
	.self = an OrderedCollection[40]
	.levelOrNil = nil
	.session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
	.delegate = a GbxL8Delegate sess: 1 flags: 32 {16r288AF01}
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 GbxSessionRecursionLock(Semaphore)>>waitIfCurtailedSignal
Arguments:
	mutuallyExcludedBlock = BlockClosure [] in GbsSession>>sessionCritical:
Temporaries:
	terminationProtectionBlock = BlockClosure [] in GbxRecursionLock>>critical:
	activeProcess = a Process in nil
Context PC = 27

----------------------------------------------------------------------
GbsSession>>sessionCritical:
Receiver:
	a GbsSession
Instance Variables:
	activeInteractions = an IdentitySet[1]
	causeOfDeath = nil
	clientTimeZone = a CompositeTimeZone  -04:00
	configuration = (GbsConfiguration default
	alwaysUseGemCursor: false;
	confirm: false;
	generateClassConnectors: false;
	libraryName: './libgcirpc-3.6.5-64.so <http://libgcirpc-3.6.5-64.so/>';
	yourself)
	dependents = nil
	dirtyPool = a GemStone.Gbs.GbxDirtyPool
	eventHandlers = an IdentityDictionary[6]
	eventDetectorErrorHandler = nil
	freeOops = a GemStone.Gbs.GbxFreeOopStream
	gbsm = a GbsSessionManager
	gemTimeZone = a GbxL8Delegate sess: 1 flags: 0 {16r14}
	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.GbxGciSingleTripInterface
	serverMap = a GemStone.Gbs.GbxServerMap
	sessionDisplayString = 'Session 1 (remote) for ''Trade...0055!gs64stone'' @ ''gemstone'''
	sessionId = 1
	sessionProtect = a GbxSessionRecursionLock[1]
	specialConverter = a GemStone.Gbs.GbxSpecialConverter64Vw64
	stats = a GbxSessionStatResource:
	bytesSentByStoreTraversal: 0
	bytesTraversed: 0
	changedObjNotifications: 0
	classesMapped: 1694
	dirtyPoolSize: 0
	freeOopsFetched: 0
	gciCallsToGem: 0
	gciCallsToGemTime: 0
	gciErrors: 0
	lostOtRoots: 0
	nbEndResultNoProgress: 0
	nbEndResultProgressed: 0
	nbEndResultReady: 0
	objectsStoredByTraversal: 0
	objectsTraversed: 0
	serverMapSize: 28002
	sessionProtectInvocations: 0
	sessionSignals: 0
	sigAborts: 0
	storeTraversals: 0
	traversalUnpackingTime: 0
	traverseCallTime: 0
	traverseCalls: 0
	asyncAbortStartAction = nil
	asyncAbortFinishAction = nil
Arguments:
	aBlock = BlockClosure [] in GbxObjectStub>>faultToLevel:
Context PC = 14

----------------------------------------------------------------------
OrderedCollection(GbxObjectStub)>>unboundMethodwith:
Receiver:
	an OrderedCollection
Instance Variables:
	firstIndex = 1
	lastIndex = 40
Arguments:
	levelOrNil = nil
Temporaries:
	delegate = a GbxL8Delegate sess: 1 flags: 32 {16r288AF01}
	session = Session 1 (remote) for 'Trader' on '!@gemstone#netldi:40055!gs64stone' @ 'gemstone'
Context PC = 35

----------------------------------------------------------------------
OrderedCollection(GbxObjectStub)>>unboundMethod
Receiver:
	an OrderedCollection
Instance Variables:
	firstIndex = 1
	lastIndex = 40
Context PC = 5

----------------------------------------------------------------------
OrderedCollection(GbxObjectStub)>>unboundMethodwith:with:
Receiver:
	an OrderedCollection
Instance Variables:
	firstIndex = 1
	lastIndex = 40
Arguments:
	selector = #do:
	anArray = an Array[1]
Temporaries:
	delegate = nil
Context PC = 21

----------------------------------------------------------------------
OrderedCollection(GbxAbstractProxy)>>unboundMethodwith:
Receiver:
	an OrderedCollection
Instance Variables:
	firstIndex = 1
	lastIndex = 40
Arguments:
	aMessage = a Message with selector: #do: and arguments: #(BlockClosure [] in Trader.WrappingSignalConfiguration>>instrumentDurations)
Context PC = 9

----------------------------------------------------------------------
Trader.AllSignalsEnsembleConfiguration(Trader.WrappingSignalConfiguration)>>instrumentDurations
Receiver:
	an Trader.AllSignalsEnsembleConfiguration
Instance Variables:
	signalId = '1ab265a8-fada-49bb-b734-03c855966bce'
	instrumentDurations = nil
	signalClass = a GbxPointerStub
	stopPolicies = a GbxPointerStub
	recordChartData = nil
	positionSizePolicy = a GbxPointerStub
	primingDaysRequired = nil
	pendingPositionSizePolicy = nil
	coreSignalConfigurations = an OrderedCollection[40]
	enabledSignalIds = a GbxPointerStub
Temporaries:
	r = a Set[0]
Context PC = 13
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/archives/gemstone-smalltalk/attachments/20240603/cdd763ca/attachment-0001.htm>


More information about the GemStone-Smalltalk mailing list