Hello,

I have a pretty high traffic JBossMQ connection between an app server (JBoss 
4.0.3 on Win2k3) and a logging server (JBoss 4.0.2 on RHEL).  By high traffic 
I'm referring to 1-25MB per minute.

I occasionally have connection problems between the Win2k3 machine and RHEL 
machine, but most often this problem is on the JBossMQ connection.

On the client side, the error I receive is:


  | org.jboss.mq.SpyJMSException: Exiting on IOE; - nested throwable: 
(java.io.EOFException)
  |     at 
org.jboss.mq.SpyJMSException.getAsJMSException(SpyJMSException.java:66)
  |     at org.jboss.mq.Connection.asynchFailure(Connection.java:437)
  |     at 
org.jboss.mq.il.uil2.UILClientILService.asynchFailure(UILClientILService.java:156)
  |     at 
org.jboss.mq.il.uil2.SocketManager$ReadTask.handleStop(SocketManager.java:413)
  |     at 
org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:345)
  |     at java.lang.Thread.run(Thread.java:595)
  | Caused by: java.io.EOFException
  |     at 
java.io.ObjectInputStream$BlockDataInputStream.readByte(ObjectInputStream.java:2670)
  |     at java.io.ObjectInputStream.readByte(ObjectInputStream.java:864)
  |     at 
org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:290)
  |     ... 1 more
  | 

On the server, I normally receive DEBUG-level messages like:


  | java.net.SocketTimeoutException: Read timed out
  |     at java.net.SocketInputStream.socketRead0(Native Method)
  |     at java.net.SocketInputStream.read(SocketInputStream.java:129)
  |     at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
  |     at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
  |     at 
org.jboss.util.stream.NotifyingBufferedInputStream.read(NotifyingBufferedInputStream.java:67)
  |     at 
java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2205)
  |     at 
java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:2385)
  |     at 
java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2452)
  |     at 
java.io.ObjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2524)
  |     at 
java.io.ObjectInputStream$BlockDataInputStream.readByte(ObjectInputStream.java:2673)
  |     at java.io.ObjectInputStream.readByte(ObjectInputStream.java:874)
  |     at 
org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:290)
  |     at java.lang.Thread.run(Thread.java:595)
  | 

or


  | 2007-05-11 03:14:58,215 DEBUG 
[org.jboss.mq.il.uil2.ServerSocketManagerHandler] Exiting on IOE
  | java.net.SocketException: Connection reset
  |     at java.net.SocketInputStream.read(SocketInputStream.java:168)
  |     at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
  |     at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
  |     at 
org.jboss.util.stream.NotifyingBufferedInputStream.read(NotifyingBufferedInputStream.java:67)
  |     at 
java.io.ObjectInputStream$PeekInputStream.peek(ObjectInputStream.java:2205)
  |     at 
java.io.ObjectInputStream$BlockDataInputStream.readBlockHeader(ObjectInputStream.java:2385)
  |     at 
java.io.ObjectInputStream$BlockDataInputStream.refill(ObjectInputStream.java:2452)
  |     at 
java.io.ObjectInputStream$BlockDataInputStream.read(ObjectInputStream.java:2524)
  |     at 
java.io.ObjectInputStream$BlockDataInputStream.readByte(ObjectInputStream.java:2673)
  |     at java.io.ObjectInputStream.readByte(ObjectInputStream.java:874)
  |     at 
org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:290)
  |     at java.lang.Thread.run(Thread.java:595)
  | 

OR


  | 2007-05-11 00:05:46,631 DEBUG [org.jboss.naming.NamingService] Error 
writing response to /192.168.0.1
  | java.net.SocketException: Broken pipe
  |     at java.net.SocketOutputStream.socketWrite0(Native Method)
  |     at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
  |     at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
  |     at 
java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1682)
  |     at 
java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1591)
  |     at 
java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java:1173)
  |     at 
java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:1127)
  |     at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1284)
  |     at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |     at 
java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:1398)
  |     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:305)
  |     at org.jnp.server.Main$BootstrapRequestHandler.run(Main.java:452)
  |     at 
org.jboss.util.threadpool.RunnableTaskWrapper.run(RunnableTaskWrapper.java:134)
  |     at 
EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)
  |     at java.lang.Thread.run(Thread.java:595)
  | 

I am using the default UIL2 configuration settings on the server, but have 
configured the MessageCache to use a high amount of memory (800/900MB), and I'm 
unwisely using the default HSQLDB persistence store.

My question for this post is what possible scenarios would cause the client to 
receive an EOFException like that?  Are there any suggestions on how to 
diagnose this?  The error doesn't mention a read timeout or ping timeout, so I 
haven't tried increasing these options on the server UIL2 configuration.

Thank You

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4045845#4045845

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4045845
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to