[Twisted-Python] Error: filedescriptor out of range in select
Andrew Bennetts
andrew at bemusement.org
Fri Mar 19 06:58:30 MDT 2010
Don Schoeman wrote:
> Hi guys, I have started having this problem a few weeks ago and it
> happens about once a week after which I have to restart my Twisted
> based server to function again. It seems to be happening when I
> make RPC calls using twisted.web.xmlrpc.Proxy. I have reason to
> believe that I am either running out of file handles or connection
> limits. I have up-sized my connection limits and ulimit -n gives
> me 9000.
Note though that select() has a builtin limit, which varies by platform
but is probably 1024 for you. So perhaps try the poll or epoll reactor
instead.
> I receive less than 30 connections though so there must be some
> kind of leak. The error I'm getting is the following:
30 is much less than 1024, though, so a leak does sound probable.
[...]
> Now I know this is a very generic error and it could mean a lot of
> things, but how would I even start tracking the leak down? Is there
> a way I can try and track the number of file descriptors?
There's always strace, or looking in /proc/PID/fd.
> I am using Twisted version 8.2.0 on Ubuntu Server Edition 9.10
Maybe try upgrading Twisted, preferably to 10.0.0? I'm not sure if a
bug related to your problems was fixed since 8.2.0, but a lot of bugs
have been fixed in that ~2 years. Hopefully there's a PPA somewhere
with a newer Twisted for your version of Ubuntu.
-Andrew.
More information about the Twisted-Python
mailing list