-
Bug
-
Resolution: Fixed
-
P1
-
9
This test has been questioned before (see JDK-6658464) and has again showed that it is unreliable. It seems to be quite unfrequent, but the fact that it can trigger an OOME at other places than what is expected should be taken into account in the test.
From the log:
[2014-12-19T08:26:26.04] Actual stack trace:
[2014-12-19T08:26:26.04] at java.util.Arrays.copyOf(Arrays.java:3211)
[2014-12-19T08:26:26.04] at java.util.Arrays.copyOf(Arrays.java:3181)
[2014-12-19T08:26:26.04] at java.util.ArrayList.grow(ArrayList.java:263)
[2014-12-19T08:26:26.04] at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:237)
[2014-12-19T08:26:26.04] at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:229)
[2014-12-19T08:26:26.04] at java.util.ArrayList.add(ArrayList.java:460)
[2014-12-19T08:26:26.04] at vm.oom.production.OOMProductionTraceTest.createOOM(OOMProductionTraceTest.java:18)
[2014-12-19T08:26:26.04] at vm.oom.OOMTraceTest.run1(OOMTraceTest.java:77)
[2014-12-19T08:26:26.04] at vm.oom.OOMTraceTest.run(OOMTraceTest.java:99)
[2014-12-19T08:26:26.04] at nsk.share.test.Tests$TestRunner.execute(Tests.java:63)
[2014-12-19T08:26:26.04] at nsk.share.test.Tests$TestRunner.run(Tests.java:77)
[2014-12-19T08:26:26.04] at nsk.share.gc.GC.runTest(GC.java:95)
[2014-12-19T08:26:26.04] at vm.oom.production.OOMProductionTraceTest.main(OOMProductionTraceTest.java:41)
[2014-12-19T08:26:26.04] Expected part of stack trace:
[2014-12-19T08:26:26.04] at ?.create(?:0)
[2014-12-19T08:26:26.05] at ?.createOOM(?:0)
[2014-12-19T08:26:26.05] at vm.oom.OOMTraceTest.run1(?:0)
[2014-12-19T08:26:26.05] at vm.oom.OOMTraceTest.run(?:0)
[2014-12-19T08:26:26.05] Found first expected element at index 4
[2014-12-19T08:26:26.05] nsk.share.TestFailure: Expected element at index 5 to match: at ?.create(?:0)
[2014-12-19T08:26:26.05] at vm.share.stack.StackUtils.checkMatches(StackUtils.java:73)
[2014-12-19T08:26:26.05] at vm.oom.OOMTraceTest.checkExpectedTraceElements(OOMTraceTest.java:40)
[2014-12-19T08:26:26.05] at vm.oom.OOMTraceTest.checkOOM(OOMTraceTest.java:63)
[2014-12-19T08:26:26.05] at vm.oom.OOMTraceTest.run1(OOMTraceTest.java:88)
[2014-12-19T08:26:26.05] at vm.oom.OOMTraceTest.run(OOMTraceTest.java:99)
[2014-12-19T08:26:26.05] at nsk.share.test.Tests$TestRunner.execute(Tests.java:63)
[2014-12-19T08:26:26.05] at nsk.share.test.Tests$TestRunner.run(Tests.java:77)
[2014-12-19T08:26:26.05] at nsk.share.gc.GC.runTest(GC.java:95)
[2014-12-19T08:26:26.05] at vm.oom.production.OOMProductionTraceTest.main(OOMProductionTraceTest.java:41)
[2014-12-19T08:26:26.05] Exception in thread "main" nsk.share.TestFailure: Test exit code: 97
[2014-12-19T08:26:26.05] at nsk.share.test.Tests$TestRunner.execute(Tests.java:71)
[2014-12-19T08:26:26.05] at nsk.share.test.Tests$TestRunner.run(Tests.java:77)
[2014-12-19T08:26:26.05] at nsk.share.gc.GC.runTest(GC.java:95)
[2014-12-19T08:26:26.05] at vm.oom.production.OOMProductionTraceTest.main(OOMProductionTraceTest.java:41)
It's almost correct, but allocations happens in places where the test doesn't expect it and will therefore fail intermittently.
From the log:
[2014-12-19T08:26:26.04] Actual stack trace:
[2014-12-19T08:26:26.04] at java.util.Arrays.copyOf(Arrays.java:3211)
[2014-12-19T08:26:26.04] at java.util.Arrays.copyOf(Arrays.java:3181)
[2014-12-19T08:26:26.04] at java.util.ArrayList.grow(ArrayList.java:263)
[2014-12-19T08:26:26.04] at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:237)
[2014-12-19T08:26:26.04] at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:229)
[2014-12-19T08:26:26.04] at java.util.ArrayList.add(ArrayList.java:460)
[2014-12-19T08:26:26.04] at vm.oom.production.OOMProductionTraceTest.createOOM(OOMProductionTraceTest.java:18)
[2014-12-19T08:26:26.04] at vm.oom.OOMTraceTest.run1(OOMTraceTest.java:77)
[2014-12-19T08:26:26.04] at vm.oom.OOMTraceTest.run(OOMTraceTest.java:99)
[2014-12-19T08:26:26.04] at nsk.share.test.Tests$TestRunner.execute(Tests.java:63)
[2014-12-19T08:26:26.04] at nsk.share.test.Tests$TestRunner.run(Tests.java:77)
[2014-12-19T08:26:26.04] at nsk.share.gc.GC.runTest(GC.java:95)
[2014-12-19T08:26:26.04] at vm.oom.production.OOMProductionTraceTest.main(OOMProductionTraceTest.java:41)
[2014-12-19T08:26:26.04] Expected part of stack trace:
[2014-12-19T08:26:26.04] at ?.create(?:0)
[2014-12-19T08:26:26.05] at ?.createOOM(?:0)
[2014-12-19T08:26:26.05] at vm.oom.OOMTraceTest.run1(?:0)
[2014-12-19T08:26:26.05] at vm.oom.OOMTraceTest.run(?:0)
[2014-12-19T08:26:26.05] Found first expected element at index 4
[2014-12-19T08:26:26.05] nsk.share.TestFailure: Expected element at index 5 to match: at ?.create(?:0)
[2014-12-19T08:26:26.05] at vm.share.stack.StackUtils.checkMatches(StackUtils.java:73)
[2014-12-19T08:26:26.05] at vm.oom.OOMTraceTest.checkExpectedTraceElements(OOMTraceTest.java:40)
[2014-12-19T08:26:26.05] at vm.oom.OOMTraceTest.checkOOM(OOMTraceTest.java:63)
[2014-12-19T08:26:26.05] at vm.oom.OOMTraceTest.run1(OOMTraceTest.java:88)
[2014-12-19T08:26:26.05] at vm.oom.OOMTraceTest.run(OOMTraceTest.java:99)
[2014-12-19T08:26:26.05] at nsk.share.test.Tests$TestRunner.execute(Tests.java:63)
[2014-12-19T08:26:26.05] at nsk.share.test.Tests$TestRunner.run(Tests.java:77)
[2014-12-19T08:26:26.05] at nsk.share.gc.GC.runTest(GC.java:95)
[2014-12-19T08:26:26.05] at vm.oom.production.OOMProductionTraceTest.main(OOMProductionTraceTest.java:41)
[2014-12-19T08:26:26.05] Exception in thread "main" nsk.share.TestFailure: Test exit code: 97
[2014-12-19T08:26:26.05] at nsk.share.test.Tests$TestRunner.execute(Tests.java:71)
[2014-12-19T08:26:26.05] at nsk.share.test.Tests$TestRunner.run(Tests.java:77)
[2014-12-19T08:26:26.05] at nsk.share.gc.GC.runTest(GC.java:95)
[2014-12-19T08:26:26.05] at vm.oom.production.OOMProductionTraceTest.main(OOMProductionTraceTest.java:41)
It's almost correct, but allocations happens in places where the test doesn't expect it and will therefore fail intermittently.
- relates to
-
JDK-6658464 Stack trace is empty in the second OOME
- Closed