[ http://issues.apache.org/jira/browse/DIRMINA-195?page=comments#action_12447115 ] Jay Erb commented on DIRMINA-195: ---------------------------------
Ok, I think the issue I'm seeing is actually issue 79 - number of threads in thread pool becomes 0. I'll see if we can upgrade to 0.7.4. > Deadlock in ADS > --------------- > > Key: DIRMINA-195 > URL: http://issues.apache.org/jira/browse/DIRMINA-195 > Project: Directory MINA > Issue Type: Bug > Affects Versions: 0.9.2 > Reporter: Emmanuel Lecharny > Priority: Blocker > > Hi all Mina's gurus, > we have a deadlock situation in ADS when launching tests with more than one > client thread. Here is the thread dump I get : > "IoThreadPool-11" prio=1 tid=0x08b11278 nid=0x1d12 in Object.wait() > [0xb06a5000..0xb06a5e30] > at java.lang.Object.wait(Native Method) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.waitForPromotion(ThreadPoolFilter.java:493) > - locked <0x7e5e7a70> (a java.lang.Object) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:366) > "IoThreadPool-10" prio=1 tid=0x08b0f330 nid=0x1d11 in Object.wait() > [0xb0727000..0xb07271b0] > at java.lang.Object.wait(Native Method) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.waitForPromotion(ThreadPoolFilter.java:493) > - locked <0x7e5019a8> (a java.lang.Object) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:366) > "IoThreadPool-9" prio=1 tid=0x08b0e450 nid=0x1d10 in Object.wait() > [0xb07a7000..0xb07a8130] > at java.lang.Object.wait(Native Method) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.waitForPromotion(ThreadPoolFilter.java:493) > - locked <0x7e4b4ea0> (a java.lang.Object) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:366) > "IoThreadPool-8" prio=1 tid=0x08a63d18 nid=0x1d0f in Object.wait() > [0xb0828000..0xb08290b0] > at java.lang.Object.wait(Native Method) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.waitForPromotion(ThreadPoolFilter.java:493) > - locked <0x7e41b558> (a java.lang.Object) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:366) > "IoThreadPool-7" prio=1 tid=0x08a61c98 nid=0x1d0a in Object.wait() > [0xb08a9000..0xb08aa030] > at java.lang.Object.wait(Native Method) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.waitForPromotion(ThreadPoolFilter.java:493) > - locked <0x7e2e5c28> (a java.lang.Object) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:366) > "IoThreadPool-6" prio=1 tid=0x08a5ebb0 nid=0x1d07 in Object.wait() > [0xb092a000..0xb092afb0] > at java.lang.Object.wait(Native Method) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.waitForPromotion(ThreadPoolFilter.java:493) > - locked <0x7e24bf60> (a java.lang.Object) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:366) > "IoThreadPool-5" prio=1 tid=0x08b02dc0 nid=0x1d05 in Object.wait() > [0xb09ab000..0xb09abf30] > at java.lang.Object.wait(Native Method) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.waitForPromotion(ThreadPoolFilter.java:493) > - locked <0x7e1b2b28> (a java.lang.Object) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:366) > "IoThreadPool-4" prio=1 tid=0x08b03bd0 nid=0x1d03 in Object.wait() > [0xb0a2c000..0xb0a2ceb0] > at java.lang.Object.wait(Native Method) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.waitForPromotion(ThreadPoolFilter.java:493) > - locked <0x7e1649f0> (a java.lang.Object) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:366) > "IoThreadPool-3" prio=1 tid=0x08e33ab8 nid=0x3b75 in Object.wait() > [0xb0aad000..0xb0aae030] > at java.lang.Object.wait(Native Method) > at java.lang.Object.wait(Object.java:474) > at > org.apache.mina.util.BlockingQueue.waitForNewItem(BlockingQueue.java:55) > - locked <0x7de638f0> (a org.apache.mina.util.BlockingQueue) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.fetchBuffer(ThreadPoolFilter.java:394) > - locked <0x7de638f0> (a org.apache.mina.util.BlockingQueue) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:369) > "IoThreadPool-2" prio=1 tid=0x08b02270 nid=0x1cf1 in Object.wait() > [0xb0bb0000..0xb0bb01b0] > at java.lang.Object.wait(Native Method) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.waitForPromotion(ThreadPoolFilter.java:493) > - locked <0x7e116bf8> (a java.lang.Object) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:366) > "IoThreadPool-1" prio=1 tid=0x08b037a8 nid=0x1d01 in Object.wait() > [0xb0b2e000..0xb0b2ee30] > at java.lang.Object.wait(Native Method) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.waitForPromotion(ThreadPoolFilter.java:493) > - locked <0x7e119190> (a java.lang.Object) > at > org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:366) > "SocketIoProcessor-0" prio=1 tid=0x08f21b50 nid=0x3b35 runnable > [0xb0c30000..0xb0c30eb0] > at sun.nio.ch.PollArrayWrapper.poll0(Native Method) > at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100) > at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56) > at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69) > - locked <0x7e0f3ac0> (a sun.nio.ch.Util$1) > - locked <0x7e0f3ad0> (a java.util.Collections$UnmodifiableSet) > - locked <0x7e0f3a70> (a sun.nio.ch.PollSelectorImpl) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80) > at > org.apache.mina.transport.socket.nio.support.SocketIoProcessor$Worker.run(SocketIoProcessor.java:621) > "DestroyJavaVM" prio=1 tid=0x08a108a0 nid=0x3b13 waiting on condition > [0x00000000..0xbfe4d680] > "SynchWorkerThread" prio=1 tid=0x08f25d20 nid=0x3b24 in Object.wait() > [0xb0cb1000..0xb0cb2030] > at java.lang.Object.wait(Native Method) > - waiting on <0x7ddfa820> (a java.lang.Object) > at org.apache.directory.server.Service$SynchWorker.run(Service.java:155) > - locked <0x7ddfa820> (a java.lang.Object) > at java.lang.Thread.run(Thread.java:595) > "SocketAcceptor-0" prio=1 tid=0x08f1b8e8 nid=0x3b23 runnable > [0xb0d32000..0xb0d32fb0] > at sun.nio.ch.PollArrayWrapper.poll0(Native Method) > at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100) > at sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56) > at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69) > - locked <0x7e093b50> (a sun.nio.ch.Util$1) > - locked <0x7e099140> (a java.util.Collections$UnmodifiableSet) > - locked <0x7e0963a0> (a sun.nio.ch.PollSelectorImpl) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80) > at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84) > at > org.apache.mina.transport.socket.nio.support.SocketAcceptorDelegate$Worker.run(SocketAcceptorDelegate.java:326) > "Low Memory Detector" daemon prio=1 tid=0x08a57370 nid=0x3b1e runnable > [0x00000000..0x00000000] > "CompilerThread0" daemon prio=1 tid=0x08a55e10 nid=0x3b1d waiting on > condition [0x00000000..0xb20cb818] > "Signal Dispatcher" daemon prio=1 tid=0x08a54e38 nid=0x3b1c runnable > [0x00000000..0x00000000] > "Finalizer" daemon prio=1 tid=0x08a4f348 nid=0x3b1a in Object.wait() > [0xb23cd000..0xb23ce130] > at java.lang.Object.wait(Native Method) > - waiting on <0x7ddca718> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116) > - locked <0x7ddca718> (a java.lang.ref.ReferenceQueue$Lock) > at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132) > at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) > "Reference Handler" daemon prio=1 tid=0x08a4d4b8 nid=0x3b19 in Object.wait() > [0xb244e000..0xb244f0b0] > at java.lang.Object.wait(Native Method) > - waiting on <0x7ddca798> (a java.lang.ref.Reference$Lock) > at java.lang.Object.wait(Object.java:474) > at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) > - locked <0x7ddca798> (a java.lang.ref.Reference$Lock) > "VM Thread" prio=1 tid=0x08a4a968 nid=0x3b18 runnable > "VM Periodic Task Thread" prio=1 tid=0x08a58810 nid=0x3b1f waiting on > condition > And here is a jstack trace too : > Thread 15221: (state = BLOCKED) > - java.lang.Object.wait(long) @bci=0 (Compiled frame; information may be > imprecise) > - java.lang.Object.wait() @bci=2, line=474 (Compiled frame) > - org.apache.mina.filter.ThreadPoolFilter$Worker.fetchBuffer() @bci=23, > line=394 (Compiled frame) > - org.apache.mina.filter.ThreadPoolFilter$Worker.run() @bci=11, line=369 > (Compiled frame) > Thread 15157: (state = IN_NATIVE) > - sun.nio.ch.PollArrayWrapper.poll0(long, int, long) @bci=0 (Compiled frame; > information may be imprecise) > - sun.nio.ch.PollArrayWrapper.poll(int, int, long) @bci=13, line=100 > (Compiled frame) > - sun.nio.ch.SelectorImpl.lockAndDoSelect(long) @bci=37, line=69 (Compiled > frame) > - sun.nio.ch.SelectorImpl.select(long) @bci=30, line=80 (Compiled frame) > Thread 15123: (state = BLOCKED) > Thread 15140: (state = BLOCKED) > - java.lang.Object.wait(long) @bci=0 (Interpreted frame) > - org.apache.directory.server.Service$SynchWorker.run() @bci=17, line=155 > (Interpreted frame) > - java.lang.Thread.run() @bci=11, line=595 (Interpreted frame) > Thread 15139: (state = IN_NATIVE) > - sun.nio.ch.PollArrayWrapper.poll0(long, int, long) @bci=0 (Compiled frame; > information may be imprecise) > - sun.nio.ch.PollArrayWrapper.poll(int, int, long) @bci=13, line=100 > (Compiled frame) > - sun.nio.ch.SelectorImpl.lockAndDoSelect(long) @bci=37, line=69 (Compiled > frame) > - sun.nio.ch.SelectorImpl.select(long) @bci=30, line=80 (Compiled frame) > - sun.nio.ch.SelectorImpl.select() @bci=2, line=84 (Interpreted frame) > - > org.apache.mina.transport.socket.nio.support.SocketAcceptorDelegate$Worker.run() > @bci=7, line=326 (Interpreted frame) > Thread 15132: (state = BLOCKED) > Thread 15130: (state = BLOCKED) > - java.lang.Object.wait(long) @bci=0 (Interpreted frame) > - java.lang.ref.ReferenceQueue.remove(long) @bci=44, line=116 (Interpreted > frame) > - java.lang.ref.ReferenceQueue.remove() @bci=2, line=132 (Interpreted frame) > - java.lang.ref.Finalizer$FinalizerThread.run() @bci=3, line=159 > (Interpreted frame) > Thread 15129: (state = BLOCKED) > - java.lang.Object.wait(long) @bci=0 (Interpreted frame) > - java.lang.Object.wait() @bci=2, line=474 (Interpreted frame) > - java.lang.ref.Reference$ReferenceHandler.run() @bci=46, line=116 > (Interpreted frame) > I don't know if the problem is related to DIRMINA-169. Any clue ? -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira
