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.
Thanks!
Coleen
>
> 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