[omniORB] Hanging connections

Serguei Kolos Serguei.Kolos at cern.ch
Wed May 3 23:40:44 BST 2006


Hello

I have a wired problem with hanging connections while using 
subscribe/notification pattern.
I have a server application and a subscriber, which creates a callback 
object an pass it's reference
to the server as parameter of the subscribe call. Server uses this 
object reference to send messages
to the subscriber. Before exiting, the subscriber application calls the 
unsubscribe function on
the server, which destroys the callback object reference on the server, 
and then subscriber destroys
the callback object itself.
After that netstat shows me that the server has one TCP connection (the 
one, which was established
by the server to the subscriber) in the CLOSE_WAIT state.
This connection has 13 bytes -n Recv-Q colon, which corresponds (as I 
believe) to the
CloseConnection message, which has been sent by subscriber (I have 
checked this by setting traceLevel 45
on the subscriber site) but has never been read by the server (has also 
been verified with the traceLevel 45).
The problem is that if I run many short living subscribers one after the 
other, I have a lot of sockets on server
in the CLOSE_WAIT state and at some moment a maximum number of sockets 
per application gets reached
and the server is not able to create connections anymore.
Is it a problem with the omniORB or I'm doing something wrong? I'm using 
omniORB 4.0.7 with gcc323
on Linux with 2.4 kernel.

Cheers,
Sergei



More information about the omniORB-list mailing list