0 Replies Latest reply on Mar 21, 2005 2:41 PM by pmuet

    QueueSender stuck in org.jboss.mq.il.uil2.SocketManager.inte

    pmuet

      Hi,
      I'm running jboss-3.2.5 and after running for a while my application gets stuck sending a message to the server. Looking at the stack dump shows that the wait() call on the message object in the SocketManager on line 241 never gets notified. However, both the read and write tasks are still running. I have already tried to close and reconenct the queue connection every hour, but that hasn't helped. Has anybody experienced the same problem? Any pointers are appreciated.

      Exerpts from the stack dump:

      "UIL2.SocketManager.WriteTask#186 client=10.32.15.131:8093" daemon prio=1 tid=0x082e04e8 nid=0x442f in Object.wait() [ae587000..ae587854]
       at java.lang.Object.wait(Native Method)
       at java.lang.Object.wait(Object.java:429)
       at EDU.oswego.cs.dl.util.concurrent.LinkedQueue.take(Unknown Source)
       - locked <0x73f0a2b0> (a java.lang.Object)
       at org.jboss.mq.il.uil2.SocketManager$WriteTask.run(SocketManager.java:477)
       at java.lang.Thread.run(Thread.java:534)
      
      "UIL2.SocketManager.ReadTask#185 client=10.32.15.131:8093" daemon prio=1 tid=0x088ab438 nid=0x442f runnable [aa7ec000..aa7ec854]
       at java.net.SocketInputStream.socketRead0(Native Method)
       at java.net.SocketInputStream.read(SocketInputStream.java:129)
       at java.io.BufferedInputStream.fill(BufferedInputStream.java:183)
       at java.io.BufferedInputStream.read(BufferedInputStream.java:201)
       - locked <0x73f0ab80> (a org.jboss.util.stream.NotifyingBufferedInputStream)
       at org.jboss.util.stream.NotifyingBufferedInputStream.read(NotifyingBufferedInputStream.java:67)
       at java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2133)
       at java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:2313)
       at java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2380)
       at java.io.ObjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2452)
       at java.io.ObjectInputStream$BlockDataInputStream.readByte(ObjectInputStream.java:2601)
       at java.io.ObjectInputStream.readByte(ObjectInputStream.java:845)
       at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:279)
       at java.lang.Thread.run(Thread.java:534)
      
      "Thread-36" daemon prio=1 tid=0x0866c0d8 nid=0x442f in Object.wait() [ab689000..ab689854]
       at java.lang.Object.wait(Native Method)
       at java.lang.Object.wait(Object.java:429)
       at org.jboss.mq.il.uil2.SocketManager.internalSendMessage(SocketManager.java:241)
       - locked <0x727a4f60> (a org.jboss.mq.il.uil2.msgs.AddMsg)
       at org.jboss.mq.il.uil2.SocketManager.sendMessage(SocketManager.java:192)
       at org.jboss.mq.il.uil2.UILServerIL.addMessage(UILServerIL.java:240)
       at org.jboss.mq.Connection.sendToServer(Connection.java:1013)
       at org.jboss.mq.SpySession.sendMessage(SpySession.java:1001)
       at org.jboss.mq.SpyMessageProducer.send(SpyMessageProducer.java:247)
       at org.jboss.mq.SpyMessageProducer.send(SpyMessageProducer.java:212)
       // ... my application code ...//
      
      "Connection Monitor Thread" daemon prio=1 tid=0x08078dc8 nid=0x442f in Object.wait() [aa86d000..aa86d854]
       at java.lang.Object.wait(Native Method)
       at EDU.oswego.cs.dl.util.concurrent.ClockDaemon.nextTask(Unknown Source)
       - locked <0x504d5b50> (a EDU.oswego.cs.dl.util.concurrent.ClockDaemon)
       at EDU.oswego.cs.dl.util.concurrent.ClockDaemon$RunLoop.run(Unknown Source)
       at java.lang.Thread.run(Thread.java:534)