Repository navigation
[ci-scan] Test failure: System.Net.Http.Functional.Tests.CompressedContentTest.BrotliZstd_SerializeToStream_WithCompressionLevel_RoundTrips (zstd OOM on x86) #130948
Description
Activity
- addedblocking-clean-ciBlocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms'Known Build ErrorUse this to report build issues in the .NET Helix tabUse this to report build issues in the .NET Helix tab
on Jul 17, 2026 - addeduntriagedNew issue has not been triaged by the area ownerNew issue has not been triaged by the area owner
on Jul 17, 2026 dotnet-policy-service commented
on Jul 17, 2026 ContributorMore actionsTagging subscribers to this area: @karelz, @dotnet/area-system-io-compression
See info in area-owners.md if you want to be subscribed.- removeduntriagedNew issue has not been triaged by the area ownerNew issue has not been triaged by the area owner
on Jul 17, 2026 github-actions commented
on Jul 17, 2026 on Jul 17, 2026 – with GitHub ActionsContributorMore actionsCaution
agentic threat detected
Threat detection flagged this output in warn mode. Manual review is REQUIRED before any follow-up automation.Workflow artifact: ci-fix
Artifact kind: handoff
Linked KBE: #130948Note
AI/Copilot-generated root-cause hand-off (
ci-failure-fix). No automated code change was produced: removing this failure would require either a public-API/behavioral decision about howCompressionLevel.SmallestSizemaps to zstd on 32-bit, or muting the test on x86 (not allowed here). Looping in owners to fix forward.Root cause (read-only analysis)
On the 32-bit (
windows x86) leg,CompressedContentTest.BrotliZstd_SerializeToStream_WithCompressionLevel_RoundTrips(encoding: "zstd")throwsOutOfMemoryExceptionfrom the native Zstandard encoder:System.OutOfMemoryException : Insufficient memory to continue the execution of the program. at System.IO.Compression.ZstandardUtils.Throw(ZSTD_error error) at System.IO.Compression.ZstandardEncoder.CompressCore(...)The test compresses with
CompressionLevel.SmallestSize. InZstandardUtils.GetQualityFromCompressionLevel(src/libraries/System.IO.Compression/src/System/IO/Compression/Zstandard/ZstandardUtils.cs),CompressionLevel.SmallestSizemaps toQuality_Max— zstd compression level 22. The public docs onZstandardCompressionOptions.Qualityalready warn that "Values 20-22 require more memory and should be used with caution." At level 22 the encoder allocates a very large window plus working buffers (well beyond the input size), which exceeds the ~2 GB user address space available to a 32-bit process, soZSTD_compressStream2returns a memory-allocation error that surfaces asOutOfMemoryException.Because the memory demand is driven by the compression level (window log), not the 4 KB payload, shrinking the test input would not help. This is a streaming (
ZstandardStream) path with no pledged source size, so the window cannot be auto-bounded to the input length the way a one-shot compress could.Why no in-bounds automated fix:
- Capping/clamping the
SmallestSize-> level-22 mapping (e.g. boundingwindowLogon 32-bit, or mappingSmallestSizeto a less memory-hungry level) is a public-behavior/design decision for the compression owners, outside small-fix bounds. - Skipping the test on x86 would mute coverage, which this workflow must not do.
Evidence
- Failing leg:
Libraries Test Run release coreclr windows x86 Release—System.Net.Http.Functional.Tests.CompressedContentTest.BrotliZstd_SerializeToStream_WithCompressionLevel_RoundTrips(per the KBEBuild error leg or test failing:line). Reproduced across all three Helix retries. - Failing build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1513558 (verified: completed/failed).
- Mapping site:
ZstandardUtils.GetQualityFromCompressionLevel(CompressionLevel.SmallestSize => Quality_Max). - No high-confidence regressing commit identified; this is a latent 32-bit memory limit for level-22 zstd rather than a recent regression.
Suggested reviewers / area contacts
- Area owners (
area-System.IO.Compression):@karelz,@dotnet/area-system-io-compression
A fix would likely bound the zstd window log (or the effective level) for the
SmallestSizemapping on 32-bit processes, or otherwise make level 20-22 degrade gracefully under a constrained address space.Generated by CI Outer-Loop Failure Fixer · 340.6 AIC · ⊞ 18.2K · ◷
- Capping/clamping the
- locked and limited conversation to collaborators
on Aug 20, 2026
Build Information
Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1513558
Build error leg or test failing: Libraries Test Run release coreclr windows x86 Release - System.Net.Http.Functional.Tests.CompressedContentTest.BrotliZstd_SerializeToStream_WithCompressionLevel_RoundTrips
Pull request: #130816
Error Details
On 32-bit (x86), the zstd round-trip compression test throws
OutOfMemoryExceptionfrom the native Zstandard encoder under memory pressure. Reproduced across all three Helix retries of the work item.Console log: https://helixr1107v0xdcypoyl9e7f.blob.core.windows.net/dotnet-runtime-refs-pull-130816-merge-652dacff842f4867b0/System.Net.Http.Functional.Tests/1/console.ba7ba570.log?helixlogtype=result
Error Message
{ "ErrorMessage": [ "System.Net.Http.Functional.Tests.CompressedContentTest.BrotliZstd_SerializeToStream_WithCompressionLevel_RoundTrips(encoding: \"zstd\") [FAIL]", "System.OutOfMemoryException : Insufficient memory to continue the execution of the program." ], "ErrorPattern": "", "BuildRetry": false, "ExcludeConsoleLog": false }Note
This issue draft was prepared with GitHub Copilot assistance and reviewed by the submitting developer.
Known issue validation
Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1513558
Error message validated:
[System.Net.Http.Functional.Tests.CompressedContentTest.BrotliZstd_SerializeToStream_WithCompressionLevel_RoundTrips(encoding: "zstd") [FAIL] System.OutOfMemoryException : Insufficient memory to continue the execution of the program.]Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 7/17/2026 2:38:25 AM UTC
Report
Summary