RFR: JDK-8147447: [TESTBUG] serviceability/tmtools/jstack/WaitNotifyThreadTest.java test fails

Alexander Kulyakhtin alexander.kulyakhtin at oracle.com
Fri Jan 22 10:28:12 UTC 2016


Hi Staffan, 

Following your suggestion below, I'm going to restrict the possible options for the test to -Xmixed only and verify that either of the two patterns is present in the jstack output.

I'm going to submit a review after testing with all the options combinations.

Best regards,
Alexander

----- Original Message -----
From: staffan.larsen at oracle.com
To: alexander.kulyakhtin at oracle.com
Cc: daniel.daugherty at oracle.com, serviceability-dev at openjdk.java.net
Sent: Thursday, January 21, 2016 7:35:46 PM GMT +03:00 Iraq
Subject: Re: RFR: JDK-8147447: [TESTBUG] serviceability/tmtools/jstack/WaitNotifyThreadTest.java test fails


> On 21 jan. 2016, at 16:52, Alexander Kulyakhtin <alexander.kulyakhtin at oracle.com> wrote:
> 
> Dan,
> 
> Thank you very much for your help.
> 
> I'm then going to modify the test accordingly. 
> In the -Xmixed mode the test will try to match the jstack output to both the frames patterns and will succeed if either of them matches.
> In the -Xint and -Xcomp mode the test will match to the corresponding pattern as you have indicated
> 
> In case the test is executed with several of those three options specified together on the command line, the test will presume the option specified last takes precedence.

I think it would be fine to always assume -Xmixed mode and succeed if any of the frames matches. It would make the code simpler and easier to maintain.

/Staffan

> 
> Please, let me know if I'm missing something.
> 
> Best regards,
> Alexandr
> 
> ----- Original Message -----
> From: daniel.daugherty at oracle.com
> To: staffan.larsen at oracle.com, alexander.kulyakhtin at oracle.com
> Cc: serviceability-dev at openjdk.java.net
> Sent: Thursday, January 21, 2016 6:35:47 PM GMT +03:00 Iraq
> Subject: Re: RFR: JDK-8147447: [TESTBUG] serviceability/tmtools/jstack/WaitNotifyThreadTest.java test fails
> 
> On 1/21/16 8:11 AM, Staffan Larsen wrote:
>>> On 21 jan. 2016, at 15:33, Alexander Kulyakhtin <alexander.kulyakhtin at oracle.com> wrote:
>>> 
>>> Staffan,
>>> 
>>> Would it be sufficient to modify the code so that isCompMode() returns true if and only if the -Xcomp option is present and is not followed by the -Xmixed option?
>> Maybe, but that looks fragile. What if there is another option that implicitly enables compile mode?
> 
> Even if the VM is in -Xmixed mode, code could get compiled and
> the stack trace output would show the compiled frame version
> and not the interpreted frame version. So:
> 
> -Xint mode   - the compiled frame version will not be seen
> -Xmixed mode - both versions may be seen depending on compile
>                thresholds and other factors
> -Xcomp mode  - the compiled frame version will be seen
> 
> Dan
> 
> 
>> 
>>> Best regards,
>>> Alexander
>>> 
>>> ----- Original Message -----
>>> From: staffan.larsen at oracle.com
>>> To: alexander.kulyakhtin at oracle.com
>>> Cc: serviceability-dev at openjdk.java.net
>>> Sent: Thursday, January 21, 2016 5:20:14 PM GMT +03:00 Iraq
>>> Subject: Re: RFR: JDK-8147447: [TESTBUG] serviceability/tmtools/jstack/WaitNotifyThreadTest.java test fails
>>> 
>>> isCompMode() will fail if the VM is started with both -Xcomp and -Xmixed.
>>> 
>>> We need to find a better way to check if compiled mode is being used. Perhaps System.getProperty("java.vm.info").contains("compiled”) ?
>>> 
>>> /Staffan
>>> 
>>>> On 19 jan. 2016, at 11:59, Alexander Kulyakhtin <alexander.kulyakhtin at oracle.com> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>> Could you, please, review this minor test-only change
>>>> 
>>>> CR: https://bugs.openjdk.java.net/browse/JDK-8147447 "[TESTBUG] serviceability/tmtools/jstack/WaitNotifyThreadTest.java test fails"
>>>> Webrev: http://cr.openjdk.java.net/~akulyakh/8147447/index.html
>>>> 
>>>> The test WaitNotifyThreadTest.java tries expects to find in the jstack output the string similar to:
>>>> 'waiting on <0x000000008f64e6d0> (a java.lang.Object)'
>>>> However, with the -Xcomp option turned on there is no object reference available and the same strings look like:
>>>> 'waiting on <no object reference available>'
>>>> This causes the false failures of the test when executed with the -Xcomp option.
>>>> 
>>>> We are modifying the test so it takes into account the possible difference between the jstack outputs.
>>>> 
>>>> The same issue has been present in the legacy test from which this test has been ported, so it is not a new and not a regression issue.
>>>> 
>>>> Best regards,
>>>> Alexander
> 



More information about the serviceability-dev mailing list