Bugs item #447650, was opened at 2001-08-03 13:43
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=376685&aid=447650&group_id=22866

Category: JBossMQ
Group: v2.2.2 (stable)
Status: Open
Resolution: None
Priority: 5
Submitted By: Matt Cleveland (groovesoftware)
Assigned to: Nobody/Anonymous (nobody)
Summary: Leaky Sockets

Initial Comment:
Solaris
JDK 1.3

I have a simple stateless EJB that clients use to place
messages on
the queue. After invoking this EJB repeatedly I get the
following
error from JBossMQ in the log.

-----------------------------------------------------------------

New Client Connection accepted. Current Thread=Th
read[Thread-362,5,main]
ConnectionReceiverOIL created client with address=<omitted>
java.net.SocketException: Too many open files
at java.net.PlainSocketImpl.socketAccept(Native Method)
at
java.net.PlainSocketImpl.accept(PlainSocketImpl.java:421)
at java.net.ServerSocket.implAccept(ServerSocket.java:243)
at java.net.ServerSocket.accept(ServerSocket.java:222)
at
org.jbossmq.distributed.server.ConnectionReceiverO
IL.run(ConnectionReceiverOIL.java:97)
at java.lang.Thread.run(Thread.java:484)
Client Connection set spyDistributedConnection,
ClientID=ID322.
Current Thread=Thread[Thread-362,5,main]
java.net.SocketException: Too many open files
at java.net.PlainSocketImpl.socketAccept(Native Method)
at
java.net.PlainSocketImpl.accept(PlainSocketImpl.java:421)
at java.net.ServerSocket.implAccept(ServerSocket.java:243)
at java.net.ServerSocket.accept(ServerSocket.java:222)
at
org.jbossmq.distributed.server.ConnectionReceiverO
IL.run(ConnectionReceiverOIL.java:97)
at java.lang.Thread.run(Thread.java:484)
Closing sessions, ClientID=ID322
Closed sessions

-----------------------------------------------------------------

To narrow down the problem I have pruned down the code
to just the
following in my stateless EJB and still get the error
if I invoke this code repeatedly.

-----------------------------------------------------------------

InitialContext context = new InitialContext();

QueueConnectionFactory queueFactory =
(QueueConnectionFactory)context.lookup(
"java:comp/env/jms/queueConnectionFactory");

QueueConnection queueConnection =
queueFactory.createQueueConnection();
queueConnection.close();

-----------------------------------------------------------------

I know this error indicates that I am running out of
file descriptors, but the question is why? For this
specific test there is no multi-threading. A single
client is executing the above code over and over. It
would appear that sockets are being leaked somewhere.

I have found a way to work around this by using
RMIQueueConnectionFactory instead of
QueueConnectionFactory. But this seems to be a definite
reproducible bug in QueueConnectionFactory.

----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=376685&aid=447650&group_id=22866

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to