id summary reporter owner description type status priority milestone component version resolution keywords cc launchpad_bug 237 webish directory page can't display more than 192 children warner warner "While doing some load testing (which involves writing lots and lots of files into a few directories), I discovered an exception when using the webish interface to list one of these large directories. The exception came out of nevow as it attempted to render the 193rd child of the directory: {{{ 2007-12-18 23:48:36.611Z [-] Unhandled Error Traceback (most recent call last): File ""/usr/lib/python2.5/site-packages/twisted/internet/defer.py"", line 191, in addCallback callbackKeywords=kw) File ""/usr/lib/python2.5/site-packages/twisted/internet/defer.py"", line 182, in addCallbacks self._runCallbacks() File ""/usr/lib/python2.5/site-packages/twisted/internet/defer.py"", line 317, in _runCallbacks self.result = callback(self.result, *args, **kw) File ""/home/amduser/tahoe-loadnet/source/support/lib/python2.5/site-packages/Nevow-0.9.0-py2.5.egg/nevow/flat/twist.py"", line 41, in cb _drive(iterable, finished) --- --- File ""/home/amduser/tahoe-loadnet/source/support/lib/python2.5/site-packages/Nevow-0.9.0-py2.5.egg/nevow/flat/twist.py"", line 23, in _drive next = iterable.next() File ""/home/amduser/tahoe-loadnet/source/support/lib/python2.5/site-packages/Nevow-0.9.0-py2.5.egg/nevow/flat/ten.py"", line 83, in iterflatten for item in gen: File ""/home/amduser/tahoe-loadnet/source/support/lib/python2.5/site-packages/Nevow-0.9.0-py2.5.egg/nevow/flat/flatstan.py"", line 103, in TagSerializer yield serialize(toBeRenderedBy, context) File ""/home/amduser/tahoe-loadnet/source/support/lib/python2.5/site-packages/Nevow-0.9.0-py2.5.egg/nevow/flat/ten.py"", line 70, in serialize return partialflatten(context, obj) File ""/home/amduser/tahoe-loadnet/source/support/lib/python2.5/site-packages/Nevow-0.9.0-py2.5.egg/nevow/flat/ten.py"", line 61, in partialflatten return flattener(obj, context) File ""/home/amduser/tahoe-loadnet/source/support/lib/python2.5/site-packages/Nevow-0.9.0-py2.5.egg/nevow/flat/flatstan.py"", line 262, in DirectiveSerializer return serialize(renderer, context) File ""/home/amduser/tahoe-loadnet/source/support/lib/python2.5/site-packages/Nevow-0.9.0-py2.5.egg/nevow/flat/ten.py"", line 70, in serialize return partialflatten(context, obj) File ""/home/amduser/tahoe-loadnet/source/support/lib/python2.5/site-packages/Nevow-0.9.0-py2.5.egg/nevow/flat/ten.py"", line 61, in partialflatten return flattener(obj, context) File ""/home/amduser/tahoe-loadnet/source/support/lib/python2.5/site-packages/Nevow-0.9.0-py2.5.egg/nevow/flat/flatstan.py"", line 245, in MethodSerializer return FunctionSerializer(original, context, nocontext) File ""/home/amduser/tahoe-loadnet/source/support/lib/python2.5/site-packages/Nevow-0.9.0-py2.5.egg/nevow/flat/flatstan.py"", line 234, in FunctionSerializer result = original(context, data) File ""/home/amduser/tahoe-loadnet/source/src/allmydata/webish.py"", line 227, in render_row ctx.fillSlots(""size"", target.get_size()) File ""/home/amduser/tahoe-loadnet/source/src/allmydata/filenode.py"", line 25, in get_size return IFileURI(self.uri).get_size() File ""/usr/lib/python2.5/site-packages/twisted/python/components.py"", line 113, in _hook return factory(ob) File ""/home/amduser/tahoe-loadnet/source/src/allmydata/uri.py"", line 428, in from_string_filenode u = from_string(s) File ""/home/amduser/tahoe-loadnet/source/src/allmydata/uri.py"", line 391, in from_string return CHKFileURI().init_from_string(s) File ""/home/amduser/tahoe-loadnet/source/src/allmydata/uri.py"", line 52, in init_from_string self.key = idlib.a2b(key_s) File ""/home/amduser/tahoe-loadnet/source/src/allmydata/util/idlib.py"", line 190, in a2b precondition(could_be_base32_encoded(cs), ""cs is required to be possibly base32 encoded data."", cs=cs) exceptions.RuntimeError: maximum recursion depth exceeded }}} I'm not sure if there is actual recursion taking place.. it may just be a function that's returning defer.succeed(result) and this basically surprises some other piece of code that doesn't expect the Deferred to fire so quickly. " defect closed major 0.8.0 (Allmydata 3.0 Beta) code-frontend-web 0.7.0 fixed twisted deferred