diff --git a/Directory.Packages.props b/Directory.Packages.props index 4749e3b87..a3bfa007d 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -7,7 +7,7 @@ 3.11.0 4.4.0 1.1.1 - 2.4.416101 + 3.1.456501 diff --git a/src/SosThreadingTools/DumpAsyncCommand.cs b/src/SosThreadingTools/DumpAsyncCommand.cs index e4c2531e8..9aedaf999 100644 --- a/src/SosThreadingTools/DumpAsyncCommand.cs +++ b/src/SosThreadingTools/DumpAsyncCommand.cs @@ -362,7 +362,7 @@ private void MarkThreadingBlockTasks(List allStateMachines) if (stackFrame is object) { var visitedObjects = new HashSet(); - foreach (IClrStackRoot stackRoot in thread.EnumerateStackRoots()) + foreach (ClrStackRoot stackRoot in thread.EnumerateStackRoots()) { ClrObject stackObject = stackRoot.Object; if (string.Equals(stackObject.Type?.Name, "Microsoft.VisualStudio.Threading.JoinableTask", StringComparison.Ordinal) || @@ -370,7 +370,7 @@ private void MarkThreadingBlockTasks(List allStateMachines) { if (visitedObjects.Add(stackObject.Address)) { - var joinableTaskObject = new ClrObject(stackObject.Address, stackObject.Type); + ClrObject joinableTaskObject = stackObject.Type is null ? runtime.Heap.GetObject(stackObject.Address) : runtime.Heap.GetObject(stackObject.Address, stackObject.Type); int state = joinableTaskObject.ReadField("state"); if ((state & 0x10) == 0x10) {