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
The trimmed browser-wasm CoreCLR ReadyToRun library-test lane exposes four generic-math double.Max/double.Min cases where the selected NaN operand's sign/payload is not preserved. The assertion output renders both values as NaN, but the bitwise comparison detects that the result differs from the expected operand.
This resembles #133311, but that issue is explicitly scoped to Mono browser-wasm. This issue tracks the distinct CoreCLR ReadyToRun configuration so its quarantine and re-enable condition are independent.
Reproduction Steps
Run System.Runtime.Tests using browser-wasm CoreCLR with trimmed ReadyToRun images:
The affected member-data rows are the positive/negative NaN payload cases in MaxDouble and MinDouble from src/libraries/Common/tests/System/GenericMathTestMemberData.cs.
Expected behavior
double.Max and double.Min return the selected NaN operand with its sign and payload preserved, matching the generic-math test expectations.
Actual behavior
Four rows fail because the returned NaN has different bits from the expected NaN operand:
MaxDouble: positive NaN with -0.0
MaxDouble: -0.0 with negative NaN
MinDouble: positive NaN with -0.0
MinDouble: -0.0 with negative NaN
Regression?
Unknown. The new full trimmed ReadyToRun library sweep first exposed the behavior.
Known Workarounds
Temporarily omit only these four member-data rows when PlatformDetection.IsWasmReadyToRun is true.
Description
The trimmed browser-wasm CoreCLR ReadyToRun library-test lane exposes four generic-math
double.Max/double.Mincases where the selected NaN operand's sign/payload is not preserved. The assertion output renders both values asNaN, but the bitwise comparison detects that the result differs from the expected operand.This resembles #133311, but that issue is explicitly scoped to Mono browser-wasm. This issue tracks the distinct CoreCLR ReadyToRun configuration so its quarantine and re-enable condition are independent.
Reproduction Steps
Run
System.Runtime.Testsusing browser-wasm CoreCLR with trimmed ReadyToRun images:The affected member-data rows are the positive/negative NaN payload cases in
MaxDoubleandMinDoublefromsrc/libraries/Common/tests/System/GenericMathTestMemberData.cs.Expected behavior
double.Maxanddouble.Minreturn the selected NaN operand with its sign and payload preserved, matching the generic-math test expectations.Actual behavior
Four rows fail because the returned NaN has different bits from the expected NaN operand:
MaxDouble: positive NaN with-0.0MaxDouble:-0.0with negative NaNMinDouble: positive NaN with-0.0MinDouble:-0.0with negative NaNRegression?
Unknown. The new full trimmed ReadyToRun library sweep first exposed the behavior.
Known Workarounds
Temporarily omit only these four member-data rows when
PlatformDetection.IsWasmReadyToRunis true.Configuration
Other information
Related Mono-specific issue: #133311.
Note
This issue was created by GitHub Copilot based on locally reproduced CI evidence.