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