While investigating
6454444: SEGV on solaris-i586 running ConcurrentQueueLoops
it was determined that the various failure modes of that test
were introduced at different times, which strongly suggests this
test is catching two independent bugs.
This CR is to track the NPE generated when running regtest
test/java/util/concurrent/ConcurrentLinkedQueue/ConcurrentQueueLoops.java
and the hang seen occasionally since b93 as well.
The failures are never seen with -client.
How to reproduce:
(mb29450@bonsai) test/java/util/concurrent/ConcurrentLinkedQueue $ repeat 1000 time jver 6-b93 java ConcurrentQueueLoops
...
Warmup...
Threads: 1 :java.lang.NullPointerException
at java.util.concurrent.ConcurrentLinkedQueue.poll(ConcurrentLinkedQueue.java:220)
at ConcurrentQueueLoops$Stage.call(ConcurrentQueueLoops.java:62)
at ConcurrentQueueLoops$Stage.call(ConcurrentQueueLoops.java:44)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Exception in thread "main" java.util.concurrent.ExecutionException: java.lang.Error: Call loop failed
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
at java.util.concurrent.FutureTask.get(FutureTask.java:83)
at ConcurrentQueueLoops.oneRun(ConcurrentQueueLoops.java:105)
at ConcurrentQueueLoops.main(ConcurrentQueueLoops.java:39)
Caused by: java.lang.Error: Call loop failed
at ConcurrentQueueLoops$Stage.call(ConcurrentQueueLoops.java:85)
at ConcurrentQueueLoops$Stage.call(ConcurrentQueueLoops.java:44)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)