Request for review: 8001341/8004223: SIGSEGV in methodOopDesc::fast_exception_handler_bci_for(KlassHandle, int, Thread*)+0x3e9

Jiangli Zhou jiangli.zhou at
Mon Jan 7 12:30:27 PST 2013


Please review the fix for 8001341/8004223: SIGSEGV in 

hs24 webrev:
jdk8 webrev:

The SIGSEGV was caused by an unhandled methodOop in 
methodOopDesc::fast_exception_handler_bci_for() and 
JvmtiExport::post_exception_throw(). It's only reproducible on hs24 as 
oops in the perm-gen could be moved by the GC. The bug was not reported 
on jdk8. On jdk8, Method* doesn't move. However the fix is still needed 
on jdk8 since the Method* in JvmtiExport::post_exception_throw() could 
be redefined after the  methodOopDesc::fast_exception_handler_bci_for() 
call. The handle will keep it from being deallocated.

Tested with -XX:+CheckUnhandledOops on solaris (x64) using 
vm.quick.testlist. Tested with jprt.


More information about the hotspot-runtime-dev mailing list