[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