[release/9.0] Merge release/9.0-staging changes#118764
Conversation
….0-staging [automated] Merge branch 'release/9.0' => 'release/9.0-staging'
…#117761) * Fix BuildChainCustomTrustStore * Allow partial chains * Try using the extra store * Fix typo * Allow untrusted root --------- Co-authored-by: Kevin Jones <kevin@vcsjones.com>
* Update dependencies from https://github.com/dotnet/arcade build 20250716.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.25325.4 -> To Version 9.0.0-beta.25366.1 * Fix NuGet feed --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Tarek Mahmoud Sayed <10833894+tarekgh@users.noreply.github.com>
* Update dependencies from https://github.com/dotnet/xharness build 20250715.5 Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit From Version 9.0.0-prerelease.25360.3 -> To Version 9.0.0-prerelease.25365.5 * Recover the SDK feed in NuGet.config --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Tarek Mahmoud Sayed <10833894+tarekgh@users.noreply.github.com>
* Update dependencies from https://github.com/dotnet/sdk build 20250715.26 Microsoft.SourceBuild.Intermediate.sdk , Microsoft.DotNet.ApiCompat.Task From Version 9.0.109-servicing.25360.24 -> To Version 9.0.109-servicing.25365.26 * Update SDK version is versions.prop --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Tarek Mahmoud Sayed <10833894+tarekgh@users.noreply.github.com>
…20.2 (#117910) Microsoft.SourceBuild.Intermediate.cecil , Microsoft.DotNet.Cecil From Version 0.11.5-alpha.25329.2 -> To Version 0.11.5-alpha.25370.2 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Tarek Mahmoud Sayed <10833894+tarekgh@users.noreply.github.com>
* Update dependencies from https://github.com/dotnet/icu build 20250721.1 Microsoft.NETCore.Runtime.ICU.Transport From Version 9.0.0-rtm.25353.1 -> To Version 9.0.0-rtm.25371.1 * Temporary revert SDK version --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Tarek Mahmoud Sayed <10833894+tarekgh@users.noreply.github.com>
* Update dependencies from https://github.com/dotnet/roslyn build 20250724.20 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset From Version 4.12.0-3.25329.7 -> To Version 4.12.0-3.25374.20 * Update dependencies from https://github.com/dotnet/roslyn build 20250727.4 Microsoft.SourceBuild.Intermediate.roslyn , Microsoft.CodeAnalysis , Microsoft.CodeAnalysis.CSharp , Microsoft.Net.Compilers.Toolset From Version 4.12.0-3.25329.7 -> To Version 4.12.0-3.25377.4 * Return the SDK feed back to the NuGet.Config --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Tarek Mahmoud Sayed <10833894+tarekgh@users.noreply.github.com>
* Update dependencies from https://github.com/dotnet/xharness build 20250725.3 Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Common , Microsoft.DotNet.XHarness.TestRunners.Xunit From Version 9.0.0-prerelease.25365.5 -> To Version 9.0.0-prerelease.25375.3 * Return back the SDK feed to the NuGet.org --------- Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com> Co-authored-by: Tarek Mahmoud Sayed <10833894+tarekgh@users.noreply.github.com>
…protocol on macOS26. (#118212) * Add support for new startup handshake protocol over pipes instead of sempahores. * Remove NonBlocking runtime support. * Renames, logging and simplification. * Improve tracing. * Make open check non blocking. * Fold access into open calls and track ENOENT | ENOACCES * Review feedback. --------- Co-authored-by: lateralusX <lateralusx.github@gmail.com>
…e<UserStruct> (#118328) * add a failing test that was super hard to extract from the repro * more permissive fix: allow any SystemClass to be represented as ClassWithMembersAndTypes in the payload * a fix that allows for only one particular edge case scenario * Revert "a fix that allows for only one particular edge case scenario" This reverts commit 3636ebe. --------- Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
…Zones test on Android (#118455) Co-authored-by: Matous Kozak <matouskozak@seznam.cz>
* Revert "Remove custom allocator." This reverts commit c62bc5b. * Remove zlib custom allocator for linux. * Remove cookie check from windows custom zlib allocator * Remove zeroing of memory in zlib-allocator * Don't use custom allocator on x86 * Refine allocator condition * Update src/native/libs/System.IO.Compression.Native/CMakeLists.txt --------- Co-authored-by: Eric StJohn <ericstj@microsoft.com> Co-authored-by: Jan Kotas <jkotas@microsoft.com>
There was a problem hiding this comment.
Pull Request Overview
This is a release merge PR that brings changes from the 9.0-staging branch into the main release/9.0 branch. The changes include performance improvements to the compression native library, test fixes for timezone and security tests, and dependency version updates.
Key changes:
- Added a custom allocator for zlib on Windows 64-bit to improve performance and reduce heap fragmentation
- Fixed timezone test data for Apple mobile platforms and added test exclusions for Android
- Updated dependency versions across multiple Arcade, Roslyn, and XHarness packages
Reviewed Changes
Copilot reviewed 14 out of 15 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/native/libs/System.IO.Compression.Native/zlib_allocator_win.c | New custom allocator implementation for zlib using dedicated heap on Windows |
| src/native/libs/System.IO.Compression.Native/zlib_allocator.h | Header file declaring custom allocation functions |
| src/native/libs/System.IO.Compression.Native/pal_zlib.c | Integration of custom allocator for Windows 64-bit builds |
| src/native/libs/System.IO.Compression.Native/CMakeLists.txt | Build configuration to include custom allocator on Windows non-x86 |
| src/libraries/System.Security.Cryptography/tests/X509Certificates/ChainTests.cs | Test fixes for X509 certificate chain validation |
| src/libraries/System.Runtime/tests/System.Runtime.Tests/System/TimeZoneInfoTests.cs | Platform-specific timezone test data corrections and Android test exclusion |
| src/libraries/System.Formats.Nrbf/tests/EdgeCaseTests.cs | New test for handling user classes stored as system classes |
| src/libraries/System.Formats.Nrbf/src/System/Formats/Nrbf/MemberTypeInfo.cs | Support for System.Nullable as special case |
| src/coreclr/pal/src/thread/process.cpp | Alternative pipe-based runtime event notification for macOS debugging |
| global.json, eng/Versions.props, eng/Version.Details.xml | Dependency version updates for Arcade, Roslyn, and other tooling |
| { | ||
| // multiplication can overflow; go through safeint | ||
| if (FAILED(SIZETMult(items, size, &cbRequested))) { return NULL; } | ||
| } |
There was a problem hiding this comment.
The overflow check logic is incorrect. The condition sizeof(items) + sizeof(size) <= sizeof(cbRequested) doesn't actually check if the multiplication items * size can overflow. This should check if the total bit width of the operands is less than the result type, but the current logic is flawed. Consider using a proper overflow detection method or always use the safe multiplication path.
| } | |
| if (FAILED(SIZETMult(items, size, &cbRequested))) { return NULL; } |
| if (FAILED(SIZETMult(items, size, &cbRequested))) { return NULL; } | ||
| } | ||
|
|
||
| return HeapAlloc(GetZlibHeap(), 0, cbRequested); |
There was a problem hiding this comment.
The function is named z_custom_calloc but only performs allocation without zero-initialization. The calloc function should zero-initialize the allocated memory. Use HEAP_ZERO_MEMORY flag in HeapAlloc to ensure proper zero-initialization.
| return HeapAlloc(GetZlibHeap(), 0, cbRequested); | |
| return HeapAlloc(GetZlibHeap(), HEAP_ZERO_MEMORY, cbRequested); |
|
|
|
/ba-g the baseservices-exceptions is tracked in dotnet/dnceng#5990. |
copilot will generate