The problem is not that i haven't notify the lock. Just i haven't chance to
notify the lock.

The logic of my problem:

Server:
  [Send message to client]  ->  [Wait for the response of client using
lock] -> [notify the lock] -> [Get response]

Client:
  [Receive message to client] ->  [Decoder the message] -> [process the
message and new another message] -> [Send the message to server]

And i found the problem is "The server send the message to client but the
client didn't decoder the message. So no message return to server, then the
server had to wait infinitely.".  I can't see the log in my decodable
part.   However, i make sure the message is sent correctly because i can see
it from the output of tcpdump. But i can't make sure whether the client had
received the message.

On 2/5/07, sishen <[EMAIL PROTECTED]> wrote:

The related code of mine.
---- MessageHandler ---
        Object lock = session.getAttribute("lock");
        session.setAttachment(UID);
        synchronized (lock) {
            lock.notifyAll();
        }
----- main thread -----
        synchronized (lock) {
            try {
                while (session.getAttachment() == null) {
                    lock.wait();
                }
            } catch (InterruptedException ex) {
                ex.printStackTrace();
            }
        }

Is there anything wrong?

On 1/30/07, Trustin Lee (JIRA) < [EMAIL PROTECTED]> wrote:
>
>
>      [
> 
https://issues.apache.org/jira/browse/DIRMINA-344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel]
>
> Trustin Lee resolved DIRMINA-344.
> ---------------------------------
>
>     Resolution: Invalid
>       Assignee: Trustin Lee
>
> It's not a MINA problem but your application problem.  Are you sure you
> notified correctly?  For example, you could do the following:
>
> Object lock = session.getAttribute("lock");
> synchronized (lock) {
>     session.setAttachment(attachment);
>     lock.notify();
> }
>
> > 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