Open dalehenrich opened 7 years ago
The original auditResult string is 1092571 characters in size ..
Looks like gt4gemstone might be in an infinite loop for some kind or error. Here's as much of the pharo stack that gets copied when I interrupt the client:
GsGciOopType>>asInteger
[ :lib |
| result address |
lib apiGciSetSessionId: gciSessionNumber.
address := lib addressOfArrayOfOopsForGsOopTypes: arrayOfGsOopTypes.
result := lib
apiGciPerformNoDebug_: receiverOopType
a: selector asString
a: address asInteger
a: arrayOfGsOopTypes size
a: flags
a: environmentId.
^ result asInteger = 20
ifTrue: [ nil gciResultToGsOopType: self ]
ifFalse: [ result gciResultToGsOopType: self ] ] in GsGciSession>>gciPerform:selector:args:flags:environmentId: in Block: [ :lib | ...
[ aBlock value: self ] in GsGci331xLibrary(GsGci32xLibrary)>>critical: in Block: [ aBlock value: self ]
BlockClosure>>ensure:
[ owner := activeProcess.
aBlock
ensure: [ owner := nil ] ] in Mutex>>critical: in Block: [ owner := activeProcess....
[ caught := true.
self wait.
blockValue := mutuallyExcludedBlock value ] in Semaphore>>critical: in Block: [ caught := true....
BlockClosure>>ensure:
Semaphore>>critical:
Mutex>>critical:
GsGci331xLibrary(GsGci32xLibrary)>>critical:
GsGciSession>>gciPerform:selector:args:flags:environmentId:
GsGciSession>>send:to:withArgs:
GtGsBareClient(TDMinimalClient)>>send:to:withArgs:
GtGsDebuggerSessionProxy>>initializeForGemstoneClient:andNotification:
GtGsDebuggerSessionProxy class>>forClient:andNotification:in:
GtGsBareClient(GtGsMinimalClient)>>debuggerRequested:
TDRuntimeError>>defaultAction
UndefinedObject>>handleSignal:
TDRuntimeError(Exception)>>signal
TDErrorNotification(TDNotification)>>defaultRuntimeError
TDErrorNotification(TDNotification)>>defaultAction
UndefinedObject>>handleSignal:
TDErrorNotification(Exception)>>signal
GsGci32xErrSType>>asLocalObjectFor:
GsGci32xErrSType>>asLocalObjectFor:ifNotConverted:
GsGciSession>>send:to:withArgs:
GtGsBareClient(TDMinimalClient)>>send:to:withArgs:
GtGsDebuggerSessionProxy>>initializeForGemstoneClient:andNotification:
GtGsDebuggerSessionProxy class>>forClient:andNotification:in:
GtGsBareClient(GtGsMinimalClient)>>debuggerRequested:
It is entirely possible that the original server-side auditResult string is a Unicode32 string. We are auditing unicode indexes with randomly generated strings ... got to go to plan B right now, because I need to see the audit result string...
This is the output that I get from topaz (truncated at some point), but it doesn't look like unicode is involved:
object [80301057] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82331649] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [81812225] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82790657] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79377921] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79573505] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80158209] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82263553] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [81823489] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [83309057] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80886273] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79372801] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80456193] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80915713] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79512321] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79068161] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82519809] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80452097] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82239233] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82453505] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82155265] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82110465] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79662593] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79774209] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79623937] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79971329] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79278337] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80454145] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [84365569] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [77445121] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [81962241] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82648321] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82879489] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [81358081] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80965889] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [77981185] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80576257] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82319617] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [83205633] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [81624577] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [83486465] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [83665921] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [78141441] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [81070081] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79341313] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82661377] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79607809] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82741505] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79713537] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79598849] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [83109889] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [78954753] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [77929985] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [78158337] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [83338753] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [83274241] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80307457] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82703105] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [81395969] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [83208449] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80755201] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [81099265] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [77930241] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80661505] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [81414913] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [83849985] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [81919233] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [83286017] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [83440385] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [83543041] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [83102721] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79018241] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [84022017] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [78177281] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80769025] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [81004801] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [78011137] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [81076481] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80931329] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80487937] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80847873] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [81431553] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [77425153] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79784961] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79020801] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [78902273] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80587777] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82107137] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82404609] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82518785] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80480513] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [81432577] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80378881] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [80008193] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [83608321] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [82923777] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [79157249] of class SmallFloat, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [84477185] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [84406017] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [83485953] of class Float, equality index <c2.c3.theNumber> [78526465], path term <theNumber> [158226177], depList [79276801]
-- DependencyList has incorrect ref count 2 for occurrences 1
object [78984449] of class Float, equality index <c2.c3.theN
Just tried the following and the Inspector&Debugger look fast so the error seems to be related to the actual String:
| string |
string := String new: 1092571.
1 to: 1092571 do: [ :index |
string at: index put: $a ].
self halt.
string.
When I need to debug recursion errors I usually put a self halt
at the beginning of GtGsMinimalClient>>#debuggerRequested:
. The fist time I hit proceed and the second time the error will be related to the debugger. Now manually executing GtGsGenericStackDebugger openBasicStackViewerFor: gsNotification from: self
(like if GtGsGenericStackDebugger useBasicStackViewer
answers true) should just open with a transcript showing the stack frames. If you could paste that output it will help to understand what is the error in the debugger.
second halt yields: a MessageNotUnderstood occurred (error 2010), a QuadByteString does not understand #'truncateWithElipsisTo:'
... this looks like a method that is available in GsDevKit/GLASS/tODE, but not the base ...
Ahh, yes that's the bug. The inspector extension for String objects (CharacterCollection>>gtGsInspectorAATextIn:
) uses it. I guess I'll add a CharacterCollection>>#gtGsTruncateWithElipsisTo:
I actually cannot tell how big the string is .. yet, but I assume that it is large, because I ran out of memory in the gem when I first tried selecting auditResult ... I've tried trimming the size to 2000 characters and it still hangs ...
I also bumped the temp obj cache to a large size (2G) ... hmmmm now I see that pharo is running hot ...