RFR 8153629: Need to cover JVMTI's GetOwnedMonitorStackDepthInfo function
Chris Plummer
chris.plummer at oracle.com
Wed Jan 17 19:29:51 UTC 2018
Hi Daniil,
Have you run with -Xcomp. I'm concerned that inlining will cause the
test to fail because stack depths will not be as expected. Also, if you
find the owned monitor, but the depth is not as expected, I think you
are better off printing an error message right away rather than the
somewhat misleading "FAIL: invalid number of %s monitors" message later on.
thanks,
Chris
On 1/16/18 6:31 PM, Daniil Titov wrote:
> Hello,
>
> Please review an updated fix that makes the test more extensive and includes suggested changes.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8153629
> Webrev: http://cr.openjdk.java.net/~dtitov/8153629/webrev.02/
>
> Thank you!
>
> Best regards,
> Daniil
>
> On 1/12/18, 2:26 PM, "serguei.spitsyn at oracle.com" <serguei.spitsyn at oracle.com> wrote:
>
> Hi Daniil,
>
> It is pretty good in general.
> Thank you for taking care about it!
>
> Some comments though.
>
> The test case is too trivial.
> I'd suggest to extend it to have at least a couple of locks in the
> returned array.
> One way to do it would be to add a instance synchronized method and
> invoke it from the synchronized statement of the tested Thread.
> Then the verifyOwnedMonitors() can be invoked from this method.
>
> A couple of comments on the native agent.
>
> 72 // JNI_OnLoad has not been called yet, so can't possibly be an instance of TEST_CLASS.
>
> Could you, please, rewrite this comment?
> Maybe just tell that there probably was an error in loading the TEST_CLASS.
> What about moving the FindClass(env, TEST_CLASS) to the
> verifyOwnedMonitors() function?
> It will make the testClass variable local.
>
> 200 fprintf(stderr, "VerifyOwnedMonitors: FAIL: stackDepthInfo[0].stack_depth should be 1.\n");
>
> 207 fprintf(stderr, "VerifyOwnedMonitors: FAIL: monitorCount should be 1.\n");
>
>
> It'd better to rephrase the messages above to tell about actual values
> vs expected.
> It normally simplifies the analysis of failures as there is no need to find
> what values were printed before and that they are exactly what needed
> for comparison.
>
> Thanks,
> Serguei
>
>
>
> On 1/11/18 17:45, Daniil Titov wrote:
> > Hello,
> >
> > Please review the following fix that adds a jtreg test for GetOwnedMonitorStackDepthInfo JVMTI function.
> >
> > Bug: https://bugs.openjdk.java.net/browse/JDK-8153629
> > Webrev: http://cr.openjdk.java.net/~dtitov/8153629/webrev.00
> >
> >
> > The tests ran successfully with Mach5.
> >
> > Best regards,
> > Daniil
> >
> >
>
>
>
>
>
>
More information about the serviceability-dev
mailing list