[omniORB] Previous reported CLOSE_WAIT bug in 4.0.1: http://osdir.com/ml/corba.omniorb.user/2003-09/msg00034.html

Peter Klotz peter.klotz at aon.at
Wed Oct 3 21:22:25 BST 2007


Duncan Grisby wrote:
> On Tuesday 2 October, Sean Parker wrote:
> 
>>   I'm writing to ask if this bug:
>> "http://osdir.com/ml/corba.omniorb.user/2003-09/msg00034.html"
>> has officially been fixed in omniORB 4.1 or latest? I seem
>> to be experiencing this now and wonder if I must upgrade
>> (it's non-trivial to upgrade to latest version on our
>> system)
> 
> That bug was fixed between 4.0.2 and 4.0.3:

We have encountered a very similar bug in omniORB 4.0.7 (using Linux). 
Tests showed that it is not present in 4.0.6.

When several clients connect in parallel to a server there is a chance 
for sockets to remain in state CLOSE_WAIT forever.

I have narrowed the problem down to method 
giopServer::removeConnectionAndWorker(giopWorker* w) in giopServer.cc.

Variable cs_removed never gets set to 1 since 
Link::is_empty(cs->workers) always returns 0.

I am not 100% sure but I think the problem only occurred when all 
clients were constantly calling the same method.

The problem did definitely not occur when only a single client 
continuously called the same method. Therefore I would assume that some 
kind of interaction between server side worker threads is responsible 
for this problem.

So far I have not investigated if this issue still persists in omniORB 
4.1.0.

Best regards, Peter.



More information about the omniORB-list mailing list