From: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com> Date: Sat, 25 Feb 2023 06:59:49 +0000 (-0800) Subject: [main] Update dependencies from dotnet/installer (#3673) X-Git-Tag: accepted/tizen/unified/riscv/20231226.055542~43^2~2^2~76 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=83ff3549c9bc40f7628b0ea2c99ab352d1d8bf3b;p=platform%2Fcore%2Fdotnet%2Fdiagnostics.git [main] Update dependencies from dotnet/installer (#3673) * Update dependencies from https://github.com/dotnet/installer build 20230217.18 Microsoft.Dotnet.Sdk.Internal From Version 8.0.100-preview.2.23113.1 -> To Version 8.0.100-preview.2.23117.18 * Update 8.0 single-file * Update runtime versions * Update installer version * Fix dcd command for .NET 8.0 --- diff --git a/.gitignore b/.gitignore index 6c05f8d89..74094e8ce 100644 --- a/.gitignore +++ b/.gitignore @@ -52,6 +52,9 @@ launchSettings.json *.log *.scc +# Visual Studio +.vs/ + # Visual C++ cache files ipch/ *.aps diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 575eb464c..ee3def24d 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -23,25 +23,25 @@ https://github.com/dotnet/arcade ccfe6da198c5f05534863bbb1bff66e830e0c6ab - + https://github.com/dotnet/installer - 0004325188fe0c920870901208d774c8e9ff6753 + dc69610af915341dfcb759812ed46acc00e36ae4 - + https://github.com/dotnet/aspnetcore - cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d + a11fec5fad546a315b4565af534f9efccec010b9 - + https://github.com/dotnet/aspnetcore - cec7fbf64e63af88a9165cbbf14aa4ab6f8cc76d + a11fec5fad546a315b4565af534f9efccec010b9 - + https://github.com/dotnet/runtime - e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550 + 9281022e56856094d2bade01908060a7536c3b75 - + https://github.com/dotnet/runtime - e71a4fb10d7ea6b502dd5efe7a8fcefa2b9c1550 + 9281022e56856094d2bade01908060a7536c3b75 https://github.com/dotnet/source-build-reference-packages diff --git a/eng/Versions.props b/eng/Versions.props index ec3e341b7..148e6bc4b 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -18,13 +18,13 @@ 1.0.412101 - 8.0.0-preview.2.23107.1 - 8.0.0-preview.2.23107.1 + 8.0.0-preview.2.23124.2 + 8.0.0-preview.2.23124.2 - 8.0.0-preview.2.23107.2 - 8.0.0-preview.2.23107.2 + 8.0.0-preview.2.23124.5 + 8.0.0-preview.2.23124.5 - 8.0.100-preview.2.23113.1 + 8.0.100-preview.2.23124.7 @@ -35,7 +35,7 @@ $(MicrosoftNETCoreApp60Version) $(MicrosoftNETCoreApp70Version) - 8.0.0-preview.2.23107.1 + 8.0.0-preview.2.23124.2 diff --git a/src/Microsoft.Diagnostics.ExtensionCommands/ClrMDHelper.cs b/src/Microsoft.Diagnostics.ExtensionCommands/ClrMDHelper.cs index 74dcadbc7..e194fe476 100644 --- a/src/Microsoft.Diagnostics.ExtensionCommands/ClrMDHelper.cs +++ b/src/Microsoft.Diagnostics.ExtensionCommands/ClrMDHelper.cs @@ -664,7 +664,7 @@ namespace Microsoft.Diagnostics.ExtensionCommands var cd = _heap.GetObject(address); if (!cd.IsValid) - throw new InvalidOperationException("Adress does not correspond to a ConcurrentDictionary"); + throw new InvalidOperationException("Address does not correspond to a ConcurrentDictionary"); var tables = cd.ReadObjectField(tablesFieldName); if (!tables.IsValid) throw new InvalidOperationException($"ConcurrentDictionary does not own {tablesFieldName} attribute"); @@ -675,8 +675,21 @@ namespace Microsoft.Diagnostics.ExtensionCommands for (int i = 0; i < bucketsArray.Length; i++) { - var node = bucketsArray.GetObjectValue(i); - IAddressableTypedEntity keyField = null, valueField = null; + ClrObject node; + // This field is only in .NET 8 and above. Currently can't use "_clr.ClrInfo.Version.Major >= 8" because + // this version isn't the runtime version for single-file apps. + if (cd.Type?.GetFieldByName("_comparerIsDefaultForClasses") != null) + { + // On .NET 8 or more, the array entry is a VolatileNode wrapper (struct) + ClrValueType volatileNode = bucketsArray.GetStructValue(i); + node = volatileNode.ReadObjectField("_node"); + } + else + { + // For older runtimes, the array entry is the Node object + node = bucketsArray.GetObjectValue(i); + } + IAddressableTypedEntity keyField, valueField; if (!node.IsNull && node.IsValid) { keyField = node.GetFieldFrom(keyFieldName);