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

Coleen Phillimore coleen.phillimore at oracle.com
Thu Jul 23 01:31:33 UTC 2015

Dan,   Thank you again for the quick code review.

On 7/22/15 8:57 PM, Daniel D. Daugherty wrote:
> 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...

Yes, you are exactly right.   I'm so glad you remember this.   I don't 
know how, but I'm glad you do. :)
> 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?

Yes, it crashes like the bug report.  I was really happy to get a small 
test to reproduce this.

> 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