Messages in this thread | | | Date | Tue, 18 Dec 2007 19:30:49 +0100 (CET) | From | Jan Engelhardt <> | Subject | Re: After many hours all outbound connections get stuck in SYN_SENT |
| |
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 :)
| |