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 serviceability-dev
mailing list