[ 
https://issues.apache.org/jira/browse/DIRMINA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12495907
 ] 

Paulo Taylor commented on DIRMINA-344:
--------------------------------------

No I haven't tried 1.0 so I can't really tell. It's quite difficult to 
reproduce it though, it can take 1 hour or 1 week, it depends.

I've also found this bug on the Sun website about the LinkedBlockingQueue 
class: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6215625
I noticed that MINA does use the LinkedBlockingQueue class and according to 
them this bug is fixed on the Mustang release and I've only tested this with 
JDK 1.5 so maybe this could be the solution for this problem... or not.

Cheers

> Maybe I met a deadlock. 
> ------------------------
>
>                 Key: DIRMINA-344
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-344
>             Project: MINA
>          Issue Type: Bug
>    Affects Versions: 1.1.0
>         Environment: Debian GNU/Linux 2.6.16-2-amd64-k8-smp 
> Java HotSpot(TM) 64-Bit Server VM (1.5.0_08-b03 mixed mode)
> Two CPU: AMD Opteron(tm) Processor 250
> Memory: 4G
>            Reporter: sishen.freecity
>         Assigned To: Trustin Lee
>
> i do some perfermance test.  Below is my test case.
> loop (50) {
>      client send message to server. (500 client one time).
>      sleep 1s.
> }
> And  in the executing,  the server stop response. It just hang.  However, 
> sometimes it passed the test.
> I sniff the network using tcpdump.  And i found that the packet is received 
> by the server machine, but no log output in the code decode part.  So I think 
> it even don't go to the doDecode step. It's very strange, and i don't know 
> the reason.
> The code of server side:
> public class BIIServer {
>     private static final int port = 12345;
>     private static BIIServerSessionHandler handler = new 
> BIIServerSessionHandler();
>    
>     public static void main(String[] args) throws Exception
>     {
>         try {           
>             Executor executor = Executors.newCachedThreadPool();
>             SocketAcceptor acceptor = new SocketAcceptor( 
> Runtime.getRuntime().availableProcessors(), executor);
>             ExecutorThreadModel model = 
> ExecutorThreadModel.getInstance("BIIServer");
>             model.setExecutor(executor);
>             acceptor.getFilterChain ().addLast("codec", new 
> ProtocolCodecFilter(new BIProtocolCodecFactory(true)));
>             acceptor.getFilterChain().addLast("threadpool", new 
> ExecutorFilter(executor));
>             SocketAcceptorConfig config = new SocketAcceptorConfig();
>             config.setReuseAddress(true);
>             acceptor.bind(new InetSocketAddress(port), handler, config);
>             System.out.println("Server now listening on port: " + port);
>         } catch (Exception ex) {
>             ex.printStackTrace();
>         }
>     }
> }
> The code of client side:
>     public UIDMessage orderUID(OrderUIDMessage message) {
>         IoSession session;
>         Object lock = new Object();
>         for ( ; ; ) {
>             try {
>                 ConnectFuture future = connector.connect(new 
> InetSocketAddress(host, port), handler, cfg);
>                 future.join();
>                 session = future.getSession ();
>                 session.setAttribute("lock", lock);
>                 break;
>             } catch (RuntimeIOException ex) {
>             } catch (InterruptedException e) {
>             }
>         }
>         session.write(message);   
>         synchronized (lock) {
>             try {
>                 while (session.getAttachment() == null) {
>                     lock.wait();                    <-   I use this to ensure 
> i receive the result message.  But due to the problem, it was made to wait 
> indefinitely.
>                 }
>             } catch (InterruptedException ex) {
>                 ex.printStackTrace();
>             }
>         }
>         UIDMessage UID = (UIDMessage)session.removeAttribute("");
>         sessionMap.put(UID.getUid(), session);
>         return UID;
>     }
> Next is the thread dump.
> === Server ===
>      [java] Full thread dump Java HotSpot(TM) 64-Bit Server VM (1.5.0_08-b03 
> mixed mode):
>      [java] "AnonymousIoService-16" daemon prio=1 tid=0x00002aaaabdd2f50 
> nid=0x6477 waiting on condition [0x0000000042a7b000..0x0000000042a7bb40]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "AnonymousIoService-15" daemon prio=1 tid=0x00002aaaabdf2bb0 
> nid=0x6476 waiting on condition [0x000000004297a000..0x000000004297aec0]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "AnonymousIoService-14" daemon prio=1 tid=0x00002aaaabdeec00 
> nid=0x6475 waiting on condition [0x0000000042879000..0x0000000042879e40]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "AnonymousIoService-13" daemon prio=1 tid=0x00002aaaabdedb40 
> nid=0x6474 waiting on condition [0x0000000042778000..0x0000000042778dc0]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "AnonymousIoService-12" daemon prio=1 tid=0x00002aaaabdece70 
> nid=0x6473 waiting on condition [0x0000000042677000..0x0000000042677d40]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "AnonymousIoService-11" daemon prio=1 tid=0x00002aaaabdec5f0 
> nid=0x6472 waiting on condition [0x0000000042576000..0x0000000042576cc0]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "AnonymousIoService-10" daemon prio=1 tid=0x00002aaaabdebe00 
> nid=0x6471 waiting on condition [0x0000000042475000..0x0000000042475c40]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "AnonymousIoService-9" daemon prio=1 tid=0x00002aaaabdd9490 
> nid=0x646f waiting on condition [0x0000000042273000..0x0000000042273b40]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "AnonymousIoService-8" daemon prio=1 tid=0x00002aaaabdd8390 
> nid=0x646d waiting on condition [0x0000000042071000..0x0000000042071e40]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "AnonymousIoService-7" daemon prio=1 tid=0x00002aaaabdd7380 
> nid=0x646c waiting on condition [0x0000000041f70000..0x0000000041f70dc0]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "AnonymousIoService-6" daemon prio=1 tid=0x00002aaaabf803d0 
> nid=0x646b waiting on condition [0x0000000041e6f000..0x0000000041e6fd40]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "AnonymousIoService-5" daemon prio=1 tid=0x00002aaaabdd3fe0 
> nid=0x6469 waiting on condition [0x0000000041c6d000..0x0000000041c6dc40]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "Timer-0" daemon prio=1 tid=0x00002aaaabd98c40 nid=0x6461 in 
> Object.wait() [0x0000000041465000..0x0000000041465c40]
>      [java]     at java.lang.Object.wait(Native Method)
>      [java]     - waiting on <0x00002b6fad779c50> (a java.util.TaskQueue)
>      [java]     at java.util.TimerThread.mainLoop(Timer.java:509)
>      [java]     - locked <0x00002b6fad779c50> (a java.util.TaskQueue)
>      [java]     at java.util.TimerThread.run(Timer.java:462)
>      [java] "AnonymousIoService-4" daemon prio=1 tid=0x00002aaaabd282f0 
> nid=0x6460 waiting on condition [0x0000000041364000..0x0000000041364bc0]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "AnonymousIoService-3" daemon prio=1 tid=0x00002aaaaabfa120 
> nid=0x645f waiting on condition [0x0000000041263000..0x0000000041263b40]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "AnonymousIoService-2" daemon prio=1 tid=0x00002aaaaabfb4e0 
> nid=0x645e waiting on condition [0x0000000041162000..0x0000000041162ec0]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "AnonymousIoService-1" daemon prio=1 tid=0x00002aaaabefd1c0 
> nid=0x645d waiting on condition [0x0000000041061000..0x0000000041061e40]
>      [java]     at sun.misc.Unsafe.park(Native Method)
>      [java]     at 
> java.util.concurrent.locks.LockSupport.park(LockSupport.java:118)
>      [java]     at 
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1767)
>      [java]     at 
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:359)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:470)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:674)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "SocketAcceptorIoProcessor-0.1" prio=1 tid=0x00002aaaaab1d3b0 
> nid=0x645c runnable [0x0000000040f60000..0x0000000040f60dc0]
>      [java]     at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
>      [java]     at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100)
>      [java]     at 
> sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56)
>      [java]     at 
> sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
>      [java]     - locked <0x00002b6fd617ae10> (a sun.nio.ch.Util$1)
>      [java]     - locked <0x00002b6fd617adf8> (a 
> java.util.Collections$UnmodifiableSet)
>      [java]     - locked <0x00002b6fd6179270> (a sun.nio.ch.PollSelectorImpl)
>      [java]     at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>      [java]     at 
> org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProcessor.java:496)
>      [java]     at 
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:43)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "DestroyJavaVM" prio=1 tid=0x0000000040115fc0 nid=0x6447 waiting 
> on condition [0x0000000000000000..0x00007fffffb062d0]
>      [java] "SocketAcceptor-0" prio=1 tid=0x00002aaaabe2a550 nid=0x6457 
> runnable [0x0000000040e5f000..0x0000000040e5fd40]
>      [java]     at sun.nio.ch.PollArrayWrapper.poll0(Native Method)
>      [java]     at sun.nio.ch.PollArrayWrapper.poll(PollArrayWrapper.java:100)
>      [java]     at 
> sun.nio.ch.PollSelectorImpl.doSelect(PollSelectorImpl.java:56)
>      [java]     at 
> sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:69)
>      [java]     - locked <0x00002b6fad7dcc98> (a sun.nio.ch.Util$1)
>      [java]     - locked <0x00002b6fad7dcc80> (a 
> java.util.Collections$UnmodifiableSet)
>      [java]     - locked <0x00002b6fad7dcaf8> (a sun.nio.ch.PollSelectorImpl)
>      [java]     at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>      [java]     at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:84)
>      [java]     at 
> org.apache.mina.transport.socket.nio.SocketAcceptor$Worker.run(SocketAcceptor.java:230)
>      [java]     at 
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:43)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>      [java]     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>      [java]     at java.lang.Thread.run(Thread.java:595)
>      [java] "PooledByteBufferExpirer-0" daemon prio=1 tid=0x00002aaaaabfbe70 
> nid=0x6456 waiting on condition [0x0000000040d5e000..0x0000000040d5ecc0]
>      [java]     at java.lang.Thread.sleep(Native Method)
>      [java]     at 
> org.apache.mina.common.PooledByteBufferAllocator$Expirer.run(PooledByteBufferAllocator.java:277)
>      [java] "Low Memory Detector" daemon prio=1 tid=0x00002aaaaab17430 
> nid=0x6454 runnable [0x0000000000000000..0x0000000000000000]
>      [java] "CompilerThread1" daemon prio=1 tid=0x00002aaaaab159e0 nid=0x6453 
> waiting on condition [0x0000000000000000..0x0000000040a5a460]
>      [java] "CompilerThread0" daemon prio=1 tid=0x00002aaaaab14650 nid=0x6452 
> waiting on condition [0x0000000000000000..0x00000000409597e0]
>      [java] "AdapterThread" daemon prio=1 tid=0x00002aaaaab13250 nid=0x6451 
> waiting on condition [0x0000000000000000..0x0000000000000000]
>      [java] "Signal Dispatcher" daemon prio=1 tid=0x00002aaaaab11fb0 
> nid=0x6450 waiting on condition [0x0000000000000000..0x0000000000000000]
>      [java] "Finalizer" daemon prio=1 tid=0x00002aaaaab008d0 nid=0x644f in 
> Object.wait() [0x0000000040657000..0x0000000040657d40]
>      [java]     at java.lang.Object.wait(Native Method)
>      [java]     at 
> java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>      [java]     - locked <0x00002b6fad7ed610> (a 
> java.lang.ref.ReferenceQueue$Lock)
>      [java]     at 
> java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
>      [java]     at 
> java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
>      [java] "Reference Handler" daemon prio=1 tid=0x00002aaaaacb93b0 
> nid=0x644e in Object.wait() [0x0000000040556000..0x0000000040556cc0]
>      [java]     at java.lang.Object.wait(Native Method)
>      [java]     at java.lang.Object.wait(Object.java:474)
>      [java]     at 
> java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>      [java]     - locked <0x00002b6fad730348> (a java.lang.ref.Reference$Lock)
>      [java] "VM Thread" prio=1 tid=0x00002aaaaacb4f40 nid=0x644d runnable
>      [java] "GC task thread#0 (ParallelGC)" prio=1 tid=0x00000000401343b0 
> nid=0x644b runnable
>      [java] "GC task thread#1 (ParallelGC)" prio=1 tid=0x00000000401351a0 
> nid=0x644c runnable
>      [java] "VM Periodic Task Thread" prio=1 tid=0x00002aaaaab19170 
> nid=0x6455 waiting on condition
> Full thread dump Java HotSpot(TM) 64-Bit Server VM (1.5.0_08-b03 mixed mode):
> "Thread-4" daemon prio=1 tid=0x00002aaaabbfa1f0 nid=0x644a runnable 
> [0x0000000041061000..0x0000000041061bc0]
>         at java.io.FileInputStream.readBytes(Native Method)
>         at java.io.FileInputStream.read(FileInputStream.java:194)
>         at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>         at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
>         at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
>         - locked <0x00002b7d9c4fd1b8> (a java.io.BufferedInputStream)
>         at java.io.FilterInputStream.read(FilterInputStream.java:111)
>         at java.io.FilterInputStream.read(FilterInputStream.java:90)
>         at 
> org.apache.tools.ant.taskdefs.StreamPumper.run(StreamPumper.java:90)
>         at java.lang.Thread.run(Thread.java:595)
> "Thread-3" daemon prio=1 tid=0x00002aaaaabb9410 nid=0x6449 runnable 
> [0x0000000040f60000..0x0000000040f60c40]
>         at java.io.FileInputStream.readBytes(Native Method)
>         at java.io.FileInputStream.read(FileInputStream.java:177)
>         at 
> org.apache.tools.ant.taskdefs.StreamPumper.run(StreamPumper.java:90)
>         at java.lang.Thread.run(Thread.java:595)
> "Thread-2" daemon prio=1 tid=0x00002aaaabbf4a50 nid=0x6448 runnable 
> [0x0000000040e5f000..0x0000000040e5fcc0]
>         at java.io.FileInputStream.readBytes(Native Method)
>         at java.io.FileInputStream.read(FileInputStream.java:194)
>         at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
>         at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
>         at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
>         - locked <0x00002b7d9cd50ad0> (a java.io.BufferedInputStream)
>         at java.io.FilterInputStream.read(FilterInputStream.java:90)
>         at 
> org.apache.tools.ant.taskdefs.StreamPumper.run(StreamPumper.java:90)
>         at java.lang.Thread.run(Thread.java:595)
> "process reaper" daemon prio=1 tid=0x00002aaaabbf45d0 nid=0x6446 runnable 
> [0x0000000040d5e000..0x0000000040d5ed40]
>         at java.lang.UNIXProcess.waitForProcessExit(Native Method)
>         at java.lang.UNIXProcess.access$900(UNIXProcess.java:20)
>         at java.lang.UNIXProcess$1$1.run(UNIXProcess.java:132)
> "Low Memory Detector" daemon prio=1 tid=0x00002aaaab103970 nid=0x643f 
> runnable [0x0000000000000000..0x0000000000000000]
> "CompilerThread1" daemon prio=1 tid=0x00002aaaab101f20 nid=0x643e waiting on 
> condition [0x0000000000000000..0x0000000040a5a550]
> "CompilerThread0" daemon prio=1 tid=0x00002aaaab100b90 nid=0x643d waiting on 
> condition [0x0000000000000000..0x00000000409595d0]
> "AdapterThread" daemon prio=1 tid=0x00002aaaaab79580 nid=0x643c waiting on 
> condition [0x0000000000000000..0x0000000000000000]
> "Signal Dispatcher" daemon prio=1 tid=0x00002aaaaab78130 nid=0x643b waiting 
> on condition [0x0000000000000000..0x0000000000000000]
> "Finalizer" daemon prio=1 tid=0x00002aaaaab64a80 nid=0x643a in Object.wait() 
> [0x0000000040657000..0x0000000040657ec0]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x00002b7d9c4f0ad0> (a 
> java.lang.ref.ReferenceQueue$Lock)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>         - locked <0x00002b7d9c4f0ad0> (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=0x00002aaaaab64040 nid=0x6439 in 
> Object.wait() [0x0000000040556000..0x0000000040556b40]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x00002b7d9c4f0950> (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 <0x00002b7d9c4f0950> (a java.lang.ref.Reference$Lock)
> "main" prio=1 tid=0x0000000040115c40 nid=0x6434 in Object.wait() 
> [0x00007fffffd3f000..0x00007fffffd3fdf0]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0x00002b7d9cd415d0> (a java.lang.UNIXProcess)
>         at java.lang.Object.wait(Object.java:474)
>         at java.lang.UNIXProcess.waitFor(UNIXProcess.java:165)
>         - locked <0x00002b7d9cd415d0> (a java.lang.UNIXProcess)
>         at org.apache.tools.ant.taskdefs.Execute.waitFor(Execute.java:539)
>         at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:471)
>         at org.apache.tools.ant.taskdefs.Java.fork(Java.java:751)
>         at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:171)
>         at org.apache.tools.ant.taskdefs.Java.execute(Java.java:84)
>         at 
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>         at org.apache.tools.ant.Task.perform(Task.java:364)
>         at org.apache.tools.ant.Target.execute(Target.java:341)
>         at org.apache.tools.ant.Target.performTasks(Target.java:369)
>         at 
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
>         at 
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
>         at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>         at org.apache.tools.ant.Main.runBuild(Main.java:668)
>         at org.apache.tools.ant.Main.startAnt(Main.java:187)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
> "VM Thread" prio=1 tid=0x00002aaaaab5fbd0 nid=0x6438 runnable
> "GC task thread#0 (ParallelGC)" prio=1 tid=0x0000000040134030 nid=0x6436 
> runnable
> "GC task thread#1 (ParallelGC)" prio=1 tid=0x0000000040134e20 nid=0x6437 
> runnable
> "VM Periodic Task Thread" prio=1 tid=0x00002aaaab1056b0 nid=0x6440 waiting on 
> condition
> === Client ===
> Full thread dump Java HotSpot(TM) 64-Bit Server VM (1.5.0_08-b03 mixed mode):
> "SocketConnectorIoProcessor-0.3" prio=1 tid=0x00002aaaadcec150 nid=0x179d 
> runnable [0x0000000041766000..0x0000000041766dc0]
>         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 <0x00002b322d147c60> (a sun.nio.ch.Util$1)
>         - locked <0x00002b322d147c48> (a 
> java.util.Collections$UnmodifiableSet)
>         - locked <0x00002b322d1478d8> (a sun.nio.ch.PollSelectorImpl)
>         at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:80)
>         at 
> org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProcessor.java:496)
>         at 
> org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:43)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at java.lang.Thread.run(Thread.java:595)
> "PooledByteBufferExpirer-0" daemon prio=1 tid=0x00002aaaac59ba50 nid=0x65de 
> waiting on condition [0x000000004105f000..0x000000004105fd40]
>         at java.lang.Thread.sleep(Native Method)
>         at 
> org.apache.mina.common.PooledByteBufferAllocator$Expirer.run(PooledByteBufferAllocator.java:277)
> "Low Memory Detector" daemon prio=1 tid=0x00002aaaaaba0200 nid=0x65d7 
> runnable [0x0000000000000000..0x0000000000000000]
> "CompilerThread1" daemon prio=1 tid=0x00002aaaaab9e670 nid=0x65d6 waiting on 
> condition [0x0000000000000000..0x0000000040c5a7e0]
> "CompilerThread0" daemon prio=1 tid=0x00002aaaaab9d160 nid=0x65d5 waiting on 
> condition [0x0000000000000000..0x0000000040b59660]
> "AdapterThread" daemon prio=1 tid=0x00002aaaaab9baa0 nid=0x65d4 waiting on 
> condition [0x0000000000000000..0x0000000000000000]
> "Signal Dispatcher" daemon prio=1 tid=0x00002aaaaab9a7c0 nid=0x65d3 waiting 
> on condition [0x0000000000000000..0x0000000000000000]
> "Finalizer" daemon prio=1 tid=0x00002aaaaab86df0 nid=0x65d2 in Object.wait() 
> [0x0000000040857000..0x0000000040857cc0]
>         at java.lang.Object.wait(Native Method)
>         at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
>         - locked <0x00002b32038ee870> (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=0x00002aaaaab86660 nid=0x65d1 in 
> Object.wait() [0x0000000040756000..0x0000000040756b40]
>         at java.lang.Object.wait(Native Method)
>         at java.lang.Object.wait(Object.java:474)
>         at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
>         - locked <0x00002b32038e9fe8> (a java.lang.ref.Reference$Lock)
> "main" prio=1 tid=0x0000000040115c80 nid=0x65ca in Object.wait() 
> [0x00007fffff8ae000..0x00007fffff8b0140]
>         at java.lang.Object.wait(Native Method)
>         at java.lang.Object.wait(Object.java:474)
>         at com.netease.biiclient.Client.orderUID(Client.java:138)
>         - locked <0x00002b322d141358> (a java.lang.Object)
>         at com.netease.biiclient.BIIClient.getHandlerID(BIIClient.java:99)
>         at 
> com.netease.biiclient.handler.DefaultSearchHandler.init(DefaultSearchHandler.java:58)
>         at 
> com.netease.biiclient.handler.DefaultSearchHandler.<init>(DefaultSearchHandler.java:43)
>         at 
> com.netease.biiclient.handler.SequenceSearchHandler.<init>(SequenceSearchHandler.java:10)
>         at 
> com.netease.bitest.performance.RampUpTest.rampUp(RampUpTest.java:42)
>         at com.netease.bitest.performance.RampUpTest.main(RampUpTest.java:57)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.tools.ant.taskdefs.ExecuteJava.run(ExecuteJava.java:202)
>         at 
> org.apache.tools.ant.taskdefs.ExecuteJava.execute(ExecuteJava.java:134)
>         at org.apache.tools.ant.taskdefs.Java.run(Java.java:710)
>         at org.apache.tools.ant.taskdefs.Java.executeJava(Java.java:178)
>         at org.apache.tools.ant.taskdefs.Java.execute(Java.java:84)
>         at 
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
>         at org.apache.tools.ant.Task.perform(Task.java:364)
>         at org.apache.tools.ant.Target.execute(Target.java:341)
>         at org.apache.tools.ant.Target.performTasks(Target.java:369)
>         at 
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
>         at 
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
>         at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
>         at org.apache.tools.ant.Main.runBuild(Main.java:668)
>         at org.apache.tools.ant.Main.startAnt(Main.java:187)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)
> "VM Thread" prio=1 tid=0x00002aaaaab821f0 nid=0x65d0 runnable
> "GC task thread#0 (ParallelGC)" prio=1 tid=0x0000000040132790 nid=0x65cc 
> runnable
> "GC task thread#1 (ParallelGC)" prio=1 tid=0x0000000040133580 nid=0x65cd 
> runnable
> "GC task thread#2 (ParallelGC)" prio=1 tid=0x0000000040134370 nid=0x65ce 
> runnable
> "GC task thread#3 (ParallelGC)" prio=1 tid=0x0000000040135160 nid=0x65cf 
> runnable
> "VM Periodic Task Thread" prio=1 tid=0x00002aaaaaba1db0 nid=0x65d8 waiting on 
> condition

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to