Subject: Re: After many hours all outbound connections get stuck in SYN_SENT

From: Eric Dumazet <[email-masked]>
Date: Wed, 19 Dec 2007 18:07:24 +0100

James Nichols a écrit :
>> So you see outgoing SYN packets, but no SYN replies coming from the remote
>> peer ?  (you mention ACKS, but the first packet received from the remote
>>  peer should be a SYN+ACK),
> 
> Right, I meant to say SYN+ACK.  I don't see them coming back.

So... Really unlikely a linux problem, but ...

> 
> 
>> When the problem comes, instead of restarting the application, please take a
>> tcpdump of say 10.000 packets.
>> Then turn off tcp_sack and take a 2nd tcpdump sample, and make both samples
>> available to us.
> 
> I can take these captures and take a look at the results.
> Unfortunately, I don't think I'll be able to make the captures
> available to the general public.

I dont understand, why dont you change IPs to mask them with 192.168.X.Y, or 
just ME, and peer1, peer2, peer...

> 
> 
> 
>> If turning off tcp_sack makes the problem go away, why dont you turn it off
>> all the time ?
> 
> Unfortunately, I think that will be the answer if I can't get any help
> fixing this problem in the kernel.  It's a bummer, because many of the
> remote hosts my application communicates with are on wireless links,
> so there may be performance implications to turning SACK off.
> 

Random ideas :

1) Is your server behind a NET router or something ?
2) Are you sure you are not using connection tracking, and hit a limit on it ?