RFR: 8286182: C2: crash with SIGFPE when executing compiled code
Quan Anh Mai
duke at openjdk.java.net
Wed May 18 00:15:59 UTC 2022
On Tue, 17 May 2022 17:39:51 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:
> Do you have a failing test for this case? We've been seeing a lot of SIGFPE failures lately with Java Fuzzer. I have to walk through them to see if I can find a case that is still failing with this fix. Will get back with the result of this analysis.
Overflow only happens with dividend = MIN_VALUE and divisor = -1 so it would be hard to have a failing test for this case. I will try to come up with one.
> I'm not sure if we should rely on signal catching to fix the cases where a division is wrongly floating above its zero check. I think we should not intentionally leave a graph in a broken state with the intention to fix it later at runtime.
IIUC the graph is broken only because the division raises SIGFPE for invalid inputs. If we chose to ignore the signal instead then we can treat the Div nodes similar to how we treat other nodes such as Add or Sub and let them freely float around.
Thanks.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8726
More information about the hotspot-compiler-dev
mailing list