RFR: 8142437: SafepointTest.java is occasionally failing in JPRT

Coleen Phillimore coleen.phillimore at oracle.com
Wed Nov 11 21:42:15 UTC 2015


_at_poll_safepoint 1/0 is part of the message that comes out whether the 
thread is at the poll safepoint or not.

[0.272s][debug  ][safepoint] Thread: 0x00002b953c257000  [0x4674] State: _running _has_called_back 0 _at_poll_safepoint 0
[0.272s][debug  ][safepoint]    JavaThread state: _thread_new
[0.272s][debug  ][safepoint] Thread: 0x00002b953c234000  [0x4672] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0
[0.272s][debug  ][safepoint]    JavaThread state: _thread_blocked
[0.272s][debug  ][safepoint] Thread: 0x00002b953c21b800  [0x4671] State: _at_safepoint _has_called_back 0 _at_poll_safepoint 0

I think that output is okay to check.

Coleen

On 11/11/15 4:37 PM, David Holmes wrote:
> Hi Rachel,
>
> On 12/11/2015 6:24 AM, Rachel Protacio wrote:
>> As it turned out, there continued to be problems with how JPRT was
>> running the tests.
>
> Nothing to do with JPRT! :)
>
>> I have deleted a bit more of the test, again not
>> compromising its testing of the logging but allowing it to pass in
>> inconsistent environments. Updated webrev:
>> http://cr.openjdk.java.net/~rprotacio/8142437.01/
>
> This removed condition:
>
> -         output.shouldContain(" thread(s) to block");
>
> is an inherently racy one. Whether the safepoint has to wait for 
> "threads to block" depends on exactly what all the threads were doing 
> at the time.
>
> Now that you have removed the busy-spinning thread, this is also suspect:
>
>  output.shouldContain("_at_poll_safepoint");
>
> as there is no guarantee it will hit the safepoint because of a 
> safepoint page poll. (Actually it is probably not guaranteed even with 
> the spinning thread as we don't know when compilation will kick in.)
>
> David
> -----
>
>> Thanks,
>> Rachel
>>
>> On 11/10/2015 8:45 PM, David Holmes wrote:
>>> Looks good to me too! (Not sure if you already pushed as trivial fix 
>>> :))
>>>
>>> Thanks,
>>> David
>>>
>>> On 11/11/2015 7:10 AM, Rachel Protacio wrote:
>>>> Hello,
>>>>
>>>> Please see this small fix, which removes the flaky code. We know the
>>>> safepoint logging system works - this is a compilation timing issue 
>>>> - so
>>>> this change does not damage the integrity of the test. I also improved
>>>> the class name and some comments.
>>>>
>>>> Summary: A method compilation causing a specific log message to print,
>>>> is not always being compiled. The log message is not central to 
>>>> testing
>>>> the safepoint logging functionality, so it should be removed.
>>>> Open webrev: http://cr.openjdk.java.net/~rprotacio/8142437/
>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8142437
>>>>
>>>> Thank you,
>>>> Rachel
>>



More information about the hotspot-runtime-dev mailing list