Skip to content

[manual] Merge release/9.0-staging into release/9.0 - #116459

Merged
jozkee merged 27 commits into
dotnet:release/9.0from
jozkee:release/9.0-staging
Jun 11, 2025
Merged

[manual] Merge release/9.0-staging into release/9.0#116459
jozkee merged 27 commits into
dotnet:release/9.0from
jozkee:release/9.0-staging

Conversation

@jozkee

Copy link
Copy Markdown
Member

MERGE COMMIT

thaystgand others added 24 commits May 19, 2025 16:36
…re enabled (dotnet#114932)
* backport 111408
* Fix compilation failure
* Fix compilation
* trying to fix compilation
* Trying to fix compilation
…ons. (dotnet#115076)
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
…ntrinsics (dotnet#114218)
* Backport the functionality fixes from 114087
* Fix the tests for net9.0
* Fix syntax error in PackedSimdTests.cs
* Fix typo in PackedSimd add assertion
* Fix typo in PackedSimd assertion
* Remove NativeUnsignedIntegerLoadStoreTest from PackedSimdTests
… methods without .localsinit (dotnet#115568)
If we skip storing a field local because we know it is dead, then assertions
about the struct local are no longer valid, so invalidate them in that case.
Without this change we could end up using the assertion about the struct local
to remove a future store to the particular field, which would leave no zeroing
of that field, and would be observable.
…ationToken Callback (dotnet#115840)
* Ignore ObjectDisposedException on CancellationToken Callback
* Update src/libraries/System.Net.NameResolution/src/System/Net/NameResolutionPal.Windows.cs
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Change wording in comment
* Update src/libraries/System.Net.NameResolution/src/System/Net/NameResolutionPal.Windows.cs
---------
Co-authored-by: Ahmet Ibrahim Aksoy <aaksoy@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
…ismatch (dotnet#116206)
* JIT: Fix SysV first/second return register GC info mismatch when generating calls
* Fix struct ReturnKind on SysV AMD64.
On SysV AMD64, structs returned in a float and int reg pair were being
classified as RT_Scalar_XX. This causes downstream consumers
(e.g., HijackFrame::GcScanRoots) to look for obj/byref's in
the second int reg. Per the ABI, however, the first float is passed
through a float reg and the obj/byref is passed through the _first_
int reg. We now detect and fix this case by skipping the first float
type in the ReturnKind encoding and moving the second type into the
first.
Fixdotnet#115815
---------
Co-authored-by: zengandrew <7494393+zengandrew@users.noreply.github.com>
…posed with a pending operation (dotnet#116188)
* Fix PipeStream cleanup on Windows when pipe is disposed with a pending operation
The same pattern occurs in a couple of other places, as well.
* Make dispose cancellation unconditional
---------
Co-authored-by: Stephen Toub <stoub@microsoft.com>
…4682)
* Fix dump_processor_state debug code to compile and work on Android (dotnet#112970)
Fix typo in GC bridge comparison message (SCCS -> XREFS)
* [mono] Add a few bridge tests (dotnet#113703)
* [mono][sgen] Fix DUMP_GRAPH debug option build for tarjan bridge
* [mono][sgen] Don't create ScanData* during debug dumping of SCCs
It serves no purpose and it would later crash the runtime since we didn't patch the lockword back in place.
* [mono][sgen] Fix some null deref crashes in DUMP_GRAPH debug option
* [mono][tests] Add bridge tests
These are ported from some of the bridge tests we had on mono/mono. In order to test them we compare between the output of the new and the tarjan bridge.
* Fix an edge case in the Tarjan GC bridge that leads to losing xref information (dotnet#112825)
* Fix an edge case in the Tarjan SCC that lead to losing xref information
In the Tarjan SCC bridge processing there's a color graph used to find out
connections between SCCs. There was a rare case which only manifested when
a cycle in the object graph points to another cycle that points to a bridge
object. We only recognized direct bridge pointers but not pointers to other
non-bridge SCCs that in turn point to bridges and where we already calculated
the xrefs. These xrefs were then lost.
* Add test case to sgen-bridge-pathologies and add an assert to catch the original bug
* Add review
---------
Co-authored-by: Vlad Brezae <brezaevlad@gmail.com>
* [SGen/Tarjan] Handle edge case with node heaviness changing due to deduplication (dotnet#113044)
* [SGen/Tarjan] Handle edge case with node heaviness changing due to deduplication
Do early deduplication
Fix Windows build
Add test cases to sgen-bridge-pathologies
* Move test code
* Remove old code
* Add extra check (no change to functionality)
* Disable test on wasm
* [mono][sgen] Fix initialization of can_reduce_color (dotnet#114637)
* [mono][sgen] Fix initialization of can_reduce_color
Mark it as true also in the case when the SCC contains bridge objects. Code populating other_colors for this SCC depends on it.
* Disable test on wasm and mobile
The test is meant to be run only on desktop.
---------
Co-authored-by: Vlad Brezae <brezaevlad@gmail.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Šimon Rozsíval <simon@rozsival.com>
…dotnet#116244)
dotnet#99576 changed the host to first
resolve symlinks before resolving the application directory. This means
that relative loads happen relative to the pointed-at file, not the
symbolic link. This was a breaking change made to match the symbolic
link behavior on all platforms.
Unfortunately, it seems a number of users have taken a dependency on the
Windows-specific behavior. This PR reverts the change and puts back in
place the old Windows behavior.
* Adapt symbolic link tests
* Conditional behavior based on OS
* Add unit test for success with symlinks
* Add self-contained test as well
* Add test with split files
* Simplify dir handling
* Simplify test code
* Remove debugging line
---------
Co-authored-by: Andy Gocke <andy@commentout.net>
Co-authored-by: Andy Gocke <angocke@microsoft.com>
Co-authored-by: Thays Grazia <thtaglia@microsoft.com>
Co-authored-by: Tom McDonald <tommcdon@microsoft.com>
…g mode (dotnet#115695)
Co-authored-by: Raphael Catolino <raphael.catolino@ovhcloud.com>
Co-authored-by: Kevin Jones <kevin@vcsjones.com>
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
…otnet#116132)
Co-authored-by: Jakob Botsch Nielsen <jakob.botsch.nielsen@gmail.com>
…525.3 (dotnet#115984)
Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset
From Version 4.12.0-3.25256.6 -> To Version 4.12.0-3.25275.3
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…115855)
* Update dependencies from https://github.com/dotnet/arcade build 20250521.1
Microsoft.SourceBuild.Intermediate.arcade , 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.VersionTools.Tasks , Microsoft.DotNet.XliffTasks , Microsoft.DotNet.XUnitAssert , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
From Version 9.0.0-beta.25255.5 -> To Version 9.0.0-beta.25271.1
* Update dependencies from https://github.com/dotnet/arcade build 20250602.2
Microsoft.SourceBuild.Intermediate.arcade , 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.VersionTools.Tasks , Microsoft.DotNet.XliffTasks , Microsoft.DotNet.XUnitAssert , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
From Version 9.0.0-beta.25255.5 -> To Version 9.0.0-beta.25302.2
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
)
* Update dependencies from https://github.com/dotnet/icu build 20250514.2
Microsoft.NETCore.Runtime.ICU.Transport
From Version 9.0.0-rtm.25258.1 -> To Version 9.0.0-rtm.25264.2
* Update dependencies from https://github.com/dotnet/icu build 20250516.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 9.0.0-rtm.25258.1 -> To Version 9.0.0-rtm.25266.1
* Update dependencies from https://github.com/dotnet/icu build 20250519.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 9.0.0-rtm.25258.1 -> To Version 9.0.0-rtm.25269.1
* Update dependencies from https://github.com/dotnet/icu build 20250523.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 9.0.0-rtm.25258.1 -> To Version 9.0.0-rtm.25273.1
* Update dependencies from https://github.com/dotnet/icu build 20250526.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 9.0.0-rtm.25258.1 -> To Version 9.0.0-rtm.25276.1
* Update dependencies from https://github.com/dotnet/icu build 20250604.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 9.0.0-rtm.25258.1 -> To Version 9.0.0-rtm.25304.1
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
)
* Update dependencies from https://github.com/dotnet/sdk build 20250518.4
Microsoft.SourceBuild.Intermediate.sdk , Microsoft.DotNet.ApiCompat.Task
From Version 9.0.107-servicing.25261.2 -> To Version 9.0.107-servicing.25268.4
* Update dependencies from https://github.com/dotnet/sdk build 20250522.8
Microsoft.SourceBuild.Intermediate.sdk , Microsoft.DotNet.ApiCompat.Task
From Version 9.0.107-servicing.25261.2 -> To Version 9.0.107-servicing.25272.8
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…15504)
* Update dependencies from https://github.com/dotnet/cecil build 20250511.2
Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil
From Version 0.11.5-alpha.25228.2 -> To Version 0.11.5-alpha.25261.2
* Update dependencies from https://github.com/dotnet/cecil build 20250514.2
Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil
From Version 0.11.5-alpha.25228.2 -> To Version 0.11.5-alpha.25264.2
* Update dependencies from https://github.com/dotnet/cecil build 20250519.1
Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil
From Version 0.11.5-alpha.25228.2 -> To Version 0.11.5-alpha.25269.1
* Update dependencies from https://github.com/dotnet/cecil build 20250525.2
Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil
From Version 0.11.5-alpha.25228.2 -> To Version 0.11.5-alpha.25275.2
---------
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…50512.2 (dotnet#115589)
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 9.0.0-prerelease.25228.2 -> To Version 9.0.0-prerelease.25262.2
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
…ease/9.0-staging
[automated] Merge branch 'release/9.0' => 'release/9.0-staging'
…e handle (dotnet#115380)
* Link peer's X509 stack handle to parent SSL safe handle
* Update src/libraries/Common/src/Interop/Unix/System.Security.Cryptography.Native/Interop.Ssl.cs
Co-authored-by: Kevin Jones <vcsjones@github.com>
* Add test for dispose parallel with handshake.
* Revert "Add test for dispose parallel with handshake."
This reverts commit abf96c8.
* Defer RemoteCertificate assignment after X509 Chain build (dotnet#114781)
* Defer RemoteCertificate assignment after X509 Chain build
* Add comment
* Fix SslStreamDisposeTest failures during parallel handshake (dotnet#113834)
* Fix SslStreamDisposeTest.Dispose_ParallelWithHandshake_ThrowsODE test failures
* Fix build
* Fix SslStreamDisposeTest for parallel handshake on Unix (dotnet#114100)
* [Test Failure] SslStreamDisposeTest.Dispose_ParallelWithHandshake_ThrowsODE on Unix
Fixesdotnet#113833
* fixup! [Test Failure] SslStreamDisposeTest.Dispose_ParallelWithHandshake_ThrowsODE on Unix Fixesdotnet#113833
* fixup! fixup! [Test Failure] SslStreamDisposeTest.Dispose_ParallelWithHandshake_ThrowsODE on Unix Fixesdotnet#113833
* Update src/libraries/System.Net.Security/tests/FunctionalTests/SslStreamDisposeTest.cs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix build
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Radek Zikmund <r.zikmund.rz@gmail.com>
Co-authored-by: Radek Zikmund <32671551+rzikm@users.noreply.github.com>
Co-authored-by: Kevin Jones <vcsjones@github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@jozkee
jozkee requested review from a teamJune 10, 2025 04:02
@jozkeejozkee self-assigned this Jun 10, 2025
CopilotAI review requested due to automatic review settings June 10, 2025 04:02
@jozkeejozkee added NO-SQUASH The PR should not be squashed Servicing-approved Approved for servicing release labels Jun 10, 2025

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR performs a merge of the release/9.0-staging branch into release/9.0 and brings in various fixes and version bumps across core libraries, tests, and build definitions.

  • Updated tests to cover additional scenarios (e.g. symlink operations and SslStream handshakes)
  • Adjusted resource disposal and race handling in various PipeStream and SslStream related files
  • Made changes in the CoreCLR JIT and GC components while updating dependency versions in global build configuration files

Reviewed Changes

Copilot reviewed 42 out of 42 changed files in this pull request and generated no comments.

Show a summary per file
FileDescription
src/libraries/System.Net.Security/tests/FunctionalTests/SslStreamDisposeTest.csAdded new tests and minor cleanup for SslStream disposal behaviors
src/libraries/System.Net.Security/src/System/Net/Security/SslStream.Protocol.csAdjusted the certificate assignment and callback parameters
src/libraries/System.Net.NameResolution/src/System/Net/NameResolutionPal.Windows.csAdded defense against ObjectDisposedException for race conditions
src/libraries/System.IO.Pipes/src/System/IO/Pipes/PipeStream.csRemoved duplicate state assignment and improved disposal ordering
src/libraries/System.IO.Pipes/src/System/IO/Pipes/PipeStream.Windows.csUpdated instance disposal in the reuse logic
src/libraries/System.IO.Pipes/src/System/IO/Pipes/NamedPipeServerStream.Windows.csReplaced direct overlapped disposal with a full dispose call
src/libraries/System.IO.Pipes/src/System/IO/Pipes/NamedPipeServerStream.Unix.csSimplified disposal logic
src/libraries/Common/src/Interop/Unix/System.Security.Cryptography.Native/Interop.Ssl.csRefactored certificate chain retrieval with a private helper
src/installer/tests/HostActivation.Tests/SymbolicLinks.csAdded new tests to validate symbolic link behavior under various conditions
src/coreclr/vm/method.cppImproved return kind parsing and added safety around IL version retrieval
src/coreclr/jit/morphblock.cppUpdated assertion cleanup when skipping dead fields
src/coreclr/jit/gentree.cppChanged loop iteration to use a dynamic count instead of a fixed constant
src/coreclr/jit/gcencode.cppAdjusted the handling of struct return kinds based on ABI on Unix
src/coreclr/jit/codegenxarch.cppCorrected return register size expectations in call instructions
src/coreclr/gc/gc.cppAdded a guard check to prevent infinite loops due to GC holes
global.json, eng/Versions.props, eng/Version.Details.xml, NuGet.config, .config/dotnet-tools.jsonUpdated dependency and tool versions for the 9.0 release

@jozkee

Copy link
Copy Markdown
MemberAuthor

Failing test: System.Net.Security.Tests.SslStreamRemoteExecutorTests.SslKeyLogFile_IsCreatedAndFilled is #116473.
I believe the fix should be backported to 9.0-staging @rokonec@ManickaP@rzikm.

BrzVladand others added 3 commits June 10, 2025 12:50
* [mono][interp] Add possibility to configure interp options from env var
* [mono][interp] Update var definition when inserting new instructions during cprop (dotnet#116179)
The definition was not updated, leading to invalid optimizations later on.
* [mono][interp] Fix broken code attempting to reapply superinstruction optimization (dotnet#116069)
For each instruction in a basic block we check for patterns. In a certain case, once we replaced the instruction with a new one, we were attempting to do a loop reiteration by setting `ins = ins->prev` so after the loop reincrements with `ins = ins->next` we check super instruction patterns again for the current instruction. This is broken if `ins` was the first instruction in a basic block, aka `ins->prev` is NULL. This used to be impossible before SSA optimizations, since super instruction pass was applying optimizations in a single basic block only.
…ld 20250516.2 (dotnet#115677)
Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Data.Common.TestData , System.Drawing.Common.TestData , System.Formats.Tar.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Text.RegularExpressions.TestData , System.Windows.Extensions.TestData
From Version 9.0.0-beta.25211.3 -> To Version 9.0.0-beta.25266.2
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: David Cantú <dacantu@microsoft.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
… CI runs (dotnet#116460)
* Disable the UTFStringConversionFailures test on CI runs as our Helix machines can't handle the load from allocating 2 2GB strings and the OOM killer was killing the process.
* Rename test as well
---------
Co-authored-by: Jeremy Koritzinsky <jekoritz@microsoft.com>
Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>

@ericstjericstj left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change looks good - your call on builds

@jozkee

Copy link
Copy Markdown
MemberAuthor

/ba-g failures on extra platforms have historically been ignored, got #116459 (comment) again, the rest are known issues.

@jozkee
jozkee merged commit 15af865 into dotnet:release/9.0Jun 11, 2025
@jozkee
jozkee deleted the release/9.0-staging branch June 11, 2025 03:26
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jul 11, 2025
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

NO-SQUASHThe PR should not be squashedServicing-approvedApproved for servicing release

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants

@jozkee@ericstj@thaystg@lewing@jakobbotsch@filipnavara@BrzVlad