If you'd like to send them directly to me off-list I'd be happy to take a look.

-Dannon

On Tue Feb 17 2015 at 2:50:15 PM Nicholas Kline <nxk60@case.edu> wrote:
Hi Dannon,

Thanks for the reply. So I went ahead and verified a few things, as
you requested:

1. config files:

/home/galaxy/galaxy-dist/config/galaxy.ini.sample
/home/galaxy/galaxy-dist/universe_wsgi.ini

I have only been working with universe_wsgi.ini

2. static_enabled

The content of that line looks exactly as follows:

static_enabled = False

3. I also verified that it exists in the [app:main] section of universe_wsgi.ini

I would be willing to post my nginx and universe_wsgi.ini configs,
preferably in private, if that would be helpful with troubleshooting.
Thanks for your help!





On Tue, Feb 17, 2015 at 11:27 AM, Dannon Baker <dannon.baker@gmail.com> wrote:
> Hi Nicholas,
>
> Odd, I see you're using universe_wsgi.ini.  Can you confirm that no
> <galaxy_dir>/config/galaxy.ini file exists?  These configurations were
> migrated a little while ago, and if you have multiple configuration files
> that might explain why we're seeing this error.
>
> Other than that, when you set static_enabled = False in your configuration
> file, you uncommented the existing line, right?  That is, this entry in the
> config file is still in the [app:main] section?
>
> -Dannon
>
> On Mon Feb 16 2015 at 2:10:14 PM Nicholas Kline <nxk60@case.edu> wrote:
>>
>> 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 127.0.0.1:9191 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:
>>
>>     127.0.0.1 - - [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
>> Firefox/35.0"
>>     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)
>>     File
>> '/home/galaxy/galaxy-dist/eggs/Paste-1.7.5.1-py2.7.egg/paste/recursive.py',
>> line 84 in __call__
>>       return self.application(environ, start_response)
>>     File
>> '/home/galaxy/galaxy-dist/eggs/Paste-1.7.5.1-py2.7.egg/paste/httpexceptions.py',
>> 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
>> _ensure_logged_in_user
>>       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:
>> '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: '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: '127.0.0.1'
>>       REMOTE_PORT: '50064'
>>       REQUEST_METHOD: 'GET'
>>       REQUEST_URI: '/'
>>       SERVER_NAME: 'localhost'
>>       SERVER_PORT: '443'
>>       SERVER_PROTOCOL: 'HTTP/1.1'
>>       UWSGI_SCHEME: 'https'
>>
>>
>>     WSGI Variables
>>     --------------
>>       application: <paste.recursive.RecursiveMiddleware object at
>> 0x7f2ec2f32290>
>>       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] 127.0.0.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.
>>
>>     [server:main]
>>
>>     # 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 '0.0.0.0' to listen
>> on all
>>     # available network interfaces.
>>     host = 0.0.0.0
>>
>>     # 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
>> ----------------------------------------------------------
>>
>>     [uwsgi]
>>     processes = 10
>>     stats = 127.0.0.1:9191
>>     socket = 127.0.0.1:4001
>>     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.
>>
>> Thanks!
>> ___________________________________________________________
>> 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:
>>   https://lists.galaxyproject.org/
>>
>> To search Galaxy mailing lists use the unified search at:
>>   http://galaxyproject.org/search/mailinglists/