Dear Galaxy community, I have noticed on forums that some users are experiencing this problem too, but no clues on how to fix it. When I set debug = false in universe.wsgi.ini, I get a server error in the history frame (history works perfectly when debug = true). Trying to create a new history, or to upload a saved one, doesn't work either. I use postgresql and nginx, but I this problem also appears on a freshly cloned instance of galaxy-dist. I tried on two machines with Fedora 13 + python 2.6.4 and Fedora 17 + python 2.7.3. As my goal is to use Galaxy in a production environment (with 2 webservers, 1 manager and 2 handlers), I would really like to be able to turn off debug. Here is what I can find in my paster.log when I turn off debug. Thanks a lot if anyone has a solution! David Starting server in PID 4664. serving on 0.0.0.0:8081 view at http://127.0.0.1:8081 127.0.0.1 - - [03/Aug/2012:16:26:49 +0200] "GET / HTTP/1.0" 200 - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" 127.0.0.1 - - [03/Aug/2012:16:26:49 +0200] "GET /root/tool_menu HTTP/1.0" 200 - "http://127.0.0.1:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" 127.0.0.1 - - [03/Aug/2012:16:26:49 +0200] "GET /history HTTP/1.0" 200 - "http://127.0.0.1:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" 127.0.0.1 - - [03/Aug/2012:16:26:49 +0200] "GET /history HTTP/1.0" 500 - "http://127.0.0.1:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" Error - <type 'exceptions.TypeError'>: 'NoneType' object is not callable URL: http://127.0.0.1/history File '/usr/lib/python2.7/site-packages/paste/exceptions/errormiddleware.py', line 144 in __call__ app_iter = self.application(environ, sr_checker) File '/usr/lib/python2.7/site-packages/paste/recursive.py', line 84 in __call__ return self.application(environ, start_response) File '/usr/lib/python2.7/site-packages/paste/httpexceptions.py', line 633 in __call__ return self.application(environ, start_response) File '/home/galaxy2ei/galaxy-dist/lib/galaxy/web/framework/base.py', line 169 in __call__ return body( environ, start_response ) File '/home/galaxy2ei/galaxy-dist/lib/galaxy/web/framework/__init__.py', line 772 in render template.render_context( context ) File '/home/galaxy2ei/galaxy-dist/eggs/Mako-0.4.1-py2.7.egg/mako/template.py', line 319 in render_context **kwargs) File '/home/galaxy2ei/galaxy-dist/eggs/Mako-0.4.1-py2.7.egg/mako/runtime.py', line 692 in _render_context _exec_template(inherit, lclcontext, args=args, kwargs=kwargs) File '/home/galaxy2ei/galaxy-dist/eggs/Mako-0.4.1-py2.7.egg/mako/runtime.py', line 718 in _exec_template callable_(context, *args, **kwargs) File '/home/galaxy2ei/galaxy-dist/database/compiled_templates/root/history.mako.py', line 62 in render_body __M_writer(u'\n\n') File '/home/galaxy2ei/galaxy-dist/lib/galaxy/web/framework/__init__.py', line 769 in write response_write( d.encode( 'utf-8' ) ) TypeError: 'NoneType' object is not callable CGI Variables ------------- CONTENT_LENGTH: '0' HTTP_ACCEPT: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' HTTP_ACCEPT_ENCODING: 'gzip, deflate' HTTP_ACCEPT_LANGUAGE: 'en-us,en;q=0.5' HTTP_CONNECTION: 'close' HTTP_COOKIE: 'galaxysession=c6ca0ddb55be603a1a924b5a883eb84f93f9e2c6424cabed485f00c49dc51dd6632e1e679e865175' HTTP_HOST: '127.0.0.1' HTTP_REFERER: 'http://127.0.0.1:8080/' HTTP_USER_AGENT: 'Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1' HTTP_X_FORWARDED_FOR: '127.0.0.1' HTTP_X_FORWARDED_HOST: '127.0.0.1' ORGINAL_HTTP_HOST: 'galaxy_app' ORGINAL_REMOTE_ADDR: '127.0.0.1' PATH_INFO: '/history' REMOTE_ADDR: '127.0.0.1' REQUEST_METHOD: 'GET' SERVER_NAME: '0.0.0.0' SERVER_PORT: '8081' SERVER_PROTOCOL: 'HTTP/1.0' Configuration ------------- __file__: '/home/galaxy2ei/galaxy-dist/universe_wsgi.ini' admin_users: 'david.roquis@yahoo.com, galaxytest@2ei.com' allow_library_path_paste: 'True' allow_user_dataset_purge: 'True' allow_user_deletion: 'True' allow_user_impersonation: 'True' database_connection: 'postgres://galaxy2ei:galaxy2ei@localhost:5432/galaxyprod' database_engine_option_server_side_cursors: 'True' database_engine_option_strategy: 'threadlocal' datatypes_config_file: 'datatypes_conf.xml' debug: 'False' default_job_handlers: 'handler0' enable_quotas: 'True' file_path: 'database/files' here: '/home/galaxy2ei/galaxy-dist' job_handlers: 'handler0' job_manager: 'manager' job_working_directory: 'database/job_working_directory' library_import_dir: '/home/galaxy2ei/Downloads' new_file_path: 'database/tmp' nginx_upload_path: '/_upload' nginx_upload_store: 'database/tmp/upload_store' nginx_x_accel_redirect_base: '/_x_accel_redirect' nglims_config_file: 'tool-data/nglims.yaml' set_metadata_externally: 'True' static_cache_time: '360' static_dir: '/home/galaxy2ei/galaxy-dist/static/' static_enabled: 'True' static_favicon_dir: '/home/galaxy2ei/galaxy-dist/static/favicon.ico' static_images_dir: '/home/galaxy2ei/galaxy-dist/static/images' static_robots_txt: '/home/galaxy2ei/galaxy-dist/static/robots.txt' static_scripts_dir: '/home/galaxy2ei/galaxy-dist/static/scripts/' static_style_dir: '/home/galaxy2ei/galaxy-dist/static/june_2007_style/blue' tool_config_file: 'tool_conf.xml,shed_tool_conf.xml' tool_data_path: 'tool-data' tool_path: 'tools' upstream_gzip: 'True' use_interactive: 'False' use_nglims: 'False' user_library_import_dir: '/home/galaxy2ei/Downloads' WSGI Variables -------------- application: <paste.recursive.RecursiveMiddleware object at 0x8077450> paste.cookies: (<SimpleCookie: galaxysession='c6ca0ddb55be603a1a924b5a883eb84f93f9e2c6424cabed485f00c49dc51dd6632e1e679e865175'>, 'galaxysession=c6ca0ddb55be603a1a924b5a883eb84f93f9e2c6424cabed485f00c49dc51dd6632e1e679e865175') paste.expected_exceptions: [<class 'paste.httpexceptions.HTTPException'>] paste.httpexceptions: <paste.httpexceptions.HTTPExceptionHandler object at 0x8077350> paste.httpserver.thread_pool: <paste.httpserver.ThreadPool object at 0x7f34ec7f5950> paste.recursive.forward: <paste.recursive.Forwarder from /> paste.recursive.include: <paste.recursive.Includer from /> paste.recursive.include_app_iter: <paste.recursive.IncluderAppIter from /> paste.recursive.script_name: '' paste.throw_errors: True webob._parsed_query_vars: (MultiDict([]), '') wsgi process: 'Multithreaded' ------------------------------------------------------------
On Aug 3, 2012, at 10:42 AM, David Roquis wrote:
Dear Galaxy community,
I have noticed on forums that some users are experiencing this problem too, but no clues on how to fix it. When I set debug = false in universe.wsgi.ini, I get a server error in the history frame (history works perfectly when debug = true). Trying to create a new history, or to upload a saved one, doesn't work either. I use postgresql and nginx, but I this problem also appears on a freshly cloned instance of galaxy-dist. I tried on two machines with Fedora 13 + python 2.6.4 and Fedora 17 + python 2.7.3. As my goal is to use Galaxy in a production environment (with 2 webservers, 1 manager and 2 handlers), I would really like to be able to turn off debug. Here is what I can find in my paster.log when I turn off debug.
Thanks a lot if anyone has a solution!
David
Starting server in PID 4664. serving on 0.0.0.0:8081 view at http://127.0.0.1:8081 127.0.0.1 - - [03/Aug/2012:16:26:49 +0200] "GET / HTTP/1.0" 200 - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" 127.0.0.1 - - [03/Aug/2012:16:26:49 +0200] "GET /root/tool_menu HTTP/1.0" 200 - "http://127.0.0.1:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" 127.0.0.1 - - [03/Aug/2012:16:26:49 +0200] "GET /history HTTP/1.0" 200 - "http://127.0.0.1:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" 127.0.0.1 - - [03/Aug/2012:16:26:49 +0200] "GET /history HTTP/1.0" 500 - "http://127.0.0.1:8080/" "Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1" Error - <type 'exceptions.TypeError'>: 'NoneType' object is not callable URL: http://127.0.0.1/history File '/usr/lib/python2.7/site-packages/paste/exceptions/errormiddleware.py', line 144 in __call__ app_iter = self.application(environ, sr_checker) File '/usr/lib/python2.7/site-packages/paste/recursive.py', line 84 in __call__ return self.application(environ, start_response) File '/usr/lib/python2.7/site-packages/paste/httpexceptions.py', line 633 in __call__ return self.application(environ, start_response) File '/home/galaxy2ei/galaxy-dist/lib/galaxy/web/framework/base.py', line 169 in __call__ return body( environ, start_response ) File '/home/galaxy2ei/galaxy-dist/lib/galaxy/web/framework/__init__.py', line 772 in render template.render_context( context ) File '/home/galaxy2ei/galaxy-dist/eggs/Mako-0.4.1-py2.7.egg/mako/template.py', line 319 in render_context **kwargs) File '/home/galaxy2ei/galaxy-dist/eggs/Mako-0.4.1-py2.7.egg/mako/runtime.py', line 692 in _render_context _exec_template(inherit, lclcontext, args=args, kwargs=kwargs) File '/home/galaxy2ei/galaxy-dist/eggs/Mako-0.4.1-py2.7.egg/mako/runtime.py', line 718 in _exec_template callable_(context, *args, **kwargs) File '/home/galaxy2ei/galaxy-dist/database/compiled_templates/root/history.mako.py', line 62 in render_body __M_writer(u'\n\n') File '/home/galaxy2ei/galaxy-dist/lib/galaxy/web/framework/__init__.py', line 769 in write response_write( d.encode( 'utf-8' ) ) TypeError: 'NoneType' object is not callable
Hi David, Sorry it took so long to get back to you. The problem appears to be that Galaxy is using a version of Paste from your site-packages rather than the egg bundled with Galaxy. A quick solution to this would be to set up a virtualenv as described in the production server documentation and run Galaxy under that interpreter. --nate
CGI Variables ------------- CONTENT_LENGTH: '0' HTTP_ACCEPT: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' HTTP_ACCEPT_ENCODING: 'gzip, deflate' HTTP_ACCEPT_LANGUAGE: 'en-us,en;q=0.5' HTTP_CONNECTION: 'close' HTTP_COOKIE: 'galaxysession=c6ca0ddb55be603a1a924b5a883eb84f93f9e2c6424cabed485f00c49dc51dd6632e1e679e865175' HTTP_HOST: '127.0.0.1' HTTP_REFERER: 'http://127.0.0.1:8080/' HTTP_USER_AGENT: 'Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1' HTTP_X_FORWARDED_FOR: '127.0.0.1' HTTP_X_FORWARDED_HOST: '127.0.0.1' ORGINAL_HTTP_HOST: 'galaxy_app' ORGINAL_REMOTE_ADDR: '127.0.0.1' PATH_INFO: '/history' REMOTE_ADDR: '127.0.0.1' REQUEST_METHOD: 'GET' SERVER_NAME: '0.0.0.0' SERVER_PORT: '8081' SERVER_PROTOCOL: 'HTTP/1.0'
Configuration ------------- __file__: '/home/galaxy2ei/galaxy-dist/universe_wsgi.ini' admin_users: 'david.roquis@yahoo.com, galaxytest@2ei.com' allow_library_path_paste: 'True' allow_user_dataset_purge: 'True' allow_user_deletion: 'True' allow_user_impersonation: 'True' database_connection: 'postgres://galaxy2ei:galaxy2ei@localhost:5432/galaxyprod' database_engine_option_server_side_cursors: 'True' database_engine_option_strategy: 'threadlocal' datatypes_config_file: 'datatypes_conf.xml' debug: 'False' default_job_handlers: 'handler0' enable_quotas: 'True' file_path: 'database/files' here: '/home/galaxy2ei/galaxy-dist' job_handlers: 'handler0' job_manager: 'manager' job_working_directory: 'database/job_working_directory' library_import_dir: '/home/galaxy2ei/Downloads' new_file_path: 'database/tmp' nginx_upload_path: '/_upload' nginx_upload_store: 'database/tmp/upload_store' nginx_x_accel_redirect_base: '/_x_accel_redirect' nglims_config_file: 'tool-data/nglims.yaml' set_metadata_externally: 'True' static_cache_time: '360' static_dir: '/home/galaxy2ei/galaxy-dist/static/' static_enabled: 'True' static_favicon_dir: '/home/galaxy2ei/galaxy-dist/static/favicon.ico' static_images_dir: '/home/galaxy2ei/galaxy-dist/static/images' static_robots_txt: '/home/galaxy2ei/galaxy-dist/static/robots.txt' static_scripts_dir: '/home/galaxy2ei/galaxy-dist/static/scripts/' static_style_dir: '/home/galaxy2ei/galaxy-dist/static/june_2007_style/blue' tool_config_file: 'tool_conf.xml,shed_tool_conf.xml' tool_data_path: 'tool-data' tool_path: 'tools' upstream_gzip: 'True' use_interactive: 'False' use_nglims: 'False' user_library_import_dir: '/home/galaxy2ei/Downloads'
WSGI Variables -------------- application: <paste.recursive.RecursiveMiddleware object at 0x8077450> paste.cookies: (<SimpleCookie: galaxysession='c6ca0ddb55be603a1a924b5a883eb84f93f9e2c6424cabed485f00c49dc51dd6632e1e679e865175'>, 'galaxysession=c6ca0ddb55be603a1a924b5a883eb84f93f9e2c6424cabed485f00c49dc51dd6632e1e679e865175') paste.expected_exceptions: [<class 'paste.httpexceptions.HTTPException'>] paste.httpexceptions: <paste.httpexceptions.HTTPExceptionHandler object at 0x8077350> paste.httpserver.thread_pool: <paste.httpserver.ThreadPool object at 0x7f34ec7f5950> paste.recursive.forward: <paste.recursive.Forwarder from /> paste.recursive.include: <paste.recursive.Includer from /> paste.recursive.include_app_iter: <paste.recursive.IncluderAppIter from /> paste.recursive.script_name: '' paste.throw_errors: True webob._parsed_query_vars: (MultiDict([]), '') wsgi process: 'Multithreaded' ------------------------------------------------------------
___________________________________________________________ Please keep all replies on the list by using "reply all" in your mail client. To manage your subscriptions to this and other Galaxy lists, please use the interface at:
participants (2)
-
David Roquis
-
Nate Coraor