Using xmlrpc breaks the toolbar #29

Closed
wichert opened this Issue Sep 15, 2011 · 4 comments

4 participants

@wichert
Pylons Project member

When a view uses xmlrpclib the debugtoolbar always generates an execption:

----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 35459)
Traceback (most recent call last):
  File "/home/wichert/lib/buildout/eggs/Paste-1.7.5.1-py2.7.egg/paste/httpserver.py", line 1068, in process_request_in_thread
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.7/SocketServer.py", line 639, in __init__
    self.handle()
  File "/home/wichert/lib/buildout/eggs/Paste-1.7.5.1-py2.7.egg/paste/httpserver.py", line 442, in handle
    BaseHTTPRequestHandler.handle(self)
  File "/usr/lib/python2.7/BaseHTTPServer.py", line 343, in handle
    self.handle_one_request()
  File "/home/wichert/lib/buildout/eggs/Paste-1.7.5.1-py2.7.egg/paste/httpserver.py", line 437, in handle_one_request
    self.wsgi_execute()
  File "/home/wichert/lib/buildout/eggs/Paste-1.7.5.1-py2.7.egg/paste/httpserver.py", line 287, in wsgi_execute
    self.wsgi_start_response)
  File "/home/wichert/lib/buildout/eggs/repoze.zodbconn-0.12-py2.7.egg/repoze/zodbconn/connector.py", line 21, in __call__
    result = self.next_app(environ, start_response)
  File "/home/wichert/lib/buildout/eggs/repoze.retry-1.0-py2.7.egg/repoze/retry/__init__.py", line 90, in __call__
    app_iter = self.application(environ, replace_start_response)
  File "/home/wichert/lib/buildout/eggs/repoze.tm2-1.0b1-py2.7.egg/repoze/tm/__init__.py", line 23, in __call__
    result = self.application(environ, save_status_and_headers)
  File "/home/wichert/lib/buildout/eggs/repoze.filesafe-2.0b1-py2.7.egg/repoze/filesafe/__init__.py", line 59, in __call__
    return self.app(environ, start_response)
  File "/home/wichert/lib/buildout/eggs/pyramid-1.2a5-py2.7.egg/pyramid/router.py", line 176, in __call__
    response = self.handle_request(request)
  File "/home/wichert/lib/buildout/eggs/pyramid_debugtoolbar-0.9.3-py2.7.egg/pyramid_debugtoolbar/toolbar.py", line 150, in toolbar_tween
    toolbar.process_response(response)
  File "/home/wichert/lib/buildout/eggs/pyramid_debugtoolbar-0.9.3-py2.7.egg/pyramid_debugtoolbar/toolbar.py", line 50, in process_response
    vars, request=request)
  File "/home/wichert/lib/buildout/eggs/pyramid-1.2a5-py2.7.egg/pyramid/renderers.py", line 69, in render
    return helper.render(value, None, request=request)
  File "/home/wichert/lib/buildout/eggs/pyramid-1.2a5-py2.7.egg/pyramid/renderers.py", line 418, in render
    result = renderer(value, system_values)
  File "/home/wichert/lib/buildout/eggs/pyramid_jinja2-1.1-py2.7.egg/pyramid_jinja2/__init__.py", line 277, in __call__
    return self.template.render(system)
  File "/home/wichert/lib/buildout/eggs/Jinja2-2.6-py2.7.egg/jinja2/environment.py", line 894, in render
    return self.environment.handle_exception(exc_info, True)
  File "/home/wichert/lib/buildout/eggs/pyramid_debugtoolbar-0.9.3-py2.7.egg/pyramid_debugtoolbar/templates/toolbar.jinja2", line 62, in top-level template code
    {{ panel.content()|safe }}
  File "/home/wichert/lib/buildout/eggs/pyramid_debugtoolbar-0.9.3-py2.7.egg/pyramid_debugtoolbar/panels/settings.py", line 57, in content
    vars, self.request)
  File "/home/wichert/lib/buildout/eggs/pyramid_debugtoolbar-0.9.3-py2.7.egg/pyramid_debugtoolbar/panels/__init__.py", line 24, in render
    return render(template_name, vars, request=request)
  File "/home/wichert/lib/buildout/eggs/pyramid-1.2a5-py2.7.egg/pyramid/renderers.py", line 69, in render
    return helper.render(value, None, request=request)
  File "/home/wichert/lib/buildout/eggs/pyramid-1.2a5-py2.7.egg/pyramid/renderers.py", line 418, in render
    result = renderer(value, system_values)
  File "/home/wichert/lib/buildout/eggs/pyramid_jinja2-1.1-py2.7.egg/pyramid_jinja2/__init__.py", line 277, in __call__
    return self.template.render(system)
  File "/home/wichert/lib/buildout/eggs/Jinja2-2.6-py2.7.egg/jinja2/environment.py", line 894, in render
    return self.environment.handle_exception(exc_info, True)
  File "/home/wichert/lib/buildout/eggs/pyramid_debugtoolbar-0.9.3-py2.7.egg/pyramid_debugtoolbar/panels/templates/settings.jinja2", line 12, in top-level template code
    <td>{{ value|escape }}</td>
  File "/usr/lib/python2.7/xmlrpclib.py", line 1224, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1575, in __request
    verbose=self.__verbose
  File "/usr/lib/python2.7/xmlrpclib.py", line 1264, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1297, in single_request
    return self.parse_response(response)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1473, in parse_response
    return u.close()
  File "/usr/lib/python2.7/xmlrpclib.py", line 793, in close
    raise Fault(**self._stack[0])
Fault: <Fault 0: 'No such handler: __html__'>
----------------------------------------

@dhaaker

Hi Wichert,

Do you have any more information on how to reproduce? Some view code for example?
I've tried a quick test project with xmlrpclib and see no problems.

Thanks, Daniel

@mcdonc
Pylons Project member

This is probably the same bug as #30 (same symptom).

@mcdonc
Pylons Project member

0.9.4 just released, please give it a roll and see if it fixes this.

@mmerickel mmerickel closed this Sep 16, 2015
@mmerickel
Pylons Project member

I'm closing this as it's 4 years and no one has reproduced the issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment