You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Three compression encoder/decoder tests are failing consistently across all mobile platforms (iOS, tvOS, macCatalyst, Android) in the runtime-extra-platforms pipeline:
All three fail with the same assertion error: the encoder's Compress operation returns OperationStatus.DestinationTooSmall instead of OperationStatus.Done when testing with various window log sizes. This suggests that GetMaxCompressedLength() is returning an insufficient buffer size for certain window sizes on mobile platforms, or there is a platform-specific issue in the native compression library (zlib/brotli) integration.
The test code allocates a destination buffer using GetMaxCompressedLength(input.Length) and expects all data to compress in a single Compress call. The failure indicates the buffer is too small despite using the API's recommended size calculation.
This appears to be a product bug rather than a test incompatibility — the encoder API contract is not being honored on mobile platforms. The issue affects all compression formats (Deflate, ZLib, GZip) and all mobile architectures (arm64, x64, arm, x86).
Impact on platforms
Failing on all mobile platforms and architectures tested in build 1399212 (2026-04-28):
First observed (within the scanned window of ~20 builds) in build 1399212, which finished on 2026-04-28T07:31:50Z (commit 2ac6372). Also confirmed in build 1397424 (2026-04-27, commit 395fea5).
Note: This window represents the last ~8 days of builds. The true origin may be earlier if the test or underlying code was added/changed before 2026-04-20.
Occurrences in scanned window: Present in all mobile library test jobs across both builds checked (100% failure rate for these tests on mobile platforms).
Recommended action
Area owner: @dotnet/area-system-io-compression should investigate why GetMaxCompressedLength returns an insufficient buffer size on mobile platforms.
Possible root causes:
Platform-specific difference in zlib's compressBound calculation
Mobile-specific compiler or packing issue affecting struct sizes or buffer calculations
Recent change to the encoder/decoder implementation that broke mobile platform assumptions
Investigation steps:
Run the test locally on a mobile simulator with verbose logging to see which window log value triggers the failure
Compare GetMaxCompressedLength output between desktop and mobile for the same input size
Check if this is related to native zlib version differences on mobile vs desktop
Review recent commits to src/libraries/System.IO.Compression and related native code
Short-term workaround: If the investigation will take time, consider temporarily skipping these three tests on mobile platforms with [ActiveIssue] to unblock the pipeline, but the underlying product bug must be fixed — users relying on these APIs on mobile would hit the same buffer sizing issue.
Note
🔒 Integrity filter blocked 3 items
The following items were blocked because they don't meet the GitHub integrity level.
#125825search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
#56828search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
#29927search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
To allow these resources, lower min-integrity in your GitHub frontmatter:
Reasoning
Three compression encoder/decoder tests are failing consistently across all mobile platforms (iOS, tvOS, macCatalyst, Android) in the runtime-extra-platforms pipeline:
DeflateEncoderDecoderTests.RoundTrip_AllWindowLogsZLibEncoderDecoderTests.RoundTrip_AllWindowLogsGZipEncoderDecoderTests.RoundTrip_AllWindowLogsAll three fail with the same assertion error: the encoder's
Compressoperation returnsOperationStatus.DestinationTooSmallinstead ofOperationStatus.Donewhen testing with various window log sizes. This suggests thatGetMaxCompressedLength()is returning an insufficient buffer size for certain window sizes on mobile platforms, or there is a platform-specific issue in the native compression library (zlib/brotli) integration.The test code allocates a destination buffer using
GetMaxCompressedLength(input.Length)and expects all data to compress in a singleCompresscall. The failure indicates the buffer is too small despite using the API's recommended size calculation.This appears to be a product bug rather than a test incompatibility — the encoder API contract is not being honored on mobile platforms. The issue affects all compression formats (Deflate, ZLib, GZip) and all mobile architectures (arm64, x64, arm, x86).
Impact on platforms
Failing on all mobile platforms and architectures tested in build 1399212 (2026-04-28):
Also confirmed failing in build 1397424 (2026-04-27).
Errors log
From maccatalyst-x64 Helix work item
System.IO.Compression.Tests(console log):First build it occurred
First observed (within the scanned window of ~20 builds) in build 1399212, which finished on 2026-04-28T07:31:50Z (commit 2ac6372). Also confirmed in build 1397424 (2026-04-27, commit 395fea5).
Note: This window represents the last ~8 days of builds. The true origin may be earlier if the test or underlying code was added/changed before 2026-04-20.
Occurrences in scanned window: Present in all mobile library test jobs across both builds checked (100% failure rate for these tests on mobile platforms).
Recommended action
Area owner:
@dotnet/area-system-io-compressionshould investigate whyGetMaxCompressedLengthreturns an insufficient buffer size on mobile platforms.Possible root causes:
compressBoundcalculationInvestigation steps:
GetMaxCompressedLengthoutput between desktop and mobile for the same input sizesrc/libraries/System.IO.Compressionand related native codeShort-term workaround: If the investigation will take time, consider temporarily skipping these three tests on mobile platforms with
[ActiveIssue]to unblock the pipeline, but the underlying product bug must be fixed — users relying on these APIs on mobile would hit the same buffer sizing issue.Note
🔒 Integrity filter blocked 3 items
The following items were blocked because they don't meet the GitHub integrity level.
search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".search_issues: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".To allow these resources, lower
min-integrityin your GitHub frontmatter: