Hello all,

It seems that, when generating a 404 page (or, I assume, any other
error page), the ORM session has been invalidated and therefore any
attempt by the basic layout template (which is inherited by the error
template) to access attributes of the current user (e.g. tg.identity
['user'].foobar) produce the following traceback. Is there something
I'm missing?

(this behaviour, like other buggy behaviour already mentioned on this
list, might be attributed to the zope.transaction layer...)


Exception happened during processing of request from ('127.0.0.1',
39054)
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/Paste-1.7.2-py2.6.egg/paste/
httpserver.py", line 1062, in process_request_in_thread
    self.finish_request(request, client_address)
  File "/usr/lib64/python2.6/SocketServer.py", line 320, in
finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib64/python2.6/SocketServer.py", line 615, in __init__
    self.handle()
  File "/usr/lib/python2.6/site-packages/Paste-1.7.2-py2.6.egg/paste/
httpserver.py", line 436, in handle
    BaseHTTPRequestHandler.handle(self)
  File "/usr/lib64/python2.6/BaseHTTPServer.py", line 329, in handle
    self.handle_one_request()
  File "/usr/lib/python2.6/site-packages/Paste-1.7.2-py2.6.egg/paste/
httpserver.py", line 431, in handle_one_request
    self.wsgi_execute()
  File "/usr/lib/python2.6/site-packages/Paste-1.7.2-py2.6.egg/paste/
httpserver.py", line 287, in wsgi_execute
    self.wsgi_start_response)
  File "/usr/lib/python2.6/site-packages/Paste-1.7.2-py2.6.egg/paste/
cascade.py", line 130, in __call__
    return self.apps[-1](environ, start_response)
  File "/usr/lib/python2.6/site-packages/Paste-1.7.2-py2.6.egg/paste/
registry.py", line 350, in __call__
    app_iter = self.application(environ, start_response)
  File "/usr/lib/python2.6/site-packages/Pylons-0.9.7-py2.6.egg/pylons/
middleware.py", line 214, in __call__
    self.app, new_environ, catch_exc_info=True)
  File "/usr/lib/python2.6/site-packages/Pylons-0.9.7-py2.6.egg/pylons/
util.py", line 94, in call_wsgi_application
    app_iter = application(environ, start_response)
  File "/usr/lib/python2.6/site-packages/WebError-0.10.1-py2.6.egg/
weberror/evalexception.py", line 235, in __call__
    return self.respond(environ, start_response)
  File "/usr/lib/python2.6/site-packages/WebError-0.10.1-py2.6.egg/
weberror/evalexception.py", line 418, in respond
    return self.application(environ, start_response)
  File "/usr/lib/python2.6/site-packages/TurboGears2-2.0-py2.6.egg/tg/
configuration.py", line 643, in wrapper
    return app(environ, start_response)
  File "/usr/lib/python2.6/site-packages/TurboGears2-2.0-py2.6.egg/tg/
configuration.py", line 543, in remover
    return app(environ, start_response)
  File "/usr/lib/python2.6/site-packages/repoze.tm2-1.0a4-py2.6.egg/
repoze/tm/__init__.py", line 19, in __call__
    result = self.application(environ, save_status_and_headers)
  File "/usr/lib/python2.6/site-packages/repoze.who-1.0.10-py2.6.egg/
repoze/who/middleware.py", line 49, in __call__
    return self.app(environ, start_response)
  File "/usr/lib/python2.6/site-packages/ToscaWidgets-0.9.4-py2.6.egg/
tw/core/middleware.py", line 36, in __call__
    return self.wsgi_app(environ, start_response)
  File "/usr/lib/python2.6/site-packages/ToscaWidgets-0.9.4-py2.6.egg/
tw/core/middleware.py", line 59, in wsgi_app
    resp = req.get_response(self.application)
  File "/usr/lib/python2.6/site-packages/WebOb-0.9.6.1-py2.6.egg/webob/
__init__.py", line 1325, in get_response
    application, catch_exc_info=False)
  File "/usr/lib/python2.6/site-packages/WebOb-0.9.6.1-py2.6.egg/webob/
__init__.py", line 1293, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/lib/python2.6/site-packages/ToscaWidgets-0.9.4-py2.6.egg/
tw/core/resource_injector.py", line 67, in _injector
    resp = req.get_response(app)
  File "/usr/lib/python2.6/site-packages/WebOb-0.9.6.1-py2.6.egg/webob/
__init__.py", line 1325, in get_response
    application, catch_exc_info=False)
  File "/usr/lib/python2.6/site-packages/WebOb-0.9.6.1-py2.6.egg/webob/
__init__.py", line 1293, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/lib/python2.6/site-packages/Beaker-1.3-py2.6.egg/beaker/
middleware.py", line 81, in __call__
    return self.app(environ, start_response)
  File "/usr/lib/python2.6/site-packages/Beaker-1.3-py2.6.egg/beaker/
