Unicorn 3.3.1 "Too many open files" error in kgio_tryaccept
normalperson at yhbt.net
Thu Jan 13 18:06:09 EST 2011
ghazel at gmail.com wrote:
> Strange error which took down my server today:
> Unhandled listen loop exception #<Errno::EMFILE: Too many open files - accept>.
> My unicorn.stderr.log is 7.6GB, and I rotate it every day...
> Before all that started I got:
> Read error: #<IOError: closed stream>
> But the servers seemed to be basically operating at that point.
Weird. I have many questions:
Are you processing uploads at all?
Is nginx in front of Unicorn?
Do you open a lot of files in your application and never close them?
How does lsof output look for your workers?
Can you check any exception capturing/logging middleware you have
for any other errors that may be swallowed? (especially
while reading env["rack.input"])
I changed the socket close ordering for 3.3.1 to workaround an esoteric
"bug", but I don't see how this could happen right now...
Does this happen with 3.3.0?
Or 1.1.6? hiswhich has the same "bugfix" as 3.3.1.
Also, is anybody else having this problem?
 - GC should be able to cleanup open files on MRI/REE anyways
More information about the mongrel-unicorn