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

David Holmes david.holmes at oracle.com
Wed Sep 21 05:48:03 UTC 2016


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);

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