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

From: Jan Engelhardt
Date: Tue Dec 18 2007 - 13:14:34 EST



On Dec 18 2007 13:09, 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.
>> >
>> >That may very well be true, but I can't rewrite the whole 500K line
>> >application in C at this point. Plus, it's a web app which would be
>> >"fun" to implement in C.
>>
>> Well I do not require you to do /that/, but you could try adhering to
>> the unix philosophy later on that one program should do (ideally) one
>> thing, and if the java blob already serves the webpage, then opening
>> sockets and doing xyz could probably live in another program.
>
>Fair enough. So if the application was written in C, how would that
>make this problem any easier to narrow down?
>
Here is a purely hypothethical (and in practice unlikely) idea:
Java opens up too many sockets (more than you really request) and the
kernel, for whatever reason, does not deliver packets to programs
which have maxed out their fds. Well it would already help if the
java blob was split into multiple blobs (assuming the problem
persists), as the best testcase is the smallest possible one. So if
it is reproducable without the web blob, great step there.
--
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/