Tags: dotnet/runtime
Tags
Restore E_NOTIMPL fallback in DacDbiInterfaceImpl::GetContext (#128499)… … (#128920) On platforms where ICorDebugDataTarget::GetThreadContext returns E_NOTIMPL, restore the fallback that walks the thread's Frame chain to reconstruct a register context from REGDISPLAY. This is needed for managed debugging stack walks on non-Windows platforms. The fallback was removed in 5391e9e. Found using internal Visual Studio testing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
[release/10.0] Update dependencies from dotnet/icu (#125098) This pull request updates the following dependencies [marker]: <> (Begin:db1ca3c9-37b3-43b6-a420-6f1f4040ce77) ## From https://github.com/dotnet/icu - **Subscription**: [db1ca3c9-37b3-43b6-a420-6f1f4040ce77](https://maestro.dot.net/subscriptions?search=db1ca3c9-37b3-43b6-a420-6f1f4040ce77) - **Build**: [20260402.1](https://dev.azure.com/dnceng/internal/_build/results?buildId=2942438) ([309043](https://maestro.dot.net/channel/5172/github:dotnet:icu/build/309043)) - **Date Produced**: April 2, 2026 7:15:48 PM UTC - **Commit**: [ebc90db84e994c920f183fe919fd0eb70db7fb81](dotnet/icu@ebc90db) - **Branch**: [dotnet/release/10.0](https://github.com/dotnet/icu/tree/dotnet/release/10.0) [DependencyUpdate]: <> (Begin) - **Dependency Updates**: - From [10.0.0-rtm.26104.1 to 10.0.0-rtm.26202.1][4] - Microsoft.NETCore.Runtime.ICU.Transport [4]: dotnet/icu@2d6216b...ebc90db [DependencyUpdate]: <> (End) [marker]: <> (End:db1ca3c9-37b3-43b6-a420-6f1f4040ce77) --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Larry Ewing <lewing@microsoft.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: lewing <24063+lewing@users.noreply.github.com>
Merged PR 60607: Updated Versions.props - MicrosoftNativeQuicMsQuicSc… …hannelVersion 2.4.18 Updated Versions.props - MicrosoftNativeQuicMsQuicSchannelVersion 2.4.18 ---- #### AI description (iteration 1) #### PR Classification Dependency version update to upgrade the MsQuic Schannel package from version 2.4.17 to 2.4.18. #### PR Summary This pull request updates the MsQuic Schannel dependency to a newer patch version. - `/eng/Versions.props`: Updated `MicrosoftNativeQuicMsQuicSchannelVersion` from 2.4.17 to 2.4.18 <!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->
Merged PR 60606: Updated Versions.props - MicrosoftNativeQuicMsQuicSc… …hannelVersion 2.4.18 Updated Versions.props - MicrosoftNativeQuicMsQuicSchannelVersion 2.4.18 ---- #### AI description (iteration 1) #### PR Classification Dependency version update to upgrade the MsQuic Schannel package from version 2.4.17 to 2.4.18. #### PR Summary This pull request updates the MsQuic Schannel dependency version in the project's version management file. - `eng/Versions.props`: Updated `MicrosoftNativeQuicMsQuicSchannelVersion` from 2.4.17 to 2.4.18 <!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->
[release/11.0-preview4] Source code updates from dotnet/dotnet (#127418) > [!NOTE] > This is a codeflow update. It may contain both source code changes from > [the VMR](https://github.com/dotnet/dotnet) > as well as dependency updates. Learn more [here](https://github.com/dotnet/dotnet/tree/main/docs/Codeflow-PRs.md). This pull request brings the following source code changes [marker]: <> (Begin:fe554d4f-fa8f-4629-9931-ec015ceb97fa) ## From https://github.com/dotnet/dotnet - **Subscription**: [fe554d4f-fa8f-4629-9931-ec015ceb97fa](https://maestro.dot.net/subscriptions?search=fe554d4f-fa8f-4629-9931-ec015ceb97fa) - **Build**: [20260424.22](https://dev.azure.com/dnceng/internal/_build/results?buildId=2959731) ([311857](https://maestro.dot.net/channel/9588/github:dotnet:dotnet/build/311857)) - **Date Produced**: April 25, 2026 6:28:19 AM UTC - **Commit**: [48bd87d899e187fe0e4e2b81a7b4a65a37845213](dotnet/dotnet@48bd87d) - **Commit Diff**: [36afe73...48bd87d](dotnet/dotnet@36afe73...48bd87d) - **Branch**: [release/11.0.1xx-preview4](https://github.com/dotnet/dotnet/tree/release/11.0.1xx-preview4) **Updated Dependencies** - From [5.7.0-1.26211.102 to 5.7.0-1.26224.122][1] - Microsoft.CodeAnalysis - Microsoft.CodeAnalysis.Analyzers - Microsoft.CodeAnalysis.CSharp - Microsoft.Net.Compilers.Toolset - From [11.0.100-preview.4.26211.102 to 11.0.100-preview.4.26224.122][1] - Microsoft.CodeAnalysis.NetAnalyzers - Microsoft.DotNet.ApiCompat.Task - Microsoft.NET.Workload.Emscripten.Current.Manifest-11.0.100.Transport - From [11.0.0-beta.26211.102 to 11.0.0-beta.26224.122][1] - Microsoft.DotNet.Arcade.Sdk - Microsoft.DotNet.Build.Tasks.Archives - Microsoft.DotNet.Build.Tasks.Feed - Microsoft.DotNet.Build.Tasks.Installers - Microsoft.DotNet.Build.Tasks.Packaging - Microsoft.DotNet.Build.Tasks.TargetFramework - Microsoft.DotNet.Build.Tasks.Templating - Microsoft.DotNet.Build.Tasks.Workloads - Microsoft.DotNet.CodeAnalysis - Microsoft.DotNet.GenAPI - Microsoft.DotNet.GenFacades - Microsoft.DotNet.Helix.Sdk - Microsoft.DotNet.PackageTesting - Microsoft.DotNet.RemoteExecutor - Microsoft.DotNet.SharedFramework.Sdk - Microsoft.DotNet.XliffTasks - Microsoft.DotNet.XUnitExtensions - From [0.11.5-preview.26211.102 to 0.11.5-preview.26224.122][1] - Microsoft.DotNet.Cecil - From [3.2.2-beta.26211.102 to 3.2.2-beta.26224.122][1] - Microsoft.DotNet.XUnitAssert - From [2.9.3-beta.26211.102 to 2.9.3-beta.26224.122][1] - Microsoft.DotNet.XUnitConsoleRunner - From [11.0.0-preview.4.26211.102 to 11.0.0-preview.4.26224.122][1] - Microsoft.NET.Sdk.IL - Microsoft.NETCore.App.Ref - Microsoft.NETCore.ILAsm - runtime.native.System.IO.Ports - System.Reflection.Metadata - System.Reflection.MetadataLoadContext - System.Text.Json - From [7.6.0-rc.21202 to 7.7.0-rc.22522][1] - NuGet.Frameworks - NuGet.Packaging - NuGet.ProjectModel - NuGet.Versioning - From [3.0.0-preview.4.26211.102 to 3.0.0-preview.4.26224.122][1] - System.CommandLine - From [19.1.0-alpha.1.26173.1 to 19.1.0-alpha.1.26208.2](dotnet/dotnet@adb0185...db9a80a) - runtime.linux-arm64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang - runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang - runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - runtime.linux-musl-x64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang - runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - runtime.linux-x64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang - runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - runtime.osx-arm64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang - runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - runtime.osx-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - runtime.osx-x64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang - runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - runtime.osx-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - runtime.win-arm64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.win-x64.Microsoft.NETCore.Runtime.JIT.Tools - runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Libclang - runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - From [11.0.0-alpha.1.26173.2 to 11.0.0-alpha.1.26208.5](dotnet/dotnet@0077cd1...cfe285c) - runtime.linux-arm64.Microsoft.NETCore.Runtime.Wasm.Node.Transport - runtime.linux-musl-arm64.Microsoft.NETCore.Runtime.Wasm.Node.Transport - runtime.linux-musl-x64.Microsoft.NETCore.Runtime.Wasm.Node.Transport - runtime.linux-x64.Microsoft.NETCore.Runtime.Wasm.Node.Transport - runtime.osx-arm64.Microsoft.NETCore.Runtime.Wasm.Node.Transport - runtime.osx-x64.Microsoft.NETCore.Runtime.Wasm.Node.Transport - runtime.win-arm64.Microsoft.NETCore.Runtime.Wasm.Node.Transport - runtime.win-x64.Microsoft.NETCore.Runtime.Wasm.Node.Transport [marker]: <> (End:fe554d4f-fa8f-4629-9931-ec015ceb97fa) [1]: dotnet/dotnet@36afe73...48bd87d [marker]: <> (Start:Footer:CodeFlow PR) ## Associated changes in source repos - dotnet/arcade@30f8bf5...a08169b - dotnet/aspnetcore@3b9acb9...11a9d22 - dotnet/cecil@82f47fc...187393d - dotnet/command-line-api@d3de878...99db1e3 - dotnet/efcore@ebc5a87...c945994 - dotnet/emsdk@4cdda38...5258a0e - dotnet/fsharp@1f46886...ec82b94 - dotnet/msbuild@8a330c4...933255e - NuGet/NuGet.Client@779eff1...de3b92c - dotnet/razor@1eaf86c...229087c - dotnet/roslyn@e3a102f...5e5ee32 - ce3e716...a28fe52 - dotnet/scenario-tests@5745f74...7bc6a69 - dotnet/sdk@a1f2e26...e259547 - dotnet/symreader@e87544a...ddef017 - dotnet/templating@695767d...4c17ee5 - microsoft/vstest@5c5c4f1...4b1316b - dotnet/windowsdesktop@8350252...c96077e - dotnet/winforms@9bff4e6...2f889a2 - dotnet/wpf@7bb98f6...6eaec56 - dotnet/xdt@a37116d...0d57d4b <details> <summary>Diff the source with this PR branch</summary> ```bash darc vmr diff --name-only https://github.com/dotnet/dotnet:48bd87d899e187fe0e4e2b81a7b4a65a37845213..https://github.com/dotnet/runtime:darc-release/11.0-preview4-fc6d5772-ad96-4a2e-861f-40d0c2998897 ``` </details> [marker]: <> (End:Footer:CodeFlow PR) --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Larry Ewing <lewing@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
[Release/10.0] Pass down DJI and MethodDesc to avoid unnecessary PtrH… …ashMap lookup (#126247) Fixes #126096 main fixes this issue via #123492 - a different approach that's too risky for servicing. #123651 had tried a targeted approach and this completes the targeted fix for the path. # Description PR #123651 fixed the `GetJitInfo` call in `BindPatch` to avoid a deadlock-prone `HashMap::LookupValue` -> `GCCoopHackNoThread` -> `DisablePreemptiveGC` path while holding the DebuggerController lock. However, the same function has a second call to `CodeRegionInfo::GetCodeRegionInfo(NULL, NULL, startAddr)` that follows the exact same deadlock path when `dji` is NULL, `GetCodeRegionInfo` calls `InitializeFromStartAddress` -> `GetMethodRegionInfo` -> `EECodeInfo` constructor -> `ReadyToRunJitManager::JitCodeToMethodInfo` -> `HashMap::LookupValue` -> GC cooperative mode transition. This one-line fix passes the already-available `info` (DebuggerJitInfo) and `pMD` (MethodDesc) to `GetCodeRegionInfo`, matching every other callsite in controller.cpp. When `info` is non-null and has a cached `m_addrOfCode`, `GetCodeRegionInfo` returns the cached `m_codeRegionInfo` immediately without constructing an `EECodeInfo`, avoiding the HashMap and the GC mode transition entirely. The change in #126249 tries to find other locations that can face this issue. So far, they are all around the thread starter added in r2r delay call transitions. This change fixes most of those cases. # Customer Impact Without this fix, customers debugging ReadyToRun applications can experience debugger hangs. The deadlock occurs when: 1. A thread holds the DebuggerController lock in `BindPatch` (e.g., during `MapAndBindFunctionPatches` from `JITComplete` or `AddBindAndActivateILReplicaPatch`) 2. `GetCodeRegionInfo` constructs an `EECodeInfo` for a R2R method, entering `HashMap::LookupValue` which transitions to GC cooperative mode 3. A GC or debugger suspension is pending `DisablePreemptiveGC` -> `RareDisablePreemptiveGC` -> `WaitSuspendEvents` blocks indefinitely 4. Other threads waiting on the DebuggerController lock (or the GC needing threads at safe points) deadlock The result is the debugger and IDE hang, requiring force-close and loss of the debugging session. # Regression No. The root cause has existed since ReadyToRun support was added. The original issue (#123650) notes that timing changes may have made it more likely to hit recently, but this specific `GetCodeRegionInfo` path has always been vulnerable. The bug has become a lot more visible in 10.0 nonetheless. # Testing - The fix is a single-line change that passes already-available local variables (`info`, `pMD`) to `GetCodeRegionInfo` instead of `(NULL, NULL)`, matching all other callsites in controller.cpp (see lines ~6173, ~6219, ~8054 for the same pattern). - Debugger tests pass with this change. # Risk **Very Low.** This is a one-line change that passes two existing local variables to a function instead of NULL. The `info` and `pMD` variables are already computed earlier in the same function and used in the lines immediately surrounding this call. Every other `GetCodeRegionInfo` callsite in controller.cpp already passes the DJI and MethodDesc. The only effect is avoiding an unnecessary `EECodeInfo` construction (and its HashMap lookup) when cached data is available.
[release/11.0-preview3] Fix publish-time Framework materialization fo… …r multi-client WASM and add test (#126378) Backport of #126211 to release/11.0-preview3 /cc @lewing ## Customer Impact - [ ] Customer reported - [ ] Found internally [Select one or both of the boxes. Describe how this issue impacts customers, citing the expected and actual behaviors and scope of the issue. If customer-reported, provide the issue number.] ## Regression - [ ] Yes - [ ] No [If yes, specify when the regression was introduced. Provide the PR or commit if known.] ## Testing [How was the fix verified? How was the issue missed previously? What tests were added?] ## Risk [High/Medium/Low. Justify the indication by mentioning how risks were measured and addressed.] **IMPORTANT**: If this backport is for a servicing release, please verify that: - For .NET 8 and .NET 9: The PR target branch is `release/X.0-staging`, not `release/X.0`. - For .NET 10+: The PR target branch is `release/X.0` (no `-staging` suffix). ## Package authoring no longer needed in .NET 9 **IMPORTANT**: Starting with .NET 9, you no longer need to edit a NuGet package's csproj to enable building and bump the version. Keep in mind that we still need package authoring in .NET 8 and older versions. --------- Co-authored-by: Larry Ewing <lewing@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
PreviousNext