-
Bug
-
Resolution: Fixed
-
P3
-
8-shenandoah, 11.0.9, 15, 16
-
b15
-
aarch64
-
linux
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8272896 | 11.0.13 | Aleksey Shipilev | P3 | Resolved | Fixed | b04 |
The #2 configuration (-XX:ShenandoahGCMode=iu) fails occasionally on some AArch64 machines when run with -XX:TieredStopAtLevel=1.
Looks like ShenandoahBarrierSetAssembler::storeval_barrier() needs to save more registers (all the call clobbered ones).
java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot assign field "prev" because "node" is null
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
at TestVerifyJCStress.main(TestVerifyJCStress.java:109)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.NullPointerException: Cannot assign field "prev" because "node" is null
at java.base/java.util.concurrent.locks.StampedLock.acquireWrite(StampedLock.java:1221)
at java.base/java.util.concurrent.locks.StampedLock.writeLockInterruptibly(StampedLock.java:536)
at TestVerifyJCStress$Test.WLI_Us(TestVerifyJCStress.java:133)
at TestVerifyJCStress.lambda$main$2(TestVerifyJCStress.java:104)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
... 1 moreJavaTest Message: Test threw exception: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot assign field "prev" because "node" is null
Looks like ShenandoahBarrierSetAssembler::storeval_barrier() needs to save more registers (all the call clobbered ones).
java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot assign field "prev" because "node" is null
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
at TestVerifyJCStress.main(TestVerifyJCStress.java:109)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: java.lang.NullPointerException: Cannot assign field "prev" because "node" is null
at java.base/java.util.concurrent.locks.StampedLock.acquireWrite(StampedLock.java:1221)
at java.base/java.util.concurrent.locks.StampedLock.writeLockInterruptibly(StampedLock.java:536)
at TestVerifyJCStress$Test.WLI_Us(TestVerifyJCStress.java:133)
at TestVerifyJCStress.lambda$main$2(TestVerifyJCStress.java:104)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
... 1 moreJavaTest Message: Test threw exception: java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot assign field "prev" because "node" is null
- backported by
-
JDK-8272896 AArch64: gc/shenandoah/TestVerifyJCStress.java fails intermittently with C1
- Resolved
- relates to
-
JDK-8241765 Shenandoah: AARCH64 need to save/restore call clobbered registers before calling keepalive barrier
- Resolved
- links to
-
Commit openjdk/jdk11u-dev/4a2cd36a
-
Commit openjdk/jdk/4fb1980f
-
Review openjdk/jdk11u-dev/260
-
Review openjdk/jdk/68
(1 links to)