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

From: Jan Engelhardt
Date: Tue Dec 18 2007 - 13:31:08 EST



On Dec 18 2007 13:21, James Nichols wrote:
>
>> Well you could still blame Java. I am sure that if you program was C,
>> the problem could be narrowed down much easier.
>
>I'm curious to know how this problem would be easier to narrow down if
>it were written in C.
>
It depends on the developers preference after all. libc is
'well-known' and who knows what bugs hide in the jre (it was not so
open until recently). I have seen obscure things in aurora linux's
glibc whereby concurrent use of malloc() in threaded applications
will hang because some malloc_mutex was probably trashed. Which tells
me that the lesser code there is, the better.

In your specific case it is likely to be not in userspace if the
socket remains in SYN_SENT, but I was speaking in general terms
(lesser is better). Usually, one would take out tcpdump, look for
SYN ACK packets arriving. If they don't arrive, check router. If they
appear, check the TCP input code path in the kernel. So much about
how to proceed :)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/