Too many open (leaking?) File Descriptors and "cannot import name SHA"
[email protected] Mon, 30 Nov 2009 23:56:15 -0000
| Newsgroups | gmane.comp.python.twisted.bugs |
|---|---|
| Message-ID | <[email protected]> |
New submission from cb <None>:
Hello
my name is Christian Bahls
i am an anti-censorship activist from germany
we have this new law on internet-censorhip that
would oblige providers to filter dns
so i set out and implement a dns-(json+http)-dns-tunnel
My Resolver looks like this:
resolvers=[]
cacheResolver = cache.CacheResolver(verbose=True)
resolvers.append(cacheResolver)
hostResolver = hosts.Resolver(file='named.root.txt')
#clientResolver = client.Resolver(servers=[('139.30.8.7',53)])
rootResolver = root.bootstrap(hostResolver)
resolvers.append(rootResolver)
#resolvers.append(hostResolver)
#resolvers.append(clientResolver)
theResolver = resolve.ResolverChain(resolvers)
it gets called like this:
def render_GET(self,request):
DNSLogger.info("REQUEST: %s" % (request))
d=theResolver.typeToMethod[self.typeKey](self.query)
d.addCallback(self.returnResults,request)
d.addErrback(self.returnError,request)
#request.notifyFinish().addErrback(self.cancelRequest, d, request)
return NOT_DONE_YET
where typeKey would be '1' for type 'IN'
Under heavy Pressure .. I get:
Unhandled error in Deferred:
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/internet/defer.py", line 238, in callback
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/internet/defer.py", line 307, in _startRunCallbacks
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/internet/defer.py", line 323, in _runCallbacks
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/internet/defer.py", line 625, in gotResult
--- <exception caught here> ---
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/internet/defer.py", line 600, in _deferGenerator
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/names/root.py", line 120, in discoverAuthority
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/names/root.py", line 67, in lookupNameservers
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/names/root.py", line 31, in retry
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/names/dns.py", line 1730, in query
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/names/dns.py", line 1577, in pickID
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/names/dns.py", line 44, in randomSource
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/python/randbytes.py", line 113, in secureRandom
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/python/randbytes.py", line 92, in _cryptoRandom
File "/usr/lib/python2.5/site-packages/Crypto/Util/randpool.py", line 57, in __init__
exceptions.ImportError: cannot import name SHA
####### AND AFTERWARDS #########
Unhandled error in Deferred:
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/internet/defer.py", line 600, in _deferGenerator
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/names/root.py", line 120, in discoverAuthority
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/names/root.py", line 67, in lookupNameservers
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/names/root.py", line 31, in retry
--- <exception caught here> ---
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/names/dns.py", line 1725, in query
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/names/dns.py", line 1666, in startListening
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/internet/posixbase.py", line 248, in listenUDP
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/internet/udp.py", line 83, in startListening
File "/usr/lib/python2.5/site-packages/Twisted-9.0.0-py2.5-linux-x86_64.egg/twisted/internet/udp.py", line 91, in _bindSocket
twisted.internet.error.CannotListenError: Couldn't listen on any:0: (24, 'Too many open files').
I saw a similar Bug arround here ..
.. but it was supposed to be fixed?
.. as i have only the Deferred to play around with
i am not so sure how to get rid of the open UDP ports
yours Christian Bahls
----------
Type : defect
Component: names
Keywords :
Priority : normal
Nosy :
----------
http://twistedmatrix.com/trac/ticket/4141