RFR: (S) 8050464: G1 string deduplication tests hang/timeout and leave running processes consuming all resources

Jon Masamitsu jon.masamitsu at oracle.com
Wed Aug 6 19:56:11 UTC 2014


Dima,

If the test fails, can you print the strings with System.out.println() or
System.err.println()?  Any information about the strings might be
useful to understand why deduplication didn't work or why the
test thinks the deduplication didn't work (in case something
happens that the test doesn't expect)?

Jon

On 8/6/2014 8:53 AM, Dmitry Fazunenko wrote:
> Hi,
>
> Would you please look at the simple fix of String Deduplication tests.
>
> Description:
>
> When string deduplication has happened /s1.equals(s2)/ will be 
> equivalent to /s1 == s2/
> Deduplication is performed in a separate thread so it could be delayed 
> a bit.
> Tests are away about possible delay and give another chance if 
> deduplication hasn't
> happened by the moment of check.
> But tests wait for deduplication in infinitive loop, so if 
> deduplication doesn't work the tests
> will timeout, leaving hanging VM after. Which is not very elegant.
>
> The fix is simple: replace infinitive loops with limited ones and 
> report failure.
> The logic of the tests hasn't changed.
>
> http://cr.openjdk.java.net/~dfazunen/8050464/webrev.01/
> https://bugs.openjdk.java.net/browse/JDK-8050464
>
> Any comments are welcome.
>
> Thanks,
> Dima
>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20140806/aba21605/attachment.html>


More information about the hotspot-gc-dev mailing list