Hi,
since I have bumped up the LDAP API version to 2.1.1, the tests are
blocking on DirectoryServiceAnnotationTest when ran with Java 8.
It's passing with Java 11.
Here is the thread dump I get (see further down), it seems to block on
surfire trying to read some stream. The surefire plugin in use is
2.0.0-M7 instead of 2.0.0-M5.
I'm investigating.
2022-08-10 06:16:01
Full thread dump OpenJDK 64-Bit Server VM (25.312-b07 mixed mode):
"fork-1-err-thread" #509 daemon prio=5 os_prio=31
tid=0x00007ff29e08a000 nid=0x9253 runnable [0x0000700005edd000]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:255)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
- locked <0x00000006c51b5c58> (a
java.lang.UNIXProcess$ProcessPipeInputStream)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
- locked <0x00000006c51c8078> (a java.io.BufferedInputStream)
at
org.apache.maven.surefire.api.util.internal.Channels$3.readImpl(Channels.java:214)
at
org.apache.maven.surefire.api.util.internal.AbstractNoninterruptibleReadableChannel.read(AbstractNoninterruptibleReadableChannel.java:54)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:274)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
- locked <0x00000006c561f6f8> (a sun.nio.cs.StreamDecoder)
at java.io.Reader.read(Reader.java:100)
at java.util.Scanner.readInput(Scanner.java:804)
at java.util.Scanner.findWithinHorizon(Scanner.java:1685)
at java.util.Scanner.hasNextLine(Scanner.java:1500)
at
org.apache.maven.surefire.extensions.util.LineConsumerThread.run(LineConsumerThread.java:67)
"fork-1-event-thread" #508 daemon prio=5 os_prio=31
tid=0x00007ff29e089000 nid=0x715b runnable [0x0000700005dda000]
java.lang.Thread.State: RUNNABLE
at java.io.FileInputStream.readBytes(Native Method)
at java.io.FileInputStream.read(FileInputStream.java:255)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:284)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
- locked <0x00000006c51b3b98> (a
java.lang.UNIXProcess$ProcessPipeInputStream)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
- locked <0x00000006c51b8028> (a java.io.BufferedInputStream)
at
org.apache.maven.surefire.api.util.internal.Channels$3.readImpl(Channels.java:214)
at
org.apache.maven.surefire.api.util.internal.AbstractNoninterruptibleReadableChannel.read(AbstractNoninterruptibleReadableChannel.java:54)
at
org.apache.maven.plugin.surefire.extensions.EventConsumerThread.read(EventConsumerThread.java:223)
at
org.apache.maven.plugin.surefire.extensions.EventConsumerThread.decode(EventConsumerThread.java:150)
at
org.apache.maven.plugin.surefire.extensions.EventConsumerThread.run(EventConsumerThread.java:113)
"std-in-fork-1" #507 daemon prio=5 os_prio=31 tid=0x00007ff27e672000
nid=0x6e13 waiting on condition [0x0000700005cd7000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006c503d6b8> (a
java.util.concurrent.Semaphore$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
at java.util.concurrent.Semaphore.acquire(Semaphore.java:312)
at
org.apache.maven.plugin.surefire.booterclient.lazytestprovider.TestLessInputStream.awaitNextCommand(TestLessInputStream.java:164)
at
org.apache.maven.plugin.surefire.booterclient.lazytestprovider.TestLessInputStream.beforeNextCommand(TestLessInputStream.java:136)
at
org.apache.maven.plugin.surefire.booterclient.lazytestprovider.DefaultCommandReader.readNextCommand(DefaultCommandReader.java:81)
at
org.apache.maven.plugin.surefire.extensions.StreamFeeder.run(StreamFeeder.java:86)
"ThreadedStreamConsumer" #505 daemon prio=5 os_prio=31
tid=0x00007ff28bacd800 nid=0x6a37 waiting on condition
[0x0000700005bd4000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006c519f448> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at
java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:403)
at
org.apache.maven.plugin.surefire.booterclient.output.ThreadedStreamConsumer$Pumper.run(ThreadedStreamConsumer.java:86)
at java.lang.Thread.run(Thread.java:748)
"ping-timer-10s" #503 daemon prio=5 os_prio=31 tid=0x00007ff27e671000
nid=0x75b3 waiting on condition [0x00007000055c2000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006c50388f0> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
at
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
at
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
at
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
"timeout-check-timer" #501 daemon prio=5 os_prio=31
tid=0x00007ff2ceabf800 nid=0x5d63 waiting on condition
[0x00007000052b9000]
java.lang.Thread.State: TIMED_WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006c503ce08> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
at
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
at
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
at
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
"process reaper" #35 daemon prio=10 os_prio=31 tid=0x00007ff2ee79e800
nid=0x7203 runnable [0x0000700004231000]
java.lang.Thread.State: RUNNABLE
at java.lang.UNIXProcess.waitForProcessExit(Native Method)
at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:289)
at java.lang.UNIXProcess$$Lambda$334/1241181543.run(Unknown Source)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
"resolver-5" #29 daemon prio=5 os_prio=31 tid=0x00007ff288d97000
nid=0x6c03 waiting on condition [0x0000700005ad1000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006f4d7b468> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
"resolver-4" #28 daemon prio=5 os_prio=31 tid=0x00007ff288d96800
nid=0x6b03 waiting on condition [0x00007000059ce000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006f4d7b468> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
"resolver-3" #17 daemon prio=5 os_prio=31 tid=0x00007ff2e885a800
nid=0x3b0b waiting on condition [0x0000700004ead000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006f4d7b468> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
"resolver-2" #15 daemon prio=5 os_prio=31 tid=0x00007ff288649000
nid=0x5e03 waiting on condition [0x0000700004daa000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006f4d7b468> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
"resolver-1" #13 daemon prio=5 os_prio=31 tid=0x00007ff2cf114800
nid=0xa003 waiting on condition [0x0000700004ba4000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006f4d7b468> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
"Service Thread" #10 daemon prio=9 os_prio=31 tid=0x00007ff310016000
nid=0xa403 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C1 CompilerThread3" #9 daemon prio=9 os_prio=31
tid=0x00007ff30f03e000 nid=0xa603 waiting on condition
[0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread2" #8 daemon prio=9 os_prio=31
tid=0x00007ff30f03d000 nid=0xa803 waiting on condition
[0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" #7 daemon prio=9 os_prio=31
tid=0x00007ff30f02f800 nid=0x5a03 waiting on condition
[0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" #6 daemon prio=9 os_prio=31
tid=0x00007ff30f048800 nid=0x5803 waiting on condition
[0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" #5 daemon prio=9 os_prio=31 tid=0x00007ff30e06d000
nid=0x5603 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Surrogate Locker Thread (Concurrent GC)" #4 daemon prio=9 os_prio=31
tid=0x00007ff30e06c000 nid=0x3f03 waiting on condition
[0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" #3 daemon prio=8 os_prio=31 tid=0x00007ff30f028000
nid=0x4503 in Object.wait() [0x0000700004183000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
- locked <0x00000006f41c4068> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:165)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:216)
"Reference Handler" #2 daemon prio=10 os_prio=31
tid=0x00007ff30f025000 nid=0x3803 in Object.wait() [0x0000700004080000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
- locked <0x00000006f46c5710> (a java.lang.ref.Reference$Lock)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)
"main" #1 prio=5 os_prio=31 tid=0x00007ff30e00f000 nid=0x1d03 in
Object.wait() [0x000070000304f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at java.lang.UNIXProcess.waitFor(UNIXProcess.java:395)
- locked <0x00000006c51b18d8> (a java.lang.UNIXProcess)
at
org.apache.maven.surefire.extensions.util.CommandlineExecutor.awaitExit(CommandlineExecutor.java:90)
at
org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:654)
at
org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:305)
at
org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:265)
at
org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1314)
at
org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1159)
at
org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:932)
at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:957)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:289)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
"VM Thread" os_prio=31 tid=0x00007ff30f01e800 nid=0x3703 runnable
"Gang worker#0 (Parallel GC Threads)" os_prio=31
tid=0x00007ff30e014800 nid=0x2207 runnable
"Gang worker#1 (Parallel GC Threads)" os_prio=31
tid=0x00007ff30e020000 nid=0x2a03 runnable
"Gang worker#2 (Parallel GC Threads)" os_prio=31
tid=0x00007ff30e020800 nid=0x5303 runnable
"Gang worker#3 (Parallel GC Threads)" os_prio=31
tid=0x00007ff30e021800 nid=0x5103 runnable
"Gang worker#4 (Parallel GC Threads)" os_prio=31
tid=0x00007ff30e022000 nid=0x4f03 runnable
"Gang worker#5 (Parallel GC Threads)" os_prio=31
tid=0x00007ff310008800 nid=0x4e03 runnable
"Gang worker#6 (Parallel GC Threads)" os_prio=31
tid=0x00007ff310808800 nid=0x2d03 runnable
"Gang worker#7 (Parallel GC Threads)" os_prio=31
tid=0x00007ff310809000 nid=0x4c03 runnable
"Gang worker#8 (Parallel GC Threads)" os_prio=31
tid=0x00007ff31080a000 nid=0x2f03 runnable
"Gang worker#9 (Parallel GC Threads)" os_prio=31
tid=0x00007ff31080a800 nid=0x3103 runnable
"Concurrent Mark-Sweep GC Thread" os_prio=31 tid=0x00007ff310009000
nid=0x4803 runnable
"Gang worker#0 (Parallel CMS Threads)" os_prio=31
tid=0x00007ff30e023000 nid=0x3303 runnable
"Gang worker#1 (Parallel CMS Threads)" os_prio=31
tid=0x00007ff30e023800 nid=0x3403 runnable
"Gang worker#2 (Parallel CMS Threads)" os_prio=31
tid=0x00007ff30e024800 nid=0x4a03 runnable
"VM Periodic Task Thread" os_prio=31 tid=0x00007ff30f02c000 nid=0xa203
waiting on condition
JNI global references: 827
Heap
par new generation total 157248K, used 130825K
[0x00000006c0000000, 0x00000006caaa0000, 0x00000006f4000000)
eden space 139776K, 81% used [0x00000006c0000000,
0x00000006c6eb2780, 0x00000006c8880000)
from space 17472K, 100% used [0x00000006c9990000,
0x00000006caaa0000, 0x00000006caaa0000)
to space 17472K, 0% used [0x00000006c8880000,
0x00000006c8880000, 0x00000006c9990000)
concurrent mark-sweep generation total 349568K, used 185199K
[0x00000006f4000000, 0x0000000709560000, 0x00000007c0000000)
Metaspace used 68880K, capacity 72190K, committed 74640K,
reserved 1116160K
class space used 7775K, capacity 8552K, committed 8848K,
reserved 1048576K