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
Mono on browser-wasm does not preserve the selected NaN sign/payload for double.Max and double.Min. The newly added shared generic-math cases from #133173 expose this on both Linux and Windows Chrome legs.
The assertion output renders both values as NaN, but AssertExtensions.Equal performs the required bitwise comparison and detects that the returned NaN differs from the expected operand.
Reproduction Steps
Run System.Runtime.Tests on browser-wasm with Mono and execute these generic-math cases:
The failing inputs were added to shared test data by #133173. That PR fixed a CoreCLR SIMD constant-folding issue but did not change Mono lowering, so this appears to expose a pre-existing Mono correctness gap rather than introduce it.
Known Workarounds
Temporarily quarantine the affected DoubleTests_GenericMath.MaxTest and MinTest theories on Mono browser-wasm using this issue as the ActiveIssue reference.
Configuration
.NET 11 CI build from dotnet/runtime main/PR validation
Mono browser-wasm
Reproduces under headless Chrome on Linux x64 and Windows x64
Four failures out of 77,353 test cases in each affected work item
Other information
Related test expansion: #133173. The implementation should be checked for IEEE 754 minimum/maximum lowering that canonicalizes or otherwise changes a NaN operand rather than preserving its bits.
Error Details is for readers. Paste the full exception, stack trace, or build error excerpt so the failure is understandable without opening the raw log.
Build Analysis parses only the single JSON block under Error Message.
ErrorPattern uses .NET Singleline | IgnoreCase | NonBacktracking matching with a 50ms-per-line timeout.
Keep the regex anchored, prefer [^\n]* over .*, and avoid catastrophic backtracking.
Set BuildRetry to true only for a clear infrastructure retry case. ExcludeConsoleLog disables Helix console-log scanning.
Build: 🔎https://dev.azure.com/dnceng-public/public/_build/results?buildId=1584442 Error message validated:[^[^\n]*\[FAIL\] System\.Tests\.DoubleTests_GenericMath\.(Max|Min)Test\(x: (NaN, y: -0|-0, y: NaN), expectedResult: NaN\)] Result validation: ✅ Known issue matched with the provided build. Validation performed at: 9/5/2026 9:24:25 PM UTC
Build: 🔎https://dev.azure.com/dnceng-public/public/_build/results?buildId=1584442 Error message validated:[^[^\n]*\[FAIL\] System\.Tests\.DoubleTests_GenericMath\.(Max|Min)Test\(x: (NaN, y: -0|-0, y: NaN), expectedResult: NaN\)] Result validation: ✅ Known issue matched with the provided build. Validation performed at: 9/5/2026 9:24:25 PM UTC
Description
Mono on browser-wasm does not preserve the selected NaN sign/payload for
double.Maxanddouble.Min. The newly added shared generic-math cases from #133173 expose this on both Linux and Windows Chrome legs.The assertion output renders both values as
NaN, butAssertExtensions.Equalperforms the required bitwise comparison and detects that the returned NaN differs from the expected operand.Reproduction Steps
Run
System.Runtime.Testson browser-wasm with Mono and execute these generic-math cases:CI evidence from runtime build 1584442:
Expected behavior
double.Maxanddouble.Minreturn the selected NaN operand with its sign and payload preserved, matching the API contract and other runtimes.Actual behavior
All four cases fail bitwise equality on Mono browser-wasm:
Regression?
The failing inputs were added to shared test data by #133173. That PR fixed a CoreCLR SIMD constant-folding issue but did not change Mono lowering, so this appears to expose a pre-existing Mono correctness gap rather than introduce it.
Known Workarounds
Temporarily quarantine the affected
DoubleTests_GenericMath.MaxTestandMinTesttheories on Mono browser-wasm using this issue as theActiveIssuereference.Configuration
Other information
Related test expansion: #133173. The implementation should be checked for IEEE 754
minimum/maximumlowering that canonicalizes or otherwise changes a NaN operand rather than preserving its bits.Build Information
Build: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1584442
Build error leg or test failing: browser-wasm Linux and Windows Release LibraryTests - WasmTestOnChrome-MONO-ST-System.Runtime.Tests
Pull request: #130050
KBE authoring guidance (ci-failure-scan)
Error Detailsis for readers. Paste the full exception, stack trace, or build error excerpt so the failure is understandable without opening the raw log.Error Message.ErrorPatternuses .NETSingleline | IgnoreCase | NonBacktrackingmatching with a 50ms-per-line timeout.[^\n]*over.*, and avoid catastrophic backtracking.BuildRetrytotrueonly for a clear infrastructure retry case.ExcludeConsoleLogdisables Helix console-log scanning.Error Details
Error Message
{ "ErrorMessage": "", "ErrorPattern": "^[^\\n]*\\[FAIL\\] System\\.Tests\\.DoubleTests_GenericMath\\.(Max|Min)Test\\(x: (NaN, y: -0|-0, y: NaN), expectedResult: NaN\\)", "BuildRetry": false, "ExcludeConsoleLog": false }Agentic workflow metadata (ci-failure-scan)
Workflow artifact: ci-failure-scan
Artifact kind: kbe-verification
Verified match count: 8 hits in failure.log
Report
Summary
Known issue validation
Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1584442⚠️ Validation could not be done without an Azure DevOps build URL on the issue. Please add it to the "Build: 🔎" line.
Result validation:
Validation performed at: 9/5/2026 9:16:02 PM UTC
Note
This issue was generated with GitHub Copilot.
Known issue validation
Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1584442
Error message validated:
[^[^\n]*\[FAIL\] System\.Tests\.DoubleTests_GenericMath\.(Max|Min)Test\(x: (NaN, y: -0|-0, y: NaN), expectedResult: NaN\)]Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 9/5/2026 9:24:25 PM UTC
Note
This issue was generated with GitHub Copilot.
Report
Summary
Known issue validation
Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1584442⚠️ Validation could not be done without an Azure DevOps build URL on the issue. Please add it to the "Build: 🔎" line.
Result validation:
Validation performed at: 9/5/2026 9:16:02 PM UTC
Note
This issue was generated with GitHub Copilot.
Known issue validation
Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=1584442
Error message validated:
[^[^\n]*\[FAIL\] System\.Tests\.DoubleTests_GenericMath\.(Max|Min)Test\(x: (NaN, y: -0|-0, y: NaN), expectedResult: NaN\)]Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 9/5/2026 9:24:25 PM UTC
Note
This issue was generated with GitHub Copilot.