Closed LinqLover closed 2 years ago
Here is an occurence of that #isThisEverCalled
:
9 January 2022 7:48:55.699111 pm
VM: Win32 - Smalltalk
Image: Squeak6.0alpha [latest update: #20921]
SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir C:\Users\Christoph\Documents\squeak\TraceDebugger
Trusted Dir C:\Users\Christoph\Documents\squeak\TraceDebugger\Christoph
Untrusted Dir C:\Users\Christoph\OneDrive\Dokumente\My Squeak
SquotNameDecorator class(Object)>>halt:
Receiver: SquotNameDecorator
Arguments and temporary variables:
aString: 'This is indeed called: ''If this is ever called, you found a bug! Please send a bug report and then press Proceed.'...etc...
Receiver's instance variables:
superclass: SquotDecorator
methodDict: a MethodDictionary(#=->(SquotNameDecorator>>#= "a CompiledMethod(16...etc...
format: 65538
instanceVariables: #('name')
organization: ('comparing' = hash)
('initialize-release' decorated:withName:)
(...etc...
subclasses: nil
name: #SquotNameDecorator
classPool: nil
sharedPools: nil
environment: Smalltalk
category: #'Squot-Capturing'
SquotNameDecorator class(Object)>>isThisEverCalled:
Receiver: SquotNameDecorator
Arguments and temporary variables:
msg: 'If this is ever called, you found a bug! Please send a bug report and then press Proceed....etc...
Receiver's instance variables:
superclass: SquotDecorator
methodDict: a MethodDictionary(#=->(SquotNameDecorator>>#= "a CompiledMethod(16...etc...
format: 65538
instanceVariables: #('name')
organization: ('comparing' = hash)
('initialize-release' decorated:withName:)
(...etc...
subclasses: nil
name: #SquotNameDecorator
classPool: nil
sharedPools: nil
environment: Smalltalk
category: #'Squot-Capturing'
SquotNameDecorator class>>squotMirror
Receiver: SquotNameDecorator
Arguments and temporary variables:
Receiver's instance variables:
superclass: SquotDecorator
methodDict: a MethodDictionary(#=->(SquotNameDecorator>>#= "a CompiledMethod(16...etc...
format: 65538
instanceVariables: #('name')
organization: ('comparing' = hash)
('initialize-release' decorated:withName:)
(...etc...
subclasses: nil
name: #SquotNameDecorator
classPool: nil
sharedPools: nil
environment: Smalltalk
category: #'Squot-Capturing'
SquotObjectReplacement>>referenceDiffsWithDefaultOwners:reflectedIn:do:
Receiver: a SquotObjectReplacement
Arguments and temporary variables:
leftAndRightShadows: {a SquotPackageShadow of TraceDebuggerBenchmarks . a SquotPackageShadow...etc...
aMirror: a SquotPackageShadowMirror
aBlock: [closure] in SquotPatcher>>apply:from:to:reflectedIn:inGraph:original:reflectedIn:patched:reflectedIn:diffsOfReferenceValuesDo:...etc...
leftMirror: nil
sameMirror: nil
Receiver's instance variables:
left: a SquotPackageShadow of TraceDebuggerBenchmarks ''
right: a SquotPackageShadow of TraceDebuggerBenchmarks ''
SquotPatcher>>apply:from:to:reflectedIn:inGraph:original:reflectedIn:patched:reflectedIn:diffsOfReferenceValuesDo:
Receiver: a SquotPatcher
Arguments and temporary variables:
diff: a SquotObjectReplacement
aGraphDiff: a SquotObjectGraphDiff (1 changed objects)
targetObject: a PackageInfo(TraceDebuggerBenchmarks)
mirror: a SquotPackageMirror
anObjectGraph: a SquotMutableObjectGraph
oldShadow: a SquotPackageShadow of TraceDebuggerBenchmarks
oldShadowMirror: a SquotPackageShadowMirror
newShadow: a SquotPackageShadow of TraceDebuggerBenchmarks
shadowMirror: a SquotPackageShadowMirror
walkBlock: [closure] in SquotPatcher>>apply:toLoadedGraph:
remaining: an OrderedCollection()
object: a PackageInfo(TraceDebuggerBenchmarks)
Receiver's instance variables:
objectRegistry: a SquotMutableObjectGraph
sourceGraph: a SquotShadowGraph
pendingOutgoingReferences: an IdentityDictionary(a SquotMutableObjectGraph->an OrderedCollection...etc...
pendingIncomingReferences: an IdentityDictionary(a SquotPackageShadow of TraceD...etc...
pendingIncomingReferencesForHash: an IdentityDictionary()
treatedObjects: an IdentityDictionary(a SquotPackageShadow of TraceDebuggerBenc...etc...
SquotPatcher>>apply:toLoadedGraph:
Receiver: a SquotPatcher
Arguments and temporary variables:
aGraphDiff: a SquotObjectGraphDiff (1 changed objects)
anObjectGraph: a SquotMutableObjectGraph
walk: a SquotGraphWalk(0 visited in 2 steps, 0 remaining, 0 path checks)
next: {a SquotObjectReplacement . a PackageInfo(TraceDebuggerBenchmarks) . a SquotPackageMirror...etc...
diff: a SquotObjectReplacement
object: a PackageInfo(TraceDebuggerBenchmarks)
mirror: a SquotPackageMirror
newShadow: a SquotPackageShadow of TraceDebuggerBenchmarks
shadowMirror: a SquotPackageShadowMirror
oldShadow: a SquotPackageShadow of TraceDebuggerBenchmarks
oldShadowMirror: a SquotPackageShadowMirror
Receiver's instance variables:
objectRegistry: a SquotMutableObjectGraph
sourceGraph: a SquotShadowGraph
pendingOutgoingReferences: an IdentityDictionary(a SquotMutableObjectGraph->an OrderedCollection...etc...
pendingIncomingReferences: an IdentityDictionary(a SquotPackageShadow of TraceD...etc...
pendingIncomingReferencesForHash: an IdentityDictionary()
treatedObjects: an IdentityDictionary(a SquotPackageShadow of TraceDebuggerBenc...etc...
SquotObjectGraphDiff>>squotApplyToLoaded:
Receiver: a SquotObjectGraphDiff (1 changed objects)
Arguments and temporary variables:
anObjectGraph: a SquotMutableObjectGraph
Receiver's instance variables:
left: a SquotShadowGraph
right: a SquotShadowGraph
diffs: a Dictionary(#()->a SquotObjectReplacement )
startObjectName: #()
shadows: a Dictionary()
SquotArtifactModification>>applyToLoaded:
Receiver: a SquotArtifactModification 'packages/TraceDebuggerBenchmarks.package'
Arguments and temporary variables:
anObject: a SquotMutableObjectGraph
Receiver's instance variables:
left: 'packages/TraceDebuggerBenchmarks.package' in a SquotImageStore
right: a SquotArtifact('packages/TraceDebuggerBenchmarks.package')
isLoadedInWorkingCopy: false
diffContent: a SquotObjectGraphDiff (1 changed objects)
metadataDiff: a SquotTrackedObjectMetadataDiff (0 changes)
topNodes: nil
willBeLoaded: true
[] in [] in SquotImageStore>>applyDiff:toObjectAt:
Receiver: a SquotImageStore
Arguments and temporary variables:
anArtifactDiff: a SquotArtifactModification 'packages/TraceDebuggerBenchmarks.package...etc...
path: 'packages/TraceDebuggerBenchmarks.package'
object: a PackageInfo(TraceDebuggerBenchmarks)
graph: a SquotMutableObjectGraph
metadata: a SquotTrackedObjectMetadata(#environment->Smalltalk #objectClassName...etc...
Receiver's instance variables:
objects: a Dictionary('packages/BaselineOfTraceDebugger.package'->a PackageInfo...etc...
paths: an IdentityDictionary(a PackageInfo(BaselineOfTraceDebugger)->a Set('packages/BaselineOfTraceDebugger.package...etc...
environment: Smalltalk
additionalInfo: a Dictionary('packages/BaselineOfTraceDebugger.package'->a SquotTrackedObjectMetadata...etc...
objectRegistry: a SquotObjectRegistry
objectGraphs: a WeakIdentityKeyDictionary(a PackageInfo(BaselineOfTraceDebugger...etc...
loadOrder: an OrderedCollection('packages/BaselineOfTraceDebugger.package' 'packages/TraceDebugger.package...etc...
[] in SquotCurrentMetadata class(DynamicVariable class)>>value:during:
Receiver: SquotCurrentMetadata
Arguments and temporary variables:
anObject: a SquotTrackedObjectMetadata(#environment->Smalltalk #objectClassName...etc...
aBlock: [closure] in [] in SquotImageStore>>applyDiff:toObjectAt:
p: a Process(41306) in MorphicDebugger class>>openOn:context:label:contents:fullView:...etc...
oldValue: nil
outerScopeWasDynamic: false
Receiver's instance variables:
superclass: DynamicVariable
methodDict: a MethodDictionary()
format: 0
instanceVariables: nil
organization: ('as yet unclassified')
subclasses: nil
name: #SquotCurrentMetadata
classPool: nil
sharedPools: nil
environment: Smalltalk
category: #'Squot-Capturing'
hash: 264942244
FullBlockClosure(BlockClosure)>>ensure:
Receiver: [closure] in SquotCurrentMetadata class(DynamicVariable class)>>value:during:
Arguments and temporary variables:
aBlock: [closure] in SquotCurrentMetadata class(DynamicVariable class)>>value:during:...etc...
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: SquotCurrentMetadata class(DynamicVariable class)>>value:during:
startpcOrMethod: ([] in DynamicVariable class>>#value:during: "a CompiledBlock(...etc...
numArgs: 0
receiver: SquotCurrentMetadata
SquotCurrentMetadata class(DynamicVariable class)>>value:during:
Receiver: SquotCurrentMetadata
Arguments and temporary variables:
anObject: a SquotTrackedObjectMetadata(#environment->Smalltalk #objectClassName...etc...
aBlock: [closure] in [] in SquotImageStore>>applyDiff:toObjectAt:
p: a Process(41306) in MorphicDebugger class>>openOn:context:label:contents:fullView:...etc...
oldValue: nil
outerScopeWasDynamic: false
Receiver's instance variables:
superclass: DynamicVariable
methodDict: a MethodDictionary()
format: 0
instanceVariables: nil
organization: ('as yet unclassified')
subclasses: nil
name: #SquotCurrentMetadata
classPool: nil
sharedPools: nil
environment: Smalltalk
category: #'Squot-Capturing'
hash: 264942244
[] in SquotImageStore>>applyDiff:toObjectAt:
Receiver: a SquotImageStore
Arguments and temporary variables:
anArtifactDiff: a SquotArtifactModification 'packages/TraceDebuggerBenchmarks.package...etc...
path: 'packages/TraceDebuggerBenchmarks.package'
object: a PackageInfo(TraceDebuggerBenchmarks)
graph: a SquotMutableObjectGraph
metadata: a SquotTrackedObjectMetadata(#environment->Smalltalk #objectClassName...etc...
Receiver's instance variables:
objects: a Dictionary('packages/BaselineOfTraceDebugger.package'->a PackageInfo...etc...
paths: an IdentityDictionary(a PackageInfo(BaselineOfTraceDebugger)->a Set('packages/BaselineOfTraceDebugger.package...etc...
environment: Smalltalk
additionalInfo: a Dictionary('packages/BaselineOfTraceDebugger.package'->a SquotTrackedObjectMetadata...etc...
objectRegistry: a SquotObjectRegistry
objectGraphs: a WeakIdentityKeyDictionary(a PackageInfo(BaselineOfTraceDebugger...etc...
loadOrder: an OrderedCollection('packages/BaselineOfTraceDebugger.package' 'packages/TraceDebugger.package...etc...
[] in SquotActiveObjectRegistry class(DynamicVariable class)>>value:during:
Receiver: SquotActiveObjectRegistry
Arguments and temporary variables:
anObject: a SquotObjectRegistry
aBlock: [closure] in SquotImageStore>>applyDiff:toObjectAt:
p: a Process(41306) in MorphicDebugger class>>openOn:context:label:contents:fullView:...etc...
oldValue: nil
outerScopeWasDynamic: false
Receiver's instance variables:
superclass: DynamicVariable
methodDict: a MethodDictionary()
format: 0
instanceVariables: nil
organization: ('as yet unclassified')
subclasses: nil
name: #SquotActiveObjectRegistry
classPool: nil
sharedPools: nil
environment: Smalltalk
category: #'Squot-Capturing'
hash: 11901448
FullBlockClosure(BlockClosure)>>ensure:
Receiver: [closure] in SquotActiveObjectRegistry class(DynamicVariable class)>>value:during:
Arguments and temporary variables:
aBlock: [closure] in SquotActiveObjectRegistry class(DynamicVariable class)>>value:during:...etc...
complete: nil
returnValue: nil
Receiver's instance variables:
outerContext: SquotActiveObjectRegistry class(DynamicVariable class)>>value:during:...etc...
startpcOrMethod: ([] in DynamicVariable class>>#value:during: "a CompiledBlock(...etc...
numArgs: 0
receiver: SquotActiveObjectRegistry
SquotActiveObjectRegistry class(DynamicVariable class)>>value:during:
Receiver: SquotActiveObjectRegistry
Arguments and temporary variables:
anObject: a SquotObjectRegistry
aBlock: [closure] in SquotImageStore>>applyDiff:toObjectAt:
p: a Process(41306) in MorphicDebugger class>>openOn:context:label:contents:fullView:...etc...
oldValue: nil
outerScopeWasDynamic: false
Receiver's instance variables:
superclass: DynamicVariable
methodDict: a MethodDictionary()
format: 0
instanceVariables: nil
organization: ('as yet unclassified')
subclasses: nil
name: #SquotActiveObjectRegistry
classPool: nil
sharedPools: nil
environment: Smalltalk
category: #'Squot-Capturing'
hash: 11901448
SquotImageStore>>activateObjectRegistryDuring:
Receiver: a SquotImageStore
Arguments and temporary variables:
aBlock: [closure] in SquotImageStore>>applyDiff:toObjectAt:
Receiver's instance variables:
objects: a Dictionary('packages/BaselineOfTraceDebugger.package'->a PackageInfo...etc...
paths: an IdentityDictionary(a PackageInfo(BaselineOfTraceDebugger)->a Set('packages/BaselineOfTraceDebugger.package...etc...
environment: Smalltalk
additionalInfo: a Dictionary('packages/BaselineOfTraceDebugger.package'->a SquotTrackedObjectMetadata...etc...
objectRegistry: a SquotObjectRegistry
objectGraphs: a WeakIdentityKeyDictionary(a PackageInfo(BaselineOfTraceDebugger...etc...
loadOrder: an OrderedCollection('packages/BaselineOfTraceDebugger.package' 'packages/TraceDebugger.package...etc...
SquotImageStore>>applyDiff:toObjectAt:
Receiver: a SquotImageStore
Arguments and temporary variables:
anArtifactDiff: a SquotArtifactModification 'packages/TraceDebuggerBenchmarks.package...etc...
path: 'packages/TraceDebuggerBenchmarks.package'
object: a PackageInfo(TraceDebuggerBenchmarks)
graph: a SquotMutableObjectGraph
metadata: a SquotTrackedObjectMetadata(#environment->Smalltalk #objectClassName...etc...
Receiver's instance variables:
objects: a Dictionary('packages/BaselineOfTraceDebugger.package'->a PackageInfo...etc...
paths: an IdentityDictionary(a PackageInfo(BaselineOfTraceDebugger)->a Set('packages/BaselineOfTraceDebugger.package...etc...
environment: Smalltalk
additionalInfo: a Dictionary('packages/BaselineOfTraceDebugger.package'->a SquotTrackedObjectMetadata...etc...
objectRegistry: a SquotObjectRegistry
objectGraphs: a WeakIdentityKeyDictionary(a PackageInfo(BaselineOfTraceDebugger...etc...
loadOrder: an OrderedCollection('packages/BaselineOfTraceDebugger.package' 'packages/TraceDebugger.package...etc...
SquotArtifactModification(SquotArtifactDiff)>>applyToContainer:
Receiver: a SquotArtifactModification 'packages/TraceDebuggerBenchmarks.package'
Arguments and temporary variables:
anObjectContainer: a SquotImageStore
Receiver's instance variables:
left: 'packages/TraceDebuggerBenchmarks.package' in a SquotImageStore
right: a SquotArtifact('packages/TraceDebuggerBenchmarks.package')
isLoadedInWorkingCopy: false
diffContent: a SquotObjectGraphDiff (1 changed objects)
metadataDiff: a SquotTrackedObjectMetadataDiff (0 changes)
topNodes: nil
willBeLoaded: true
--- The full stack ---
SquotNameDecorator class(Object)>>halt:
SquotNameDecorator class(Object)>>isThisEverCalled:
SquotNameDecorator class>>squotMirror
SquotObjectReplacement>>referenceDiffsWithDefaultOwners:reflectedIn:do:
SquotPatcher>>apply:from:to:reflectedIn:inGraph:original:reflectedIn:patched:reflectedIn:diffsOfReferenceValuesDo:
SquotPatcher>>apply:toLoadedGraph:
SquotObjectGraphDiff>>squotApplyToLoaded:
SquotArtifactModification>>applyToLoaded:
[] in [] in SquotImageStore>>applyDiff:toObjectAt:
[] in SquotCurrentMetadata class(DynamicVariable class)>>value:during:
FullBlockClosure(BlockClosure)>>ensure:
SquotCurrentMetadata class(DynamicVariable class)>>value:during:
[] in SquotImageStore>>applyDiff:toObjectAt:
[] in SquotActiveObjectRegistry class(DynamicVariable class)>>value:during:
FullBlockClosure(BlockClosure)>>ensure:
SquotActiveObjectRegistry class(DynamicVariable class)>>value:during:
SquotImageStore>>activateObjectRegistryDuring:
SquotImageStore>>applyDiff:toObjectAt:
SquotArtifactModification(SquotArtifactDiff)>>applyToContainer:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SquotImageStore>>applyDiff:
SquotWorkingCopy>>applyDiff:toObjectAt:
SquotArtifactModification(SquotArtifactDiff)>>applyToContainer:
SquotWorkingCopy>>applyDiff:
[] in SquotPatch>>privateApplyTo:diffsDoing:
[] in [] in Array(Collection)>>do:displayingProgress:every:
Array(SequenceableCollection)>>do:
[] in Array(Collection)>>do:displayingProgress:every:
[] in [] in MorphicUIManager>>displayProgress:at:from:to:during:
FullBlockClosure(BlockClosure)>>on:do:
[] in MorphicUIManager>>displayProgress:at:from:to:during:
FullBlockClosure(BlockClosure)>>ensure:
MorphicUIManager>>displayProgress:at:from:to:during:
ProgressInitiationException>>defaultResumeValue
ProgressInitiationException(Exception)>>resume
ProgressInitiationException>>defaultAction
UndefinedObject>>handleSignal:
ProgressInitiationException(Exception)>>signal
ProgressInitiationException>>display:at:from:to:during:
ProgressInitiationException class>>display:at:from:to:during:
ByteString(String)>>displayProgressAt:from:to:during:
ByteString(String)>>displayProgressFrom:to:during:
Array(Collection)>>do:displayingProgress:every:
Array(Collection)>>do:displayingProgress:
SquotGUI class>>displayProgress:for:do:
SquotProgress>>display:for:do:
SquotProgress class>>display:for:do:
[] in SquotPatch>>applyTo:displayingProgress:
SquotPatch>>privateApplyTo:diffsDoing:
SquotPatch>>applyTo:displayingProgress:
SquotWorkingCopy>>applyPatch:
[] in SquotInteractiveMerge(SquotMergeOperation)>>applyToWorkingCopy
[] in [] in SquotInteractiveMerge(SquotWorkingCopyOperation)>>withUnitOfWork:
[] in GitCurrentUnitOfWork class(DynamicVariable class)>>value:during:
FullBlockClosure(BlockClosure)>>ensure:
GitCurrentUnitOfWork class(DynamicVariable class)>>value:during:
GitCurrentUnitOfWork class>>value:for:during:
GitUnitOfWork>>activateDuring:
SquitUnitOfWork>>activateDuring:
SquotInteractiveMerge(SquotWorkingCopyOperation)>>withUnitOfWorkActive:
[] in SquotInteractiveMerge(SquotWorkingCopyOperation)>>withUnitOfWork:
FullBlockClosure(BlockClosure)>>ensure:
-- and more not shown --
Damn SquotObjectReplacements... I wonder why it did not compare the two package versions and rather assumed that something has been removed and something else been added at the same path. Can you please tell me exactly the situation of this merge, and what you have been doing leading up to that merge?
Will do next time!
My guess would be that you had an addition conflict (like in one of the issues you reported today), and the cause for the replacement lies in SquotObjectAdditionConflict>>chooseIncoming. That should happen if you "switch, but keep uncommitted changes" to the branch that has the package committed, and choose the uncommitted re-added package which is still loaded in the image.
Edit: I can observe that it creates a SquotArtifactMerge (rather than a conflict of two added artifacts) for the two package versions, but the SquotObjectGraphMerge inside (which is supposed to merge the two object graphs that each only contain the respective SquotPackageShadow of the same package) has an addition conflict for the two package shadows. I would rather have expected either a conflict of the two artifacts (i. e. a conflict instead of the SquotArtifactMerge in the SquotMerge), or that it can make a SquotPackageMerge rather than this addition conflict if it does indeed merge the two artifacts...
I just hit this myself while testing a fix for #364.
Thank you! I will report when I see the Halt the next time. :-)