[Icecast] Re: Anyone seen this?
mlrsmith at gmail.com
Thu Apr 28 17:30:22 UTC 2005
On 4/28/05, Geoff Shang <geoff at hitsandpieces.net> wrote:
> Our icecast server (version 2.2.0) locked up whilst I was out this evening.
> Looking at the error log, I find a lot of the following:
> [2005-04-28 08:21:16] WARN connection/_accept_connection accept() failed
> with error 24: Too many open files
How many clients were connected? (An estimate would be ok).
Generally speaking, this sort of thing happens for one of three reasons:
1) file descriptor leak. If it's this, that's a pretty serious icecast
bug, probably exploitable as a DoS attack.
2) Hitting a compiled-in limit. Usually, this should only happen if
you have quite a lot of clients connected (at least several hundred),
AND you've compiled it using select() rather than poll() - which
should only happen on systems that don't have poll(). You use linux,
right? If so, it's pretty unlikely that this is your problem.
3) Hitting a kernel limit (either per-user or global). Unlikely unless
you have a lot of clients (hundreds or thousands). If it's a per-user
limit, it should be easy to change. If it's global... well, you'd need
at least a few thousand clients for that, so it's unlikely.
All in all, I'd say the first one (fd leak) is the most likely, but
there's not enough info here for me to guess at where (and if there
was, I couldn't do anything about it anyway - don't have my computer
with me here in Berlin :-).
More information about the Icecast