#2127: select() reactor has problems with >1024 File Descriptors
-----------------------+----------------------------------------------------
 Reporter:  underscor  |       Owner:        
     Type:  bug        |      Status:  new   
 Priority:  major      |   Milestone:  Future
Component:  other      |     Version:  1.3.5 
 Keywords:             |  
-----------------------+----------------------------------------------------
 The select reactor has issues with more than 1024 file descriptors, which
 leads to errors like this when having a large number of connections. I'm
 not sure what the best path to take in this situation is. Either we could
 integrate with twistd, which does it's own intelligent reactor selection,
 or write logic to determine whether we're on Linux, and if so, opt for the
 poll() or epoll() reactor, and select() otherwise.

 Traceback (most recent call last):
   File "/usr/lib/pymodules/python2.6/deluge/main.py", line 226, in
 start_daemon
     Daemon(options, args)
   File "/usr/lib/pymodules/python2.6/deluge/core/daemon.py", line 176, in
 __init__
     reactor.run()
   File "/usr/lib/python2.6/dist-packages/twisted/internet/base.py", line
 1170, in run
     self.mainLoop()
   File "/usr/lib/python2.6/dist-packages/twisted/internet/base.py", line
 1182, in mainLoop
     self.doIteration(t)
 --- <exception caught here> ---
   File "/usr/lib/python2.6/dist-
 packages/twisted/internet/selectreactor.py", line 104, in doSelect
     [], timeout)
 exceptions.ValueError: filedescriptor out of range in select()
 Unhandled error in Deferred:
 Traceback (most recent call last):
   File "/usr/lib/python2.6/dist-packages/twisted/internet/base.py", line
 1031, in connectionFailed
     self.factory.clientConnectionFailed(self, reason)
   File "/usr/lib/python2.6/dist-packages/twisted/web/client.py", line 350,
 in clientConnectionFailed
     self.deferred.errback(reason)
   File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line
 307, in errback
     self._startRunCallbacks(fail)
   File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line
 354, in _startRunCallbacks
     self._runCallbacks()
 --- <exception caught here> ---
   File "/usr/lib/python2.6/dist-packages/twisted/internet/defer.py", line
 371, in _runCallbacks
     self.result = callback(self.result, *args, **kw)
   File "/usr/lib/pymodules/python2.6/deluge/core/rpcserver.py", line 316,
 in on_fail
     sendError()
   File "/usr/lib/pymodules/python2.6/deluge/core/rpcserver.py", line 252,
 in sendError
     "".join(traceback.format_tb(exceptionTraceback)))
   File "/usr/lib/pymodules/python2.6/deluge/core/rpcserver.py", line 196,
 in sendData
     self.transport.write(zlib.compress(rencode.dumps(data)))
   File "/usr/lib/pymodules/python2.6/deluge/rencode.py", line 391, in
 dumps
     encode_func[type(x)](x, r)
   File "/usr/lib/pymodules/python2.6/deluge/rencode.py", line 338, in
 encode_list
     encode_func[type(i)](i, r)
   File "/usr/lib/pymodules/python2.6/deluge/rencode.py", line 338, in
 encode_list
     encode_func[type(i)](i, r)
 exceptions.KeyError: <type 'instance'>

-- 
Ticket URL: <http://dev.deluge-torrent.org/ticket/2127>
Deluge <http://deluge-torrent.org/>
Deluge project

-- 
You received this message because you are subscribed to the Google Groups 
"Deluge Dev" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/deluge-dev?hl=en.

Reply via email to