You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by Emmanuel Lécharny <el...@gmail.com> on 2022/08/10 04:23:24 UTC
Can't build ApacheDS with Java 8
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
--
*Emmanuel Lécharny - CTO* 205 Promenade des Anglais – 06200 NICE
T. +33 (0)4 89 97 36 50
P. +33 (0)6 08 33 32 61
emmanuel.lecharny@busit.com https://www.busit.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@directory.apache.org
For additional commands, e-mail: dev-help@directory.apache.org
Re: Can't build ApacheDS with Java 8, because of LDAP API, was Re: Can't build ApacheDS with Java 8, because of MINA
Posted by Emmanuel Lécharny <el...@gmail.com>.
Side note: in order to be able to generate the LDAP API site, the
maven-site-plugin version must be changed to 3.12.0 instead of 4.0.0-M5.
I'll change that in the next vesion.
On 10/08/2022 07:46, Emmanuel Lécharny wrote:
> I confirm. If I add the missing profile in LDAP API pom.xml, Apache DS
> builds fine with Java 8.
>
> I will create a new LXDAP API release.
>
>
> On 10/08/2022 07:20, Emmanuel Lécharny wrote:
>> Correction, this is not a MINA issue, as we built it with the proper tag:
>>
>> <!-- use JDK8 compilation for JDK9+ compiler -->
>> <profile>
>> <id>java-8-compilation</id>
>> <activation>
>> <jdk>[9,)</jdk>
>> </activation>
>> <properties>
>> <maven.compiler.release>8</maven.compiler.release>
>> </properties>
>> </profile>
>> ...
>>
>> We don't have such a profile in the LDAP API, and we need to get it
>> fixed...
>>
>> On 10/08/2022 07:11, Emmanuel Lécharny wrote:
>>> Ok, I think I found the reason.
>>>
>>> There were some changes made in the ByteBuffer class in Java 9 (and
>>> forward) which leads to some error in Apache DS code.
>>>
>>> In MINA, I get an exception like:
>>>
>>> java.lang.NoSuchMethodError:
>>> java.nio.ByteBuffer.mark()Ljava/nio/ByteBuffer;
>>>
>>> which is badly handled (basically, it ends in an infinite loop). The
>>> LdapProtocolHandler exceptionCaught method tries to write a
>>> NoticeOfDisconnect to the remote peer, but that does not ends well:
>>> we get an exception that is caught and...
>>>
>>> /**
>>> * {@inheritDoc}
>>> */
>>> @Override
>>> public void exceptionCaught( IoSession session, Throwable cause )
>>> {
>>> if ( cause.getCause() instanceof
>>> ResponseCarryingMessageException )
>>> {
>>> ResponseCarryingMessageException rcme = (
>>> ResponseCarryingMessageException ) cause.getCause();
>>>
>>> if ( rcme.getResponse() != null )
>>> {
>>> session.write( rcme.getResponse() );
>>> return;
>>> }
>>> }
>>>
>>> LOG.warn( "Unexpected exception forcing session to close:
>>> sending disconnect notice to client.", cause );
>>>
>>> session.write( NoticeOfDisconnect.PROTOCOLERROR );
>>> session.closeOnFlush();
>>> //LdapSession ldapSession =
>>> this.ldapServer.getLdapSessionManager().removeLdapSession( session );
>>> //cleanUpSession( ldapSession );
>>> }
>>>
>>> This blog post summarize the root cause:
>>>
>>> https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/
>>>
>>>
>>> This may require a MINA fix to get it working. I will do that.
>>>
>>> On 10/08/2022 06:23, Emmanuel Lécharny wrote:
>>>> 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
>>>>
>>>
>>
>
--
*Emmanuel Lécharny - CTO* 205 Promenade des Anglais – 06200 NICE
T. +33 (0)4 89 97 36 50
P. +33 (0)6 08 33 32 61
emmanuel.lecharny@busit.com https://www.busit.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@directory.apache.org
For additional commands, e-mail: dev-help@directory.apache.org
Can't build ApacheDS with Java 8, because of LDAP API, was Re: Can't build ApacheDS with Java 8, because of MINA
Posted by Emmanuel Lécharny <el...@gmail.com>.
I confirm. If I add the missing profile in LDAP API pom.xml, Apache DS
builds fine with Java 8.
I will create a new LXDAP API release.
On 10/08/2022 07:20, Emmanuel Lécharny wrote:
> Correction, this is not a MINA issue, as we built it with the proper tag:
>
> <!-- use JDK8 compilation for JDK9+ compiler -->
> <profile>
> <id>java-8-compilation</id>
> <activation>
> <jdk>[9,)</jdk>
> </activation>
> <properties>
> <maven.compiler.release>8</maven.compiler.release>
> </properties>
> </profile>
> ...
>
> We don't have such a profile in the LDAP API, and we need to get it
> fixed...
>
> On 10/08/2022 07:11, Emmanuel Lécharny wrote:
>> Ok, I think I found the reason.
>>
>> There were some changes made in the ByteBuffer class in Java 9 (and
>> forward) which leads to some error in Apache DS code.
>>
>> In MINA, I get an exception like:
>>
>> java.lang.NoSuchMethodError:
>> java.nio.ByteBuffer.mark()Ljava/nio/ByteBuffer;
>>
>> which is badly handled (basically, it ends in an infinite loop). The
>> LdapProtocolHandler exceptionCaught method tries to write a
>> NoticeOfDisconnect to the remote peer, but that does not ends well: we
>> get an exception that is caught and...
>>
>> /**
>> * {@inheritDoc}
>> */
>> @Override
>> public void exceptionCaught( IoSession session, Throwable cause )
>> {
>> if ( cause.getCause() instanceof
>> ResponseCarryingMessageException )
>> {
>> ResponseCarryingMessageException rcme = (
>> ResponseCarryingMessageException ) cause.getCause();
>>
>> if ( rcme.getResponse() != null )
>> {
>> session.write( rcme.getResponse() );
>> return;
>> }
>> }
>>
>> LOG.warn( "Unexpected exception forcing session to close:
>> sending disconnect notice to client.", cause );
>>
>> session.write( NoticeOfDisconnect.PROTOCOLERROR );
>> session.closeOnFlush();
>> //LdapSession ldapSession =
>> this.ldapServer.getLdapSessionManager().removeLdapSession( session );
>> //cleanUpSession( ldapSession );
>> }
>>
>> This blog post summarize the root cause:
>>
>> https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/
>>
>>
>> This may require a MINA fix to get it working. I will do that.
>>
>> On 10/08/2022 06:23, Emmanuel Lécharny wrote:
>>> 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
>>>
>>
>
--
*Emmanuel Lécharny - CTO* 205 Promenade des Anglais – 06200 NICE
T. +33 (0)4 89 97 36 50
P. +33 (0)6 08 33 32 61
emmanuel.lecharny@busit.com https://www.busit.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@directory.apache.org
For additional commands, e-mail: dev-help@directory.apache.org
Re: Can't build ApacheDS with Java 8, because of MINA
Posted by Emmanuel Lécharny <el...@gmail.com>.
Correction, this is not a MINA issue, as we built it with the proper tag:
<!-- use JDK8 compilation for JDK9+ compiler -->
<profile>
<id>java-8-compilation</id>
<activation>
<jdk>[9,)</jdk>
</activation>
<properties>
<maven.compiler.release>8</maven.compiler.release>
</properties>
</profile>
...
We don't have such a profile in the LDAP API, and we need to get it fixed...
On 10/08/2022 07:11, Emmanuel Lécharny wrote:
> Ok, I think I found the reason.
>
> There were some changes made in the ByteBuffer class in Java 9 (and
> forward) which leads to some error in Apache DS code.
>
> In MINA, I get an exception like:
>
> java.lang.NoSuchMethodError:
> java.nio.ByteBuffer.mark()Ljava/nio/ByteBuffer;
>
> which is badly handled (basically, it ends in an infinite loop). The
> LdapProtocolHandler exceptionCaught method tries to write a
> NoticeOfDisconnect to the remote peer, but that does not ends well: we
> get an exception that is caught and...
>
> /**
> * {@inheritDoc}
> */
> @Override
> public void exceptionCaught( IoSession session, Throwable cause )
> {
> if ( cause.getCause() instanceof
> ResponseCarryingMessageException )
> {
> ResponseCarryingMessageException rcme = (
> ResponseCarryingMessageException ) cause.getCause();
>
> if ( rcme.getResponse() != null )
> {
> session.write( rcme.getResponse() );
> return;
> }
> }
>
> LOG.warn( "Unexpected exception forcing session to close:
> sending disconnect notice to client.", cause );
>
> session.write( NoticeOfDisconnect.PROTOCOLERROR );
> session.closeOnFlush();
> //LdapSession ldapSession =
> this.ldapServer.getLdapSessionManager().removeLdapSession( session );
> //cleanUpSession( ldapSession );
> }
>
> This blog post summarize the root cause:
>
> https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/
>
> This may require a MINA fix to get it working. I will do that.
>
> On 10/08/2022 06:23, Emmanuel Lécharny wrote:
>> 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
>>
>
--
*Emmanuel Lécharny - CTO* 205 Promenade des Anglais – 06200 NICE
T. +33 (0)4 89 97 36 50
P. +33 (0)6 08 33 32 61
emmanuel.lecharny@busit.com https://www.busit.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@directory.apache.org
For additional commands, e-mail: dev-help@directory.apache.org
Re: Can't build ApacheDS with Java 8, because of MINA
Posted by Emmanuel Lécharny <el...@gmail.com>.
Ok, I think I found the reason.
There were some changes made in the ByteBuffer class in Java 9 (and
forward) which leads to some error in Apache DS code.
In MINA, I get an exception like:
java.lang.NoSuchMethodError: java.nio.ByteBuffer.mark()Ljava/nio/ByteBuffer;
which is badly handled (basically, it ends in an infinite loop). The
LdapProtocolHandler exceptionCaught method tries to write a
NoticeOfDisconnect to the remote peer, but that does not ends well: we
get an exception that is caught and...
/**
* {@inheritDoc}
*/
@Override
public void exceptionCaught( IoSession session, Throwable cause )
{
if ( cause.getCause() instanceof ResponseCarryingMessageException )
{
ResponseCarryingMessageException rcme = (
ResponseCarryingMessageException ) cause.getCause();
if ( rcme.getResponse() != null )
{
session.write( rcme.getResponse() );
return;
}
}
LOG.warn( "Unexpected exception forcing session to close:
sending disconnect notice to client.", cause );
session.write( NoticeOfDisconnect.PROTOCOLERROR );
session.closeOnFlush();
//LdapSession ldapSession =
this.ldapServer.getLdapSessionManager().removeLdapSession( session );
//cleanUpSession( ldapSession );
}
This blog post summarize the root cause:
https://www.morling.dev/blog/bytebuffer-and-the-dreaded-nosuchmethoderror/
This may require a MINA fix to get it working. I will do that.
On 10/08/2022 06:23, Emmanuel Lécharny wrote:
> 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
>
--
*Emmanuel Lécharny - CTO* 205 Promenade des Anglais – 06200 NICE
T. +33 (0)4 89 97 36 50
P. +33 (0)6 08 33 32 61
emmanuel.lecharny@busit.com https://www.busit.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@directory.apache.org
For additional commands, e-mail: dev-help@directory.apache.org