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