You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Emmanuel Lecharny (JIRA)" <ji...@apache.org> on 2009/06/07 10:00:14 UTC

[jira] Closed: (DIRMINA-344) Maybe I met a deadlock.

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

Emmanuel Lecharny closed DIRMINA-344.
-------------------------------------


> 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
>            Assignee: 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.