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

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Thu Jul 23 12:30:36 UTC 2015


The fix is good.
Nice test!

A couple of places with indent 2:

   78         static void localSleep() {
   79           try{
   80             Thread.currentThread().sleep(10);//sleep for 10 ms
   81           } catch(InterruptedException ie) {
   82           }
   83         }

  119         for (int i = 0; i < stackTrace.length; i++) {
  120           StackTraceElement frame = stackTrace[i];
  121           if (frame.getClassName() == null) {
  122               System.out.println("\nTest failed: trace[" + i + "].getClassName() returned null");
  123           }
  124           if (frame.getMethodName() == null) {
  125               System.out.println("\nTest failed: trace[" + i + "].getMethodName() returned null");
  126           }
  127         }

Thank you a lot for fixing this issue!

Thanks,
Serguei



On 7/23/15 4:57 AM, serguei.spitsyn at oracle.com wrote:
> Hi Coleen,
>
>
> On 7/23/15 4:49 AM, Coleen Phillimore wrote:
>>
>> Hi Serguei,
>>
>> On 7/23/15 2:35 AM, serguei.spitsyn at oracle.com wrote:
>>> Coleen,
>>>
>>> The fix looks good in general.
>>> There is one more place where the same may need to be fixed.
>>> It is in the function java_lang_StackTraceElement::create ():
>>> 1911     // Fill in source file name and line number.
>>> 1912     // Use specific ik version as a holder since the mirror might
>>> 1913     // refer to version that is now obsolete and no longer accessible
>>> 1914     // via the previous versions list.
>>> 1915     holder = holder->get_klass_version(version);
>>> 1916     assert(holder != NULL, "sanity check");
>>> 1917     Symbol* source = holder->source_file_name();
>>>
>>
>> I did change both places, I think you're looking at the old 
>> version.   java_lang_StackTraceElement::create() was where the crash was.
>> thanks for getting to this so quickly.
>
> You are right, sorry.
> I've overlooked the second place.
> It is because both fragments look similar.
> It is nice that you have fixed them both!
> Still reviewing the test.
>
> Thanks,
> Serguei
>
>> Coleen
>>
>>
>>> I'm still reviewing the test.
>>>
>>> Thanks,
>>> Serguei
>>>
>>>
>>> On 7/22/15 10: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/
>>>> 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