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 > > >
