RFR (S) 8181143: Introduce diagnostic flag to abort VM on too long VM operations

David Holmes david.holmes at oracle.com
Wed Dec 12 21:57:10 UTC 2018


On 12/12/2018 11:08 pm, Aleksey Shipilev wrote:
> On 12/12/18 1:28 PM, David Holmes wrote:
>>>     http://cr.openjdk.java.net/~shade/8181143/webrev.04/
>>
>> Okay I can live with that. :)
> 
> Thanks!
> 
>> Three comments:
>>
>> 1. We don't use bug id's to name test directories any more (I see a couple  have snuck in this past
>> year! so please place the test in a suitable directory ... Safepoints?
> 
> Dropped.

The test needs to placed in a different location.

> 
>> 2. -Xmx1g might be an issue on some test systems. Does it have to be that large?
> 
> Yeah, I was trying to make enough objects for Serial to definitely choke up. I think I can trim it
> to 256m, let me run it through jdk-submit.
> 
>> 3. Can you disable core dumping as part of the test so we don't get large core files generated.
> 
> Supplying -XX:-CreateCoredumpOnCrash is going to be enough, right?

Right.

> Did this:
> 
> diff -r e4bf4aa1100c test/hotspot/jtreg/runtime/8181143/TestAbortOnVMOperationTimeout.java
> --- a/test/hotspot/jtreg/runtime/8181143/TestAbortOnVMOperationTimeout.java     Tue Dec 11 22:45:38
> 2018 +0100
> +++ b/test/hotspot/jtreg/runtime/8181143/TestAbortOnVMOperationTimeout.java     Wed Dec 12 13:46:15
> 2018 +0100

Test needs to be in e.g.

test/hotspot/jtreg/runtime/Safepoint/TestAbortOnVMOperationTimeout.java

> @@ -27,5 +27,4 @@
>   /*
>    * @test TestAbortOnVMOperationTimeout
> - * @bug 8181143

This should stay.

>    * @summary Check abort on VM timeout is working
>    * @library /test/lib
> @@ -38,5 +37,5 @@
>       public static void main(String[] args) throws Exception {
>           if (args.length > 0) {
> -            Object[] arr = new Object[40_000_000];
> +            Object[] arr = new Object[10_000_000];
>               for (int i = 0; i < arr.length; i++) {
>                  arr[i] = new Object();
> @@ -51,6 +50,6 @@
>           }
> 
> -        // These should fail: Serial is not very fast. Traversing 40M objects in 5 ms
> -        // means less than 0.125 ns per object, which is not doable.
> +        // These should fail: Serial is not very fast. Traversing 10M objects in 5 ms
> +        // means less than 0.5 ns per object, which is not doable.
>           for (int delay : new int[]{0, 1, 5}) {
>                testWith(delay, false);
> @@ -63,6 +62,7 @@
>                   "-XX:+AbortVMOnVMOperationTimeout",
>                   "-XX:AbortVMOnVMOperationTimeoutDelay=" + delay,
> -                "-Xmx1g",
> +                "-Xmx256m",
>                   "-XX:+UseSerialGC",
> +                "-XX:-CreateCoredumpOnCrash",
>                   "TestAbortOnVMOperationTimeout",
>                   "foo"

Other changes look good.

Thanks,
David

> Full webrev:
>    http://cr.openjdk.java.net/~shade/8181143/webrev.05/
> 
> -Aleksey
> 


More information about the hotspot-dev mailing list