Hey, just had a horrible time debugging an issue, turns out the new
version of routes breaks something and causes all requests to 404 in
at least python 2.5 and 2.6 for tg2. We fixed this issue by going
back
to 1.11. Not sure if this will help but here is a sample trace.
serving on 0.0.0.0:50008 view athttp://127.0.0.1:50008
09:58:10,044 DEBUG [paste.httpserver.ThreadPool] Added task (0 tasks
queued)
09:58:10,045 DEBUG [txn.140430996646160] new transaction
09:58:10,047 DEBUG [routes.middleware] Matched GET /notify/newSample
09:58:10,047 DEBUG [routes.middleware] Route path: '*url', defaults:
{'action': u'routes_placeholder', 'controller': u'root'}
09:58:10,047 DEBUG [routes.middleware] Match dict: {'url': u'/notify/
newSample', 'action': u'routes_placeholder', 'controller': u'root'}
09:58:10,047 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object
globals
09:58:10,048 DEBUG [pylons.wsgiapp] Resolved URL to controller:
u'root'
09:58:10,051 DEBUG [tg.wsgiapp] Found controller, module:
'portalservice.controllers.root', class: 'RootController'
09:58:10,051 DEBUG [pylons.wsgiapp] Controller appears to be a class,
instantiating
09:58:10,051 DEBUG [pylons.wsgiapp] Calling controller class with
WSGI
interface
09:58:10,052 DEBUG [pylons.controllers.core] Calling '__before__'
method with keyword args: **{'pylons': <pylons.util.PylonsContext
object at 0x320e810>, 'url': u'/notify/newSample', 'start_response':
<function repl_start_response at 0x320ccf8>, 'controller': u'root',
'environ': {'routes.route': <routes.route.Route object at 0x3209850>,
'beaker.cache': <beaker.cache.CacheManager object at 0x3209b10>,
'toscawidgets.javascript.require_once': False, 'pylons.routes_dict':
{'url': u'/notify/newSample', 'action': u'routes_placeholder',
'controller': u'root'}, 'beaker.get_session': <bound method
SessionMiddleware._get_session of
<beaker.middleware.SessionMiddleware
object at 0x3209a90>>, 'SCRIPT_NAME': '', 'webob.adhoc_attrs':
{'language': 'en-us'}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/
notify/
newSample', 'repoze.tm.active': True, 'SERVER_PROTOCOL': 'HTTP/1.0',
'QUERY_STRING': 'inj=fluorine&uj=756', 'paste.throw_errors': True,
'CONTENT_LENGTH': '0', 'HTTP_USER_AGENT': 'Python-urllib/1.17',
'SERVER_NAME': '0.0.0.0', 'REMOTE_ADDR': '127.0.0.1',
'pylons.environ_config': {'session': 'beaker.session', 'cache':
'beaker.cache'}, 'pylons.pylons': <pylons.util.PylonsContext
object at
0x320e810>, 'wsgi.url_scheme': 'http', 'wsgiorg.routing_args':
(<routes.util.URLGenerator object at 0x320e690>, {'url': u'/notify/
newSample', 'action': u'routes_placeholder', 'controller': u'root'}),
'SERVER_PORT': '50008', 'toscawidgets.framework':
<tw.mods.base.HostFramework object at 0x3209b90>,
'pylons.controller':
<portalservice.controllers.root.RootController object at 0x320e8d0>,
'wsgi.input': <socket._fileobject object at 0x320c758 length=0>,
'HTTP_HOST': '127.0.0.1:50008', 'beaker.session': {'_id':
'7b4f377cacb90c278345b48c9320cfff'}, 'wsgi.multithread': True,
'routes.url': <routes.util.URLGenerator object at 0x320e690>,
'wsgi.version': (1, 0), 'paste.registry': <paste.registry.Registry
object at 0x320e210>, 'toscawidgets.prefix': '/toscawidgets',
'wsgi.run_once': False, 'wsgi.errors': <open file '<stderr>', mode
'w'
at 0x7fb8af831140>, 'wsgi.multiprocess': False, 'CONTENT_TYPE': '',
'paste.httpserver.thread_pool': <paste.httpserver.ThreadPool
object at
0x136f110>}, 'action': u'routes_placeholder'}
09:58:10,052 INFO [tg.i18n] Set request language to []
09:58:10,052 INFO [tg.i18n] Language []: not supported by FormEncode
09:58:10,053 DEBUG [tg.controllers] No controller-wide authorization
at /notify/newSample
09:58:10,053 DEBUG [pylons.controllers.core] Merging pylons.response
headers into start_response call, status: 404 Not Found
09:58:10,054 DEBUG [txn.140430996646160] commit
09:58:10,054 DEBUG [txn.140430996646160] new transaction
09:58:10,054 DEBUG [routes.middleware] Matched GET /error/document
09:58:10,054 DEBUG [routes.middleware] Route path: '*url', defaults:
{'action': u'routes_placeholder', 'controller': u'root'}
09:58:10,054 DEBUG [routes.middleware] Match dict: {'url': u'/error/
document', 'action': u'routes_placeholder', 'controller': u'root'}
09:58:10,055 DEBUG [pylons.wsgiapp] Setting up Pylons stacked object
globals
09:58:10,055 DEBUG [pylons.wsgiapp] Resolved URL to controller:
u'root'
09:58:10,055 DEBUG [pylons.wsgiapp] Controller appears to be a class,
instantiating
09:58:10,055 DEBUG [pylons.wsgiapp] Calling controller class with
WSGI
interface
09:58:10,055 DEBUG [pylons.controllers.core] Calling '__before__'
method with keyword args: **{'pylons': <pylons.util.PylonsContext
object at 0x321b310>, 'url': u'/error/document', 'start_response':
<function repl_start_response at 0x3216e60>, 'controller': u'root',
'environ': {'wsgi.multiprocess': False, 'pylons.original_response':
<Response at 0x320e310 404 Not Found>, 'beaker.cache':
<beaker.cache.CacheManager object at 0x3209b10>,
'toscawidgets.javascript.require_once': False, 'pylons.routes_dict':
{'url': u'/error/document', 'action': u'routes_placeholder',
'controller': u'root'}, 'SERVER_PROTOCOL': 'HTTP/1.0', 'SCRIPT_NAME':
'', 'pylons.original_request': <Request at 0x320e390 GEThttp://
127.0.0.1:50008/notify/newSample?inj=fluorine&uj=756>,
'webob.adhoc_attrs': {'response_type': None, 'language': 'en-us',
'response_ext': None}, 'REQUEST_METHOD': 'GET', 'PATH_INFO': '/error/
document', 'repoze.tm.active': True, 'beaker.get_session': <bound
method SessionMiddleware._get_session of
<beaker.middleware.SessionMiddleware object at 0x3209a90>>,
'QUERY_STRING': 'inj=fluorine&uj=756', 'paste.throw_errors': True,
'CONTENT_LENGTH': '0', 'HTTP_USER_AGENT': 'Python-urllib/1.17',
'SERVER_NAME': '0.0.0.0', 'routes.route': <routes.route.Route object
at 0x3209850>, 'pylons.environ_config': {'session': 'beaker.session',
'cache': 'beaker.cache'}, 'pylons.pylons': <pylons.util.PylonsContext
object at 0x321b310>, 'wsgi.url_scheme': 'http',
'wsgiorg.routing_args': (<routes.util.URLGenerator object at
0x321b210>, {'url': u'/error/document', 'action':
u'routes_placeholder', 'controller': u'root'}), 'SERVER_PORT':
'50008', 'toscawidgets.framework': <tw.mods.base.HostFramework object
at 0x3209b90>, 'pylons.controller':
<portalservice.controllers.root.RootController object at 0x321b450>,
'wsgi.input': <socket._fileobject object at 0x320c758 length=0>,
'HTTP_HOST': '127.0.0.1:50008', 'beaker.session': {'_id':
'e182b6500d77717b340a7384fae37c33'}, 'wsgi.multithread': True,
'routes.url': <routes.util.URLGenerator object at 0x321b210>,
'wsgi.version': (1, 0), 'paste.registry': <paste.registry.Registry
object at 0x320e210>, 'toscawidgets.prefix': '/toscawidgets',
'wsgi.run_once': False, 'wsgi.errors': <open file '<stderr>', mode
'w'
at 0x7fb8af831140>, 'REMOTE_ADDR': '127.0.0.1', 'CONTENT_TYPE': '',
'paste.httpserver.thread_pool': <paste.httpserver.ThreadPool
object at
0x136f110>}, 'action': u'routes_placeholder'}
09:58:10,056 INFO [tg.i18n] Set request language to []
09:58:10,056 INFO [tg.i18n] Language []: not supported by FormEncode
09:58:10,056 DEBUG [tg.controllers] No controller-wide authorization
at /error/document
09:58:10,057 DEBUG [pylons.controllers.core] Merging pylons.response
headers into start_response call, status: 404 Not Found
09:58:10,057 DEBUG [txn.140430996646160] commit
^C09:58:10,751 INFO [paste.httpserver.ThreadPool] Shutting down
threadpool