-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Divergent behavior between regalloc_algorithm={backtracking,single_pass} #9980
Comments
For context: Alex and I briefly discussed this offline and concluded this was not a security issue as |
Additional context: it seems this only reproduces with x86-64; cannot reproduce with aarch64 (also infinitely recurses correctly). Successfully reproduces on macOS/x86-64 (via Rosetta 2), though, in addition to Linux. |
The strange thing is that it seems to be caused by the NaN. If you replace that NaN with any other value (for example -12.345) single-pass recurses infinitely as well. If you look at the disassembly of both variants, nothing is different except that NaN constant in single-pass and fuel with NaN
single-pass and fuel with -12.345 instead of NaN
|
Found via oss-fuzz in https://issues.oss-fuzz.com/issues/387110342 I've minimized this to:
which I can show different behavior with:
That's expected, this infinitely recurses. With
single_pass
though:The text was updated successfully, but these errors were encountered: