Hi, I made a new checkout of this branch and tried it (in a ZEO context, with ZODB-3.10.5). I'm actually getting an IndexError on many (most !) pages... Here is the traceback : URL: /var/local/src/zodbbrowser-tlc/time-limited-connection/src/zodbbrowser/templates/zodbinfo.pt File '/var/local/eggs/Paste-1.7.5.1-py2.6.egg/paste/evalexception/middleware.py', line 306 in respond app_iter = self.application(environ, detect_start_response) File '/var/local/eggs/WebOb-1.2b2-py2.6.egg/webob/dec.py', line 132 in __call__ resp = self.call_func(req, *args, **self.kwargs) File '/var/local/eggs/WebOb-1.2b2-py2.6.egg/webob/dec.py', line 197 in call_func return self.func(req, *args, **kwargs) File '/var/local/eggs/fanstatic-0.11.3-py2.6.egg/fanstatic/publisher.py', line 234 in __call__ return request.get_response(self.app) File '/var/local/eggs/WebOb-1.2b2-py2.6.egg/webob/request.py', line 1149 in get_response application, catch_exc_info=False) File '/var/local/eggs/WebOb-1.2b2-py2.6.egg/webob/request.py', line 1118 in call_application app_iter = application(self.environ, start_response) File '/var/local/eggs/WebOb-1.2b2-py2.6.egg/webob/dec.py', line 132 in __call__ resp = self.call_func(req, *args, **self.kwargs) File '/var/local/eggs/WebOb-1.2b2-py2.6.egg/webob/dec.py', line 197 in call_func return self.func(req, *args, **kwargs) File '/var/local/eggs/fanstatic-0.11.3-py2.6.egg/fanstatic/injector.py', line 52 in __call__ response = request.get_response(self.app) File '/var/local/eggs/WebOb-1.2b2-py2.6.egg/webob/request.py', line 1149 in get_response application, catch_exc_info=False) File '/var/local/eggs/WebOb-1.2b2-py2.6.egg/webob/request.py', line 1118 in call_application app_iter = application(self.environ, start_response) File '/var/local/eggs/Paste-1.7.5.1-py2.6.egg/paste/translogger.py', line 68 in __call__ return self.application(environ, replacement_start_response) File '/var/local/env/ids/src/webapp/startup.py', line 32 in wrapper return app(environ, start_response) File '/var/local/eggs/zope.app.wsgi-3.10.0-py2.6.egg/zope/app/wsgi/__init__.py', line 59 in __call__ request = publish(request, handle_errors=handle_errors) File '/var/local/eggs/zope.publisher-3.12.6-py2.6.egg/zope/publisher/publish.py', line 132 in publish result = publication.callObject(request, obj) File '/var/local/eggs/zope.app.publication-3.12.0-py2.6.egg/zope/app/publication/zopepublication.py', line 207 in callObject return mapply(ob, request.getPositionalArguments(), request) > File '/var/local/eggs/zope.publisher-3.12.6-py2.6.egg/zope/publisher/publish.py', line 107 in mapply return debug_call(obj, args) File '/var/local/eggs/zope.publisher-3.12.6-py2.6.egg/zope/publisher/publish.py', line 113 in debug_call return obj(*args) File '/var/local/src/zodbbrowser-tlc/time-limited-connection/src/zodbbrowser/browser.py', line 91 in __call__ return self.render() File '/var/local/src/zodbbrowser-tlc/time-limited-connection/src/zodbbrowser/browser.py', line 149 in render return self.template() File '/var/local/eggs/zope.browserpage-3.12.2-py2.6.egg/zope/browserpage/viewpagetemplatefile.py', line 83 in __call__ return self.im_func(im_self, *args, **kw) File '/var/local/eggs/zope.browserpage-3.12.2-py2.6.egg/zope/browserpage/viewpagetemplatefile.py', line 51 in __call__ sourceAnnotations=getattr(debug_flags, 'sourceAnnotations', 0), File '/var/local/eggs/zope.pagetemplate-3.5.2-py2.6.egg/zope/pagetemplate/pagetemplate.py', line 113 in pt_render strictinsert=0, sourceAnnotations=sourceAnnotations)() File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 271 in __call__ self.interpret(self.program) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 343 in interpret handlers[opcode](self, args) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 888 in do_useMacro self.interpret(macro) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 343 in interpret handlers[opcode](self, args) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 533 in do_optTag_tal self.do_optTag(stuff) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 518 in do_optTag return self.no_tag(start, program) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 513 in no_tag self.interpret(program) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 343 in interpret handlers[opcode](self, args) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 858 in do_defineMacro self.interpret(macro) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 343 in interpret handlers[opcode](self, args) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 946 in do_defineSlot self.interpret(slot) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 343 in interpret handlers[opcode](self, args) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 533 in do_optTag_tal self.do_optTag(stuff) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 518 in do_optTag return self.no_tag(start, program) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 513 in no_tag self.interpret(program) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 343 in interpret handlers[opcode](self, args) File '/var/local/eggs/zope.tal-3.5.2-py2.6.egg/zope/tal/talinterpreter.py', line 583 in do_setLocal_tal self.engine.setLocal(name, self.engine.evaluateValue(expr)) Line 87, Column 2 In expression: - Names: {'args': (), 'context': , 'default': , 'loop': {}, 'nothing': None, 'options': {}, 'repeat': {}, 'request': , 'template': , 'view': , 'views': } File '/var/local/eggs/zope.tales-3.5.1-py2.6.egg/zope/tales/tales.py', line 696 in evaluate return expression(self) File '/var/local/eggs/zope.tales-3.5.1-py2.6.egg/zope/tales/expressions.py', line 217 in __call__ return self._eval(econtext) File '/var/local/eggs/zope.tales-3.5.1-py2.6.egg/zope/tales/expressions.py', line 211 in _eval return ob() File '/var/local/src/zodbbrowser-tlc/time-limited-connection/src/zodbbrowser/browser.py', line 380 in listHistory diff = compareDictsHTML(curState, oldState, d['tid']) File '/var/local/src/zodbbrowser-tlc/time-limited-connection/src/zodbbrowser/diff.py', line 138 in compareDictsHTML html.append(IValueRenderer(value).render(tid)) File '/var/local/eggs/zope.interface-3.7.0-py2.6-linux-x86_64.egg/zope/interface/interface.py', line 177 in __call__ conform = getattr(obj, '__conform__', None) File '/var/local/src/zodbbrowser-tlc/time-limited-connection/src/zodbbrowser/history.py', line 168 in setstate p, serial = self._storage.load(obj._p_oid) File '/var/local/src/zodbbrowser-tlc/time-limited-connection/src/zodbbrowser/history.py', line 211 in load serial = self.history(oid)[0]['tid'] IndexError: list index out of range CGI Variables ------------- CONTENT_LENGTH: '0' HTTP_ACCEPT: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' HTTP_ACCEPT_CHARSET: 'UTF-8,*;q=0.5' HTTP_ACCEPT_ENCODING: 'gzip,deflate,sdch' HTTP_ACCEPT_LANGUAGE: 'fr,en-US;q=0.8,en;q=0.6,en-GB;q=0.4' HTTP_CACHE_CONTROL: 'max-age=0' HTTP_CONNECTION: 'keep-alive' HTTP_COOKIE: 'zope3_cs_ecf7caf=..zhyICqO9uEP3bicDrWRTkWEyUfTxUAoSGVk4EnR8.oFhkcM9fWSg' HTTP_HOST: 'localhost:8080' HTTP_USER_AGENT: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/535.15 (KHTML, like Gecko) Ubuntu/10.04 Chromium/18.0.996.0 Chrome/18.0.996.0 Safari/535.15' PATH_INFO: '/++skin++ZMI/www.ztfy.org/@@zodbbrowser' QUERY_STRING: 'oid=0xc69' REMOTE_ADDR: '127.0.0.1' REQUEST_METHOD: 'GET' SERVER_NAME: '127.0.0.1' SERVER_PORT: '8080' SERVER_PROTOCOL: 'HTTP/1.1' WSGI Variables -------------- application: fanstatic.needed: paste.evalexception: paste.evalexception.debug_count: 1332109075 paste.httpserver.thread_pool: paste.throw_errors: True webob.adhoc_attrs: {'response': } wsgi process: 'Multithreaded' wsgi.handleErrors: False Best regards, Thierry