RFR(S) 8161225: Assert failure in JVMTI GetNamedModule at JPLISAgent.c line: 792

Chris Plummer chris.plummer at oracle.com
Wed Sep 21 06:00:25 UTC 2016


On 9/20/16 10:48 PM, David Holmes wrote:
> Hi Chris,
>
> On 21/09/2016 3:07 PM, Chris Plummer wrote:
>> Hello,
>>
>> Please help review the following:
>>
>> https://bugs.openjdk.java.net/browse/JDK-8161225
>> http://cr.openjdk.java.net/~cjplummer/8161225/webrev.00/
>
> Looks fine. Only comment:
>
> test/java/lang/instrument/DaemonThread/TestDaemonThreadLauncher.java
>
> Rather than:
>
> assertTrue(analyzer.getExitValue() == 0);
>
> I would expect to see:
>
> analyzer.shouldHaveExitValue(0);
That works. I'll change it.

Thanks!

Chris
>
> Unless of course the JDK test library OutputAnalyzer doesn't have that.
>
> Thanks,
> David
>
>> The main fix is in JPLISAgent.c, which is to no longer call
>> jplis_assert_msg() when there is a PHASE error, and also remove the test
>> from ProblemList.txt.
>>
>> I also fixed a problem with the test. It was not checking if the
>> subprocess had failed to terminate properly. The result was if the
>> sub-process crashed, then the test would pass. I noticed this when I
>> temporarily forced an assert when there was a PHASE error, and suddenly
>> the test was always passing, yet there was an hs_err.log file.
>>
>> Lastly, I made a slight improvement to the trace output when there is a
>> PHASE error, so now the PHASE number is included in the trace output. So
>> the trace output now looks like the following when the test triggers the
>> PHASE error (this is without the fix being made to the test):
>>
>>     [0.376s][trace][jvmti] [-] GetNamedModule JVMTI_ERROR_WRONG_PHASE(8)
>>
>> Tested by running the test 5 times on each supported platform, and also
>> ran nsk.jvmti and jck/vm/jvmti.
>>
>> thanks,
>>
>> Chris




More information about the hotspot-runtime-dev mailing list