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 05:46:28 UTC
Can't build ApacheDS with Java 8, because of LDAP API, was Re: Can't build ApacheDS with Java 8, because of MINA
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 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