[ 
http://issues.apache.org/jira/browse/DIRMINA-195?page=comments#action_12447122 
] 
            
Trustin Lee commented on DIRMINA-195:
-------------------------------------

Please upgrade to MINA 1.0.  0.7.4 is way too old.

> 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

        

Reply via email to