Hi Nate,

So I went ahead and set `static_enabled = False` in universe_wsgi.ini,
restarted uWSGI, and browsed to localhost. I'm including the results
of each step below:

After restarting uWSGI, the last few lines of uwsgi.log looked like this:

    WSGI app 0 (mountpoint='') ready in 11 seconds on interpreter
0xa934c0 pid: 3561 (default app)
    *** uWSGI is running in multiple interpreter mode ***
    spawned uWSGI master process (pid: 3561)
    spawned uWSGI worker 1 (pid: 3575, cores: 4)
    spawned uWSGI worker 2 (pid: 3576, cores: 4)
    spawned uWSGI worker 3 (pid: 3583, cores: 4)
    spawned uWSGI worker 4 (pid: 3587, cores: 4)
    spawned uWSGI worker 5 (pid: 3591, cores: 4)
    spawned uWSGI worker 6 (pid: 3595, cores: 4)
    spawned uWSGI worker 7 (pid: 3599, cores: 4)
    spawned uWSGI worker 8 (pid: 3603, cores: 4)
    spawned uWSGI worker 9 (pid: 3607, cores: 4)
    spawned uWSGI worker 10 (pid: 3611, cores: 4)
    *** Stats server enabled on fd: 30 ***

...so no traceback this time!

Then, browsing to localhost redirects to https://localhost and finally returns:

    "Internal Server Error Galaxy was unable to successfully complete
your request An error occurred. This may be an intermittent problem
due to load or other
unpredictable factors, reloading the page may address the problem. The
error has been logged to our team."

That request was logged to uwsgi.log: - - [03/Feb/2015:14:51:01 -0400] "GET / HTTP/1.1" 500 -
"-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101
    Error - <type 'exceptions.KeyError'>: 'SCRIPT_NAME'
    URL: https://localhost/
    File 'lib/galaxy/web/framework/middleware/error.py', line 149 in __call__
      app_iter = self.application(environ, sr_checker)
line 84 in __call__
      return self.application(environ, start_response)
line 633 in __call__
      return self.application(environ, start_response)
    File 'lib/galaxy/web/framework/base.py', line 132 in __call__
      return self.handle_request( environ, start_response )
    File 'lib/galaxy/web/framework/base.py', line 159 in handle_request
      trans = self.transaction_factory( environ )
    File 'lib/galaxy/web/framework/webapp.py', line 71 in <lambda>
      self.set_transaction_factory( lambda e:
self.transaction_chooser( e, galaxy_app, session_cookie ) )
    File 'lib/galaxy/web/framework/webapp.py', line 102 in transaction_chooser
      return GalaxyWebTransaction( environ, galaxy_app, self, session_cookie )
    File 'lib/galaxy/web/framework/webapp.py', line 207 in __init__
      self._ensure_logged_in_user( environ, session_cookie )
    File 'lib/galaxy/web/framework/webapp.py', line 441 in
      if self.request.path.startswith( external_display_path ):
    File 'lib/galaxy/web/framework/base.py', line 258 in __get__
      value = self.func( obj )
    File 'lib/galaxy/web/framework/base.py', line 341 in path
      return self.environ['SCRIPT_NAME'] + self.environ['PATH_INFO']
    KeyError: 'SCRIPT_NAME'

    CGI Variables
      DOCUMENT_ROOT: '/usr/share/nginx/html'
      HTTP_ACCEPT_ENCODING: 'gzip, deflate'
      HTTP_ACCEPT_LANGUAGE: 'en-US,en;q=0.5'
      HTTP_CONNECTION: 'keep-alive'
      HTTP_HOST: 'localhost'
      HTTP_USER_AGENT: 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64;
rv:35.0) Gecko/20100101 Firefox/35.0'
      PATH_INFO: '/'
      REMOTE_ADDR: ''
      REMOTE_PORT: '50064'
      REQUEST_URI: '/'
      SERVER_NAME: 'localhost'
      SERVER_PORT: '443'
      UWSGI_SCHEME: 'https'

    WSGI Variables
      application: <paste.recursive.RecursiveMiddleware object at
      is_api_request: False
      paste.cookies: (<SimpleCookie: >, '')
      paste.expected_exceptions: [<class 'paste.httpexceptions.HTTPException'>]
      paste.httpexceptions: <paste.httpexceptions.HTTPExceptionHandler
object at 0x7f2ec2f32210>
      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
      request_id: 'fadecee2abdd11e4bfb614feb5e02dd6'
      uwsgi.core: 0
      uwsgi.node: 'i changed this string to hide the server name'
      uwsgi.version: '2.0.9'
      wsgi process: 'Multi process AND threads (?)'
      wsgi.file_wrapper: <built-in function uwsgi_sendfile>
    [pid: 3607|app: 0|req: 1/1] () {40 vars in 593 bytes}
[Tue Feb  3 14:51:01 2015] GET / => generated 777 bytes in 230 msecs
(HTTP/1.1 500) 1 headers in 63 bytes (1 switches on core 0)

I thought I would include some pieces of universe_wsgi.ini to help
with troubleshooting:

    # ---- HTTP Server

    # Configuration of the internal HTTP server.


    # The internal HTTP server to use.  Currently only Paste is provided.  This
    # option is required.
    use = egg:Paste#http

    # The port on which to listen.
    #port = 8080

    # The address on which to listen.  By default, only listen to
localhost (Galaxy
    # will not be accessible over the network).  Use '' to listen on all
    # available network interfaces.
    host =

    # Use a threadpool for the web server instead of creating a thread for each
    # request.
    use_threadpool = True

    # Number of threads in the web server thread pool.
    threadpool_workers = 10

    # Set the number of seconds a thread can work before you should
kill it (assuming it will never finish) to 3 hours.
    threadpool_kill_thread_limit = 10800

    # ---- uwsgi ----------------------------------------------------------

    processes = 10
    stats =
    socket =
    pythonpath = lib
    threads = 4
    logto = /home/galaxy/galaxy-dist/uwsgi.log
    master = True

Also, we are using a self-signed certificate as a temporary solution,
so not sure if that matters.

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:

To search Galaxy mailing lists use the unified search at:

Reply via email to