middleware.py", line 160, in __call__
    return self.wrap_app(environ, session_start_response)
  File "/usr/lib/python2.6/site-packages/Routes-1.10.3-py2.6.egg/
routes/middleware.py", line 130, in __call__
    response = self.app(environ, start_response)
  File "/usr/lib/python2.6/site-packages/Pylons-0.9.7-py2.6.egg/pylons/
wsgiapp.py", line 125, in __call__
    response = self.dispatch(controller, environ, start_response)
  File "/usr/lib/python2.6/site-packages/Pylons-0.9.7-py2.6.egg/pylons/
wsgiapp.py", line 324, in dispatch
    return controller(environ, start_response)
  File "/home/antoine/ftth/XXX/XXX/lib/base.py", line 36, in __call__
    return TGController.__call__(self, environ, start_response)
  File "/usr/lib/python2.6/site-packages/Pylons-0.9.7-py2.6.egg/pylons/
controllers/core.py", line 221, in __call__
    response = self._dispatch_call()
  File "/usr/lib/python2.6/site-packages/Pylons-0.9.7-py2.6.egg/pylons/
controllers/core.py", line 172, in _dispatch_call
    response = self._inspect_call(func)
  File "/usr/lib/python2.6/site-packages/Pylons-0.9.7-py2.6.egg/pylons/
controllers/core.py", line 107, in _inspect_call
    result = self._perform_call(func, args)
  File "/usr/lib/python2.6/site-packages/TurboGears2-2.0-py2.6.egg/tg/
controllers.py", line 798, in _perform_call
    self, controller, params, remainder=remainder)
  File "/usr/lib/python2.6/site-packages/TurboGears2-2.0-py2.6.egg/tg/
controllers.py", line 172, in _perform_call
    response = self._render_response(controller, output)
  File "/usr/lib/python2.6/site-packages/TurboGears2-2.0-py2.6.egg/tg/
controllers.py", line 350, in _render_response
    template_name=template_name)
  File "/usr/lib/python2.6/site-packages/TurboGears2-2.0-py2.6.egg/tg/
render.py", line 141, in render
    return render_function(template_name, template_vars, **kwargs)
  File "/usr/lib/python2.6/site-packages/TurboGears2-2.0-py2.6.egg/tg/
render.py", line 179, in render_mako
    **kwargs)
  File "/usr/lib/python2.6/site-packages/Pylons-0.9.7-py2.6.egg/pylons/
templating.py", line 274, in render_mako
    cache_type=cache_type, cache_expire=cache_expire)
  File "/usr/lib/python2.6/site-packages/Pylons-0.9.7-py2.6.egg/pylons/
templating.py", line 249, in cached_template
    return render_func()
  File "/usr/lib/python2.6/site-packages/Pylons-0.9.7-py2.6.egg/pylons/
templating.py", line 271, in render_template
    return literal(template.render_unicode(**globs))
  File "/usr/lib/python2.6/site-packages/Mako-0.2.4-py2.6.egg/mako/
template.py", line 138, in render_unicode
    return runtime._render(self, self.callable_, args, data,
as_unicode=True)
  File "/usr/lib/python2.6/site-packages/Mako-0.2.4-py2.6.egg/mako/
runtime.py", line 347, in _render
    _render_context(template, callable_, context, *args,
**_kwargs_for_callable(callable_, data))
  File "/usr/lib/python2.6/site-packages/Mako-0.2.4-py2.6.egg/mako/
runtime.py", line 364, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File "/usr/lib/python2.6/site-packages/Mako-0.2.4-py2.6.egg/mako/
runtime.py", line 397, in _exec_template
    callable_(context, *args, **kwargs)
  File "_home_antoine_ftth_XXX_XXX_templates_layout_mak", line 77, in
render_body
  File "/home/antoine/ftth/XXX/XXX/model/auth.py", line 157, in cps
    return set(z.cp for g in self.groups for z in g.zones)
  File "/home/antoine/ftth/XXX/XXX/model/auth.py", line 157, in
<genexpr>
    return set(z.cp for g in self.groups for z in g.zones)
  File "/usr/lib/python2.6/site-packages/SQLAlchemy-0.5.4p2-py2.6.egg/
sqlalchemy/orm/attributes.py", line 158, in __get__
    return self.impl.get(instance_state(instance), instance_dict
(instance))
  File "/usr/lib/python2.6/site-packages/SQLAlchemy-0.5.4p2-py2.6.egg/
sqlalchemy/orm/attributes.py", line 374, in get
    value = callable_()
  File "/usr/lib/python2.6/site-packages/SQLAlchemy-0.5.4p2-py2.6.egg/
sqlalchemy/orm/strategies.py", line 538, in __call__
    (mapperutil.state_str(state), self.key)
UnboundExecutionError: Parent instance <Group at 0x3ec76d0> is not
bound to a Session; lazy load operation of attribute 'zones' cannot
proceed

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"TurboGears" 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/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to