#2377: Dispatcher regression in TG2.1:
------------------------+---------------------------------------------------
 Reporter:  lmacken     |       Owner:  percious
     Type:  defect      |      Status:  new     
 Priority:  normal      |   Milestone:  2.1     
Component:  TurboGears  |     Version:  2.1     
 Severity:  critical    |    Keywords:          
------------------------+---------------------------------------------------
 I'm experiencing some dispatcher regression in TurboGears 2.1dev when
 returning a PylonsApp from WSGI middleware with a custom resolve method
 that returns a BaseController which does a lookup to another Controller.

 {{{
 Traceback (most recent call last):
   File "/usr/lib/python2.6/site-packages/nose/case.py", line 182, in
 runTest
     self.test(*self.arg)
   File "/srv/moksha/moksha/tests/quickstarts/test_livewidget.py", line 66,
 in test_livewidget
     resp = self.app.get('/widgets/mokshatest')
   File "/usr/lib/python2.6/site-packages/webtest/__init__.py", line 153,
 in get
     expect_errors=expect_errors)
   File "/usr/lib/python2.6/site-packages/webtest/__init__.py", line 310,
 in do_request
     res = req.get_response(app, catch_exc_info=True)
   File "/usr/lib/python2.6/site-packages/webob/__init__.py", line 1321, in
 get_response
     application, catch_exc_info=True)
   File "/usr/lib/python2.6/site-packages/webob/__init__.py", line 1293, in
 call_application
     app_iter = application(self.environ, start_response)
   File "/usr/lib/python2.6/site-packages/webtest/lint.py", line 170, in
 lint_app
     iterator = application(environ, start_response_wrapper)
   File "/usr/lib/python2.6/site-packages/paste/cascade.py", line 130, in
 __call__
     return self.apps[-1](environ, start_response)
   File "/usr/lib/python2.6/site-packages/paste/registry.py", line 350, in
 __call__
     app_iter = self.application(environ, start_response)
   File "/usr/lib/python2.6/site-packages/pylons/middleware.py", line 201,
 in __call__
     self.app, environ, catch_exc_info=True)
   File "/usr/lib/python2.6/site-packages/pylons/util.py", line 94, in
 call_wsgi_application
     app_iter = application(environ, start_response)
   File "/usr/lib/python2.6/site-packages/weberror/evalexception.py", line
 235, in __call__
     return self.respond(environ, start_response)
   File "/usr/lib/python2.6/site-packages/weberror/evalexception.py", line
 418, in respond
     return self.application(environ, start_response)
   File "/usr/lib/python2.6/site-packages/tg/configuration.py", line 550,
 in remover
     return app(environ, start_response)
   File "/usr/lib/python2.6/site-packages/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/middleware.py", line
 107, in __call__
     app_iter = app(environ, wrapper.wrap_start_response)
   File "/usr/lib/python2.6/site-packages/tw/core/middleware.py", line 43,
 in __call__
     return self.wsgi_app(environ, start_response)
   File "/usr/lib/python2.6/site-packages/tw/core/middleware.py", line 68,
 in wsgi_app
     resp = req.get_response(self.application)
   File "/usr/lib/python2.6/site-packages/webob/__init__.py", line 1325, in
 get_response
     application, catch_exc_info=False)
   File "/usr/lib/python2.6/site-packages/webob/__init__.py", line 1293, in
 call_application
     app_iter = application(self.environ, start_response)
   File "/usr/lib/python2.6/site-packages/tw/core/resource_injector.py",
 line 68, in _injector
     resp = req.get_response(app)
   File "/usr/lib/python2.6/site-packages/webob/__init__.py", line 1325, in
 get_response
     application, catch_exc_info=False)
   File "/usr/lib/python2.6/site-packages/webob/__init__.py", line 1293, in
 call_application
     app_iter = application(self.environ, start_response)
   File "/usr/lib/python2.6/site-packages/beaker/middleware.py", line 73,
 in __call__
     return self.app(environ, start_response)
   File "/usr/lib/python2.6/site-packages/beaker/middleware.py", line 152,
 in __call__
     return self.wrap_app(environ, session_start_response)
   File "/usr/lib/python2.6/site-packages/routes/middleware.py", line 130,
 in __call__
     response = self.app(environ, start_response)
   File "/srv/moksha/moksha/middleware/csrf.py", line 188, in __call__
     response = request.get_response(self.application)
   File "/usr/lib/python2.6/site-packages/webob/__init__.py", line 1325, in
 get_response
     application, catch_exc_info=False)
   File "/usr/lib/python2.6/site-packages/webob/__init__.py", line 1293, in
 call_application
     app_iter = application(self.environ, start_response)
   File "/srv/moksha/moksha/middleware/middleware.py", line 85, in __call__
     return self.mokshaapp(environ, start_response)
   File "/usr/lib/python2.6/site-packages/pylons/wsgiapp.py", line 125, in
 __call__
     response = self.dispatch(controller, environ, start_response)
   File "/usr/lib/python2.6/site-packages/pylons/wsgiapp.py", line 324, in
 dispatch
     return controller(environ, start_response)
   File "/srv/moksha/moksha/lib/base.py", line 63, in __call__
     return TGController.__call__(self, environ, start_response)
   File "/usr/lib/python2.6/site-packages/pylons/controllers/core.py", line
 221, in __call__
     response = self._dispatch_call()
   File "/usr/lib/python2.6/site-packages/pylons/controllers/core.py", line
 172, in _dispatch_call
     response = self._inspect_call(func)
   File "/usr/lib/python2.6/site-packages/pylons/controllers/core.py", line
 107, in _inspect_call
     result = self._perform_call(func, args)
   File "/usr/lib/python2.6/site-packages/tg/controllers/dispatcher.py",
 line 231, in _perform_call
     r = self._call(func, params, remainder=remainder)
   File "/usr/lib/python2.6/site-
 packages/tg/controllers/decoratedcontroller.py", line 98, in _call
     params, remainder =
 self._remove_argspec_params_from_params(controller, params, remainder)
   File "/usr/lib/python2.6/site-packages/tg/controllers/dispatcher.py",
 line 142, in _remove_argspec_params_from_params
     remainder[i] = params[var]
 IndexError: list assignment index out of range
 }}}

-- 
Ticket URL: <http://trac.turbogears.org/ticket/2377>
TurboGears <http://www.turbogears.org/>
TurboGears front-to-back web development

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "TurboGears Tickets" group.
This group is read-only. No posting by normal members allowed.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/turbogears-tickets?hl=en?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to