I am using mina 1.1.7 and i just want to make the deadlock caused NOT by
mina itself.Thanks.
AnonymousIoService is Acceptor thread?
On Thu, Dec 4, 2008 at 4:36 PM, Emmanuel Lecharny <[EMAIL PROTECTED]>wrote:

> Hi,
>
> this is a very small piece of information you gave us to work on !!! We
> don't know anything about your code, about the MINA version you are using,
> etc ...
>
> The only thing I can see from this TD is that you have 8 thread blocked,
> waiting for some queue to be fed. Those thread are Acceptors waiting for an
> incoming connection, AFAICS.
>
> More information and context could help...
>
>
> Steve Johns wrote:
>
>> Hi the following is the full thread dump, can someone give any idea if
>> mina
>> itself problem or my program problem? Thanks a lot.
>>
>> "AnonymousIoService-8" daemon prio=6 tid=0x16dd9400 nid=0x1608 waiting on
>> condit
>> ion [0x1856f000..0x1856fd18]
>>   java.lang.Thread.State: WAITING (parking)
>>        at sun.misc.Unsafe.park(Native Method)
>>        - parking to wait for  <0x088f69b0> (a
>> java.util.concurrent.locks.Abstra
>> ctQueuedSynchronizer$ConditionObject)
>>        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>>        at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
>> .await(Unknown Source)
>>        at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
>> Source)
>>        at
>> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnabl
>> e.java:51)
>>        at java.lang.Thread.run(Unknown Source)
>>
>> "AnonymousIoService-7" daemon prio=6 tid=0x16dd8400 nid=0xe1c waiting on
>> conditi
>> on [0x1851f000..0x1851fd98]
>>   java.lang.Thread.State: WAITING (parking)
>>        at sun.misc.Unsafe.park(Native Method)
>>        - parking to wait for  <0x088f69b0> (a
>> java.util.concurrent.locks.Abstra
>> ctQueuedSynchronizer$ConditionObject)
>>        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>>        at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
>> .await(Unknown Source)
>>        at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
>> Source)
>>        at
>> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnabl
>> e.java:51)
>>        at java.lang.Thread.run(Unknown Source)
>>
>> "AnonymousIoService-6" daemon prio=6 tid=0x16cb8800 nid=0x650 waiting on
>> conditi
>> on [0x1826f000..0x1826fa18]
>>   java.lang.Thread.State: WAITING (parking)
>>        at sun.misc.Unsafe.park(Native Method)
>>        - parking to wait for  <0x088f69b0> (a
>> java.util.concurrent.locks.Abstra
>> ctQueuedSynchronizer$ConditionObject)
>>        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>>        at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
>> .await(Unknown Source)
>>        at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
>> Source)
>>        at
>> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnabl
>> e.java:51)
>>        at java.lang.Thread.run(Unknown Source)
>>
>> "AnonymousIoService-5" daemon prio=6 tid=0x16cb8400 nid=0x123c waiting on
>> condit
>> ion [0x180df000..0x180dfa98]
>>   java.lang.Thread.State: WAITING (parking)
>>        at sun.misc.Unsafe.park(Native Method)
>>        - parking to wait for  <0x088f69b0> (a
>> java.util.concurrent.locks.Abstra
>> ctQueuedSynchronizer$ConditionObject)
>>        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>>        at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
>> .await(Unknown Source)
>>        at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
>> Source)
>>        at
>> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnabl
>> e.java:51)
>>        at java.lang.Thread.run(Unknown Source)
>>
>> "AnonymousIoService-4" daemon prio=6 tid=0x16f75c00 nid=0x110c waiting on
>> condit
>> ion [0x1808f000..0x1808fb18]
>>   java.lang.Thread.State: WAITING (parking)
>>        at sun.misc.Unsafe.park(Native Method)
>>        - parking to wait for  <0x088f69b0> (a
>> java.util.concurrent.locks.Abstra
>> ctQueuedSynchronizer$ConditionObject)
>>        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>>        at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
>> .await(Unknown Source)
>>        at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
>> Source)
>>        at
>> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnabl
>> e.java:51)
>>        at java.lang.Thread.run(Unknown Source)
>>
>> "AnonymousIoService-3" daemon prio=6 tid=0x16cb7800 nid=0x179c waiting on
>> condit
>> ion [0x184cf000..0x184cfb98]
>>   java.lang.Thread.State: WAITING (parking)
>>        at sun.misc.Unsafe.park(Native Method)
>>        - parking to wait for  <0x088f69b0> (a
>> java.util.concurrent.locks.Abstra
>> ctQueuedSynchronizer$ConditionObject)
>>        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>>        at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
>> .await(Unknown Source)
>>        at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
>> Source)
>>        at
>> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnabl
>> e.java:51)
>>        at java.lang.Thread.run(Unknown Source)
>>
>> "AnonymousIoService-2" daemon prio=6 tid=0x16f13800 nid=0x13cc waiting on
>> condit
>> ion [0x1847f000..0x1847fc18]
>>   java.lang.Thread.State: WAITING (parking)
>>        at sun.misc.Unsafe.park(Native Method)
>>        - parking to wait for  <0x088f69b0> (a
>> java.util.concurrent.locks.Abstra
>> ctQueuedSynchronizer$ConditionObject)
>>        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>>        at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
>> .await(Unknown Source)
>>        at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
>> Source)
>>        at
>> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnabl
>> e.java:51)
>>        at java.lang.Thread.run(Unknown Source)
>>
>> "AnonymousIoService-1" daemon prio=6 tid=0x16f2bc00 nid=0x12ac waiting on
>> condit
>> ion [0x1842f000..0x1842fc98]
>>   java.lang.Thread.State: WAITING (parking)
>>        at sun.misc.Unsafe.park(Native Method)
>>        - parking to wait for  <0x088f69b0> (a
>> java.util.concurrent.locks.Abstra
>> ctQueuedSynchronizer$ConditionObject)
>>        at java.util.concurrent.locks.LockSupport.park(Unknown Source)
>>        at
>> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
>> .await(Unknown Source)
>>        at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
>>        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
>> Source)
>>        at
>> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnabl
>> e.java:51)
>>        at java.lang.Thread.run(Unknown Source)
>>
>> "DestroyJavaVM" prio=6 tid=0x002f5800 nid=0xd38 waiting on condition
>> [0x00000000
>> ..0x0089fd50]
>>   java.lang.Thread.State: RUNNABLE
>>
>> "TimerQueue" daemon prio=6 tid=0x17438c00 nid=0x13bc in Object.wait()
>> [0x1812f00
>> 0..0x1812fd18]
>>   java.lang.Thread.State: WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x08a536b0> (a javax.swing.TimerQueue)
>>        at javax.swing.TimerQueue.run(Unknown Source)
>>        - locked <0x08a536b0> (a javax.swing.TimerQueue)
>>        at java.lang.Thread.run(Unknown Source)
>>
>> "Timer-0" daemon prio=6 tid=0x176ce400 nid=0x1244 in Object.wait()
>> [0x17fdf000..
>> 0x17fdfb18]
>>   java.lang.Thread.State: WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x089b7b30> (a java.util.TaskQueue)
>>        at java.lang.Object.wait(Object.java:485)
>>        at java.util.TimerThread.mainLoop(Unknown Source)
>>        - locked <0x089b7b30> (a java.util.TaskQueue)
>>        at java.util.TimerThread.run(Unknown Source)
>>
>> "H2 Log Writer QUOTEIMAGE" daemon prio=6 tid=0x17657800 nid=0x1318
>> runnable
>> [0x1
>> 7f8f000..0x17f8fb98]
>>   java.lang.Thread.State: RUNNABLE
>>        at java.lang.Thread.sleep(Native Method)
>>        at org.h2.store.WriterThread.run(WriterThread.java:150)
>>
>> "AWT-EventQueue-0" prio=6 tid=0x175a7800 nid=0x132c runnable
>> [0x17c5f000..0x17c5
>> fd18]
>>   java.lang.Thread.State: RUNNABLE
>>        at sun.awt.windows.WDesktopProperties.getWindowsParameters(Native
>> Method
>> )
>>        at sun.awt.windows.WDesktopProperties.diffPropertyChanges(Unknown
>> Source
>> )
>>        - locked <0x08a22d88> (a sun.awt.windows.WDesktopProperties)
>>        at sun.awt.windows.WDesktopProperties.access$100(Unknown Source)
>>        at
>> sun.awt.windows.WDesktopProperties$DiffPropertyChanges.run(Unknown So
>> urce)
>>        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
>>        at java.awt.EventQueue.dispatchEvent(Unknown Source)
>>        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown
>> Source)
>>        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>>        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown
>> Source)
>>        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>>        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>>        at java.awt.EventDispatchThread.run(Unknown Source)
>>
>> "AWT-Windows" daemon prio=6 tid=0x174d8c00 nid=0x1260 runnable
>> [0x17b7f000..0x17
>> b7fd98]
>>   java.lang.Thread.State: RUNNABLE
>>        at sun.awt.windows.WToolkit.eventLoop(Native Method)
>>        at sun.awt.windows.WToolkit.run(Unknown Source)
>>        at java.lang.Thread.run(Unknown Source)
>>
>> "AWT-Shutdown" prio=6 tid=0x174d8400 nid=0xb48 in Object.wait()
>> [0x17b2f000..0x1
>> 7b2fa18]
>>   java.lang.Thread.State: WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x08138600> (a java.lang.Object)
>>        at java.lang.Object.wait(Object.java:485)
>>        at sun.awt.AWTAutoShutdown.run(Unknown Source)
>>        - locked <0x08138600> (a java.lang.Object)
>>        at java.lang.Thread.run(Unknown Source)
>>
>> "Java2D Disposer" daemon prio=10 tid=0x174aa800 nid=0x116c in
>> Object.wait()
>> [0x1
>> 7adf000..0x17adfa98]
>>   java.lang.Thread.State: WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x08975fe8> (a java.lang.ref.ReferenceQueue$Lock)
>>        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
>>        - locked <0x08975fe8> (a java.lang.ref.ReferenceQueue$Lock)
>>        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
>>        at sun.java2d.Disposer.run(Unknown Source)
>>        at java.lang.Thread.run(Unknown Source)
>>
>> "RMI TCP Accept-0" daemon prio=6 tid=0x16e8b400 nid=0x16f0 runnable
>> [0x1738f000.
>> .0x1738fc18]
>>   java.lang.Thread.State: RUNNABLE
>>        at java.util.HashMap.newValueIterator(Unknown Source)
>>        at java.util.HashMap$Values.iterator(Unknown Source)
>>        at sun.rmi.transport.tcp.TCPEndpoint.allKnownTransports(Unknown
>> Source)
>>        - locked <0x0747eec8> (a java.util.HashMap)
>>        at sun.rmi.transport.tcp.TCPEndpoint.shedConnectionCaches(Unknown
>> Source
>> )
>>        at
>> sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(Unkno
>> wn Source)
>>        at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(Unknown
>> Source)
>>        at java.lang.Thread.run(Unknown Source)
>>
>> "Low Memory Detector" daemon prio=6 tid=0x16cafc00 nid=0xc9c runnable
>> [0x0000000
>> 0..0x00000000]
>>   java.lang.Thread.State: RUNNABLE
>>
>> "CompilerThread0" daemon prio=10 tid=0x16ca6000 nid=0xc50 waiting on
>> condition [
>> 0x00000000..0x1709f9c0]
>>   java.lang.Thread.State: RUNNABLE
>>
>> "Attach Listener" daemon prio=10 tid=0x16ca5400 nid=0x12e4 runnable
>> [0x00000000.
>> .0x00000000]
>>   java.lang.Thread.State: RUNNABLE
>>
>> "Signal Dispatcher" daemon prio=10 tid=0x16db0400 nid=0x169c runnable
>> [0x0000000
>> 0..0x00000000]
>>   java.lang.Thread.State: RUNNABLE
>>
>> "Finalizer" daemon prio=8 tid=0x16c8a000 nid=0x10f4 in Object.wait()
>> [0x16daf000
>> ..0x16dafa98]
>>   java.lang.Thread.State: WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x08a368d0> (a java.lang.ref.ReferenceQueue$Lock)
>>        at java.lang.ref.ReferenceQueue.remove(Unknown Source)
>>        - locked <0x08a368d0> (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=0x16c88c00 nid=0xab0 in
>> Object.wait()
>> [0x
>> 16d5f000..0x16d5fb18]
>>   java.lang.Thread.State: WAITING (on object monitor)
>>        at java.lang.Object.wait(Native Method)
>>        - waiting on <0x08254270> (a java.lang.ref.Reference$Lock)
>>        at java.lang.Object.wait(Object.java:485)
>>        at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
>>        - locked <0x08254270> (a java.lang.ref.Reference$Lock)
>>
>> "VM Thread" prio=10 tid=0x16c84400 nid=0x16c8 runnable
>>
>> "GC task thread#0 (ParallelGC)" prio=6 tid=0x002fbc00 nid=0x131c runnable
>>
>> "GC task thread#1 (ParallelGC)" prio=6 tid=0x002fcc00 nid=0xe58 runnable
>>
>> "GC task thread#2 (ParallelGC)" prio=6 tid=0x002fdc00 nid=0x6e0 runnable
>>
>> "GC task thread#3 (ParallelGC)" prio=6 tid=0x002fec00 nid=0xe50 runnable
>>
>> "VM Periodic Task Thread" prio=10 tid=0x16ef9c00 nid=0xd5c waiting on
>> condition
>>
>>
>> JNI global references: 989
>>
>> [Full GC [PSYoungGen: 42112K->42112K(50112K)] [PSOldGen:
>> 196607K->196607K(196608
>> K)] 238719K->238719K(246720K) [PSPermGen: 16839K->16839K(17024K)],
>> 1.1583541
>> sec
>> s] [Times: user=1.16 sys=0.00, real=1.16 secs]
>> [Full GC [PSYoungGen: 42112K->42112K(50112K)] [PSOldGen:
>> 196607K->196607K(196608
>> K)] 238719K->238719K(246720K) [PSPermGen: 16839K->16839K(17024K)],
>> 1.3595003
>> sec
>> s] [Times: user=1.31 sys=0.00, real=1.38 secs]
>> Heap
>>  PSYoungGen      total 50112K, used 42112K [0x12950000, 0x16950000,
>> 0x16950000)
>>  eden space 42112K, 100% used [0x12950000,0x15270000,0x15270000)
>>  from space 8000K, 0% used [0x15270000,0x15270000,0x15a40000)
>>  to   space 11840K, 0% used [0x15dc0000,0x15dc0000,0x16950000)
>>  PSOldGen        total 196608K, used 196607K [0x06950000, 0x12950000,
>> 0x12950000
>> )
>>  object space 196608K, 99% used [0x06950000,0x1294fff8,0x12950000)
>>  PSPermGen       total 17024K, used 16839K [0x02950000, 0x039f0000,
>> 0x06950000)
>>  object space 17024K, 98% used [0x02950000,0x039c1e90,0x039f0000)
>>
>> [Full GC [PSYoungGen: 42112K->42112K(50112K)] [PSOldGen:
>> 196607K->196607K(196608
>> K)] 238719K->238719K(246720K) [PSPermGen: 16839K->16839K(17024K)],
>> 1.1538969
>> sec
>> s] [Times: user=1.14 sys=0.00, real=1.16 secs]
>> [Full GC [PSYoungGen: 42112K->42111K(50112K)] [PSOldGen:
>> 196607K->196607K(196608
>> K)] 238719K->238719K(246720K) [PSPermGen: 16839K->16839K(17024K)],
>> 1.1473042
>> sec
>> s] [Times: user=1.16 sys=0.00, real=1.16 secs]
>> [Full GC [PSYoungGen: 42112K->42112K(50112K)] [PSOldGen:
>> 196607K->196607K(196608
>> K)] 238719K->238719K(246720K) [PSPermGen: 16839K->16839K(17024K)],
>> 1.4030792
>> sec
>> s] [Times: user=1.25 sys=0.02, real=1.41 secs]
>> [Full GC
>>
>>
>>
>
>
> --
> --
> cordialement, regards,
> Emmanuel Lécharny
> www.iktek.com
> directory.apache.org
>
>
>

Reply via email to