directory-api mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Emmanuel Lécharny <elecha...@gmail.com>
Subject Re: LdapNetworkConnection blocking on close()
Date Fri, 17 Jan 2014 06:53:36 GMT

Here, I wonder if you are not doing a close() on an already closed
connection. Can you check if you have not had an exception ?

That should not block though, it's just to be sure the pb occurs in this
case.


Le 1/17/14 12:50 AM, Frode Randers a écrit :
> This is a forced dump of the stack (Ctrl+Break under Windoze).
> 
>   // Frode
>
> C:\Program Files (x86)\Archive Manager\bin>adminsh
>
> Welcome to the Archive Manager Administration Shell
> adminsh> login
> Username: test
> Password: ****
>
> Full thread dump Java HotSpot(TM) Client VM (24.45-b08 mixed mode,
sharing):
>
> "NioProcessor-2" prio=6 tid=0x050cd400 nid=0x284c in Object.wait()
[0x04fef000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x2493ec78> (a
org.apache.mina.core.service.AbstractIoService$ServiceOperationFuture)
>         at
org.apache.mina.core.future.DefaultIoFuture.await0(DefaultIoFuture.java:189)
>         - locked <0x2493ec78> (a
org.apache.mina.core.service.AbstractIoService$ServiceOperationFuture)
>         at
org.apache.mina.core.future.DefaultIoFuture.awaitUninterruptibly(DefaultIoFuture.java:130)
>         at
org.apache.mina.core.service.AbstractIoService.dispose(AbstractIoService.java:297)
>         at
org.apache.directory.ldap.client.api.LdapNetworkConnection.sessionClosed(LdapNetworkConnection.java:3628)
>         at
org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.sessionClosed(DefaultIoFilterChain.java:662)
>         at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionClosed(DefaultIoFilterChain.java:395)
>         at
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$900(DefaultIoFilterChain.java:46)
>         at
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionClosed(DefaultIoFilterChain.java:778)
>         at
org.apache.mina.filter.codec.ProtocolCodecFilter.sessionClosed(ProtocolCodecFilter.java:345)
>         at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionClosed(DefaultIoFilterChain.java:395)
>         at
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$900(DefaultIoFilterChain.java:46)
>         at
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionClosed(DefaultIoFilterChain.java:778)
>         at
org.apache.mina.core.filterchain.IoFilterAdapter.sessionClosed(IoFilterAdapter.java:95)
>         at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionClosed(DefaultIoFilterChain.java:395)
>         at
org.apache.mina.core.filterchain.DefaultIoFilterChain.fireSessionClosed(DefaultIoFilterChain.java:388)
>         at
org.apache.mina.core.service.IoServiceListenerSupport.fireSessionDestroyed(IoServiceListenerSupport.java:210)
>         at
org.apache.mina.core.polling.AbstractPollingIoProcessor.removeNow(AbstractPollingIoProcessor.java:535)
>         at
org.apache.mina.core.polling.AbstractPollingIoProcessor.removeSessions(AbstractPollingIoProcessor.java:497)
>         at
org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:61)
>         at
org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:974)
>         at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
>         at java.lang.Thread.run(Unknown Source)
>
> "NioSocketConnector-2" prio=6 tid=0x050d0800 nid=0x3710 in
Object.wait() [0x0583f000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x2493a680> (a
org.apache.mina.core.future.DefaultIoFuture)
>         at
org.apache.mina.core.future.DefaultIoFuture.await0(DefaultIoFuture.java:189)
>         - locked <0x2493a680> (a
org.apache.mina.core.future.DefaultIoFuture)
>         at
org.apache.mina.core.future.DefaultIoFuture.awaitUninterruptibly(DefaultIoFuture.java:130)
>         at
org.apache.mina.core.polling.AbstractPollingIoProcessor.dispose(AbstractPollingIoProcessor.java:190)
>         at
org.apache.mina.core.service.SimpleIoProcessorPool.dispose(SimpleIoProcessorPool.java:247)
>         - locked <0x24939e10> (a java.lang.Object)
>         at
org.apache.mina.core.polling.AbstractPollingIoConnector$Connector.run(AbstractPollingIoConnector.java:510)
>         at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
>         at java.lang.Thread.run(Unknown Source)
>
> "NioProcessor-1" prio=6 tid=0x05198c00 nid=0x36f8 runnable [0x045ae000]
>    java.lang.Thread.State: RUNNABLE
>         at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll0(Native Method)
>         at sun.nio.ch.WindowsSelectorImpl$SubSelector.poll(Unknown Source)
>         at
sun.nio.ch.WindowsSelectorImpl$SubSelector.access$400(Unknown Source)
>         at sun.nio.ch.WindowsSelectorImpl.doSelect(Unknown Source)
>         at sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source)
>         - locked <0x29fea418> (a sun.nio.ch.Util$2)
>         - locked <0x29fea408> (a java.util.Collections$UnmodifiableSet)
>         - locked <0x29fe2308> (a sun.nio.ch.WindowsSelectorImpl)
>         at sun.nio.ch.SelectorImpl.select(Unknown Source)
>         at
org.apache.mina.transport.socket.nio.NioProcessor.select(NioProcessor.java:69)
>         at
org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:961)
>         at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
>         at java.lang.Thread.run(Unknown Source)
>
> "FileWatchdog" daemon prio=6 tid=0x050ffc00 nid=0x363c waiting on
condition [0x04def000]
>    java.lang.Thread.State: TIMED_WAITING (sleeping)
>         at java.lang.Thread.sleep(Native Method)
>         at
org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:104)
>
> "NonBlockingInputStreamThread" daemon prio=6 tid=0x0491cc00 nid=0x35f4
in Object.wait() [0x0509f000]
>    java.lang.Thread.State: WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x29c2a9f8> (a
jline.internal.NonBlockingInputStream)
>         at
jline.internal.NonBlockingInputStream.run(NonBlockingInputStream.java:278)
>         - locked <0x29c2a9f8> (a jline.internal.NonBlockingInputStream)
>         at java.lang.Thread.run(Unknown Source)
>
> "Service Thread" daemon prio=6 tid=0x01d97000 nid=0x3ad8 runnable
[0x00000000]
>    java.lang.Thread.State: RUNNABLE
>
> "C1 CompilerThread0" daemon prio=10 tid=0x01d87800 nid=0x34d8 waiting
on condition [0x00000000]
>    java.lang.Thread.State: RUNNABLE
>
> "Attach Listener" daemon prio=10 tid=0x01d86800 nid=0x3aa0 runnable
[0x00000000]
>    java.lang.Thread.State: RUNNABLE
>
> "Signal Dispatcher" daemon prio=10 tid=0x01d1e000 nid=0x393c waiting
on condition [0x00000000]
>    java.lang.Thread.State: RUNNABLE
>
> "Finalizer" daemon prio=8 tid=0x01d1c000 nid=0x3790 in Object.wait()
[0x0436f000]
>    java.lang.Thread.State: WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x29c2ac18> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(Unknown Source)
>         - locked <0x29c2ac18> (a java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(Unknown Source)
>         at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)
>
> "Reference Handler" daemon prio=10 tid=0x01d17000 nid=0x36a0 in
Object.wait() [0x0405f000]
>    java.lang.Thread.State: WAITING (on object monitor)
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x29c2aca0> (a java.lang.ref.Reference$Lock)
>         at java.lang.Object.wait(Object.java:503)
>         at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
>         - locked <0x29c2aca0> (a java.lang.ref.Reference$Lock)
>
> "main" prio=6 tid=0x01cf4400 nid=0x34f8 waiting on condition [0x01e6f000]
>    java.lang.Thread.State: WAITING (parking)
>         at sun.misc.Unsafe.park(Native Method)
>         - parking to wait for  <0x248b3940> (a
java.util.concurrent.locks.ReentrantLock$NonfairSync)
>         at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>         at
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown
Source)
>         at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(Unknown
Source)
>         at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown
Source)
>         at
java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(Unknown Source)
>         at java.util.concurrent.locks.ReentrantLock.lock(Unknown Source)
>         at
org.apache.directory.ldap.client.api.LdapNetworkConnection.close(LdapNetworkConnection.java:674)
>         at
com.visma.am.ldap.LdapAdapter.validateUser(LdapAdapter.java:541)
>         at
com.visma.am.ldap.NativeApplicationDomain.validateUser(NativeApplicationDomain.java:1373)
>         at com.visma.am.adminsh.dms.Login.execute(Login.java:76)
>         at com.visma.am.adminsh.Shell.execute(Shell.java:181)
>         at com.visma.am.adminsh.Shell.acceptCommands(Shell.java:275)
>         at com.visma.am.adminsh.Shell.<init>(Shell.java:102)
>         at com.visma.am.adminsh.Shell.main(Shell.java:297)
>
> "VM Thread" prio=10 tid=0x01d15400 nid=0x36a8 runnable
>
> "VM Periodic Task Thread" prio=10 tid=0x01db1c00 nid=0x3630 waiting on
condition
>
> JNI global references: 261
> Heap
>  def new generation   total 4928K, used 4136K [0x24610000, 0x24b60000,
0x29b60000)
>   eden space 4416K,  82% used [0x24610000, 0x2499a198, 0x24a60000)
>   from space 512K, 100% used [0x24a60000, 0x24ae0000, 0x24ae0000)
>   to   space 512K,   0% used [0x24ae0000, 0x24ae0000, 0x24b60000)
>  tenured generation   total 10944K, used 5284K [0x29b60000,
0x2a610000, 0x34610000)
>    the space 10944K,  48% used [0x29b60000, 0x2a089198, 0x2a089200,
0x2a610000)
>  compacting perm gen  total 12288K, used 4941K [0x34610000,
0x35210000, 0x38610000)
>    the space 12288K,  40% used [0x34610000, 0x34ae34f8, 0x34ae3600,
0x35210000)
>     ro space 10240K,  41% used [0x38610000, 0x38a41a78, 0x38a41c00,
0x39010000)
>     rw space 12288K,  52% used [0x39010000, 0x396562c0, 0x39656400,
0x39c10000)
>


-- 
Regards,
Cordialement,
Emmanuel Lécharny
www.iktek.com


Mime
View raw message