RFR 8087315: SIGBUS error in nsk/jvmti/RedefineClasses/StressRedefine

Daniel D. Daugherty daniel.daugherty at oracle.com
Thu Jul 23 00:57:58 UTC 2015


On 7/22/15 11:22 AM, Coleen Phillimore wrote:
> Summary: Need to get source_file_name from the_class's constant pool 
> not previous version constant pool
>
> open webrev at http://cr.openjdk.java.net/~coleenp/8087315.01/

src/share/vm/classfile/javaClasses.cpp
     So in the new code, you avoid the use of holder->source_file_name()
     (where holder has been reset to a previous version ik) to fetch the
     Symbol because you can't trust that the source file name CP index
     saved in the previous version ik will work with that ik's constant
     pool. Interesting problem with previous versions...

     So you added a helper that grabs the source file name CP index out
     of the previous version ik and sanity checks it before using it
     with the merged CP.

     And you had to do this in two places so yet another reason for
     the helper...

     Sorry for verbiage... I had to remind myself how this stuff works...

test/runtime/RedefineTests/RedefineRunningMethodsWithBacktrace.java
     Nice test.

     So what does the output look like when the test is
     run without your fix? Something like what is in the
     bug report?

Thumbs up.

Dan




> bug link https://bugs.openjdk.java.net/browse/JDK-8087315
>
> Tested with added test (yay!), RBT (remote build and test), 
> vm.redefine.testlist, jdk/test/java/lang/instrument and failing 
> testcase 1000 times (reproduced <400).
>
> Thanks,
> Coleen



More information about the hotspot-runtime-dev mailing list