RFR(XS) 8075118: JVM stuck in infinite loop during verification
harold seigel
harold.seigel at oracle.com
Tue Mar 17 18:37:47 UTC 2015
Hi,
Please review this fix for bug JDK-8075118. The code being verified
contained a TRY block whose catch handler was inside the TRY block.
Function ClassVerifier::ends_in_throw() scans the bytecodes in a TRY
block and then scans the bytecodes in the TRY block's handler and then
scans the bytecodes of its handler's handler, etc. Since, the bytecodes
in the handler and the bytecode's handler's handler were the same, it
just kept scanning the same bytecodes over and over.
The fix prevents re-scanning a handler's bytecodes if they are contained
in the TRY block.
Open webrev: http://cr.openjdk.java.net/~hseigel/jdk9_16Mar_8075118/
JBS Bug: https://bugs.openjdk.java.net/browse/JDK-8075118
The fix was tested with the test program provided by the bug, the JCK
Lang, VM, and API tests, the testbase quick and split verifier tests,
and with the JTREG hotspot tests.
Thanks! Harold
More information about the hotspot-runtime-dev
mailing list