Profiling / causes an internal server error
Summary
Using the X-Profile-Token
header causes the app to return a 500 Internal Server Error, but only at /
so far as I can tell.
Ruby: 2.1.8 (via rbenv) Gem: 2.2.5 Bundler: 1.12.5
Command
MacBook:gitlab-development-kit hugo$ curl -H"X-Profile-Token: REDACTED" http://localhost:3000/ > out.txt
Console output
HTTP/1.1 500 Internal Server Error
Content-Type: text/plain; charset=utf-8
Date: Mon, 01 Aug 2016 13:15:53 GMT
Status: 500 Internal Server Error
X-Request-Id: 7f431dde-cd92-4b42-9f2f-af812e8b561f
X-Runtime: 0.310809
out.txt
NoMethodError at /
==================
> undefined method `[]' for nil:NilClass
lib/gitlab/middleware/static.rb, line 9
---------------------------------------
4 UPLOADS_REGEX = /\A\/uploads(\/|\z)/.freeze
5
6 def call(env)
7 return @app.call(env) if env['PATH_INFO'] =~ UPLOADS_REGEX
8
> 9 super
10 end
11 end
12 end
13 end
App backtrace
-------------
- lib/gitlab/middleware/static.rb:9:in `call'
Full backtrace
--------------
- rack (1.6.4) lib/rack/etag.rb:35:in `call'
- rack (1.6.4) lib/rack/conditionalget.rb:25:in `call'
- rack (1.6.4) lib/rack/head.rb:13:in `call'
- actionpack (4.2.7) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
- actionpack (4.2.7) lib/action_dispatch/middleware/flash.rb:260:in `call'
- rack (1.6.4) lib/rack/session/abstract/id.rb:225:in `context'
- rack (1.6.4) lib/rack/session/abstract/id.rb:220:in `call'
- actionpack (4.2.7) lib/action_dispatch/middleware/cookies.rb:560:in `call'
- activerecord (4.2.7) lib/active_record/query_cache.rb:36:in `call'
- activerecord (4.2.7) lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in `call'
- activerecord (4.2.7) lib/active_record/migration.rb:377:in `call'
- actionpack (4.2.7) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
- activesupport (4.2.7) lib/active_support/callbacks.rb:88:in `__run_callbacks__'
- activesupport (4.2.7) lib/active_support/callbacks.rb:778:in `_run_call_callbacks'
- activesupport (4.2.7) lib/active_support/callbacks.rb:81:in `run_callbacks'
- actionpack (4.2.7) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
- actionpack (4.2.7) lib/action_dispatch/middleware/reloader.rb:73:in `call'
- actionpack (4.2.7) lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
- better_errors (1.0.1) lib/better_errors/middleware.rb:84:in `protected_app_call'
- better_errors (1.0.1) lib/better_errors/middleware.rb:79:in `better_errors_call'
- better_errors (1.0.1) lib/better_errors/middleware.rb:56:in `call'
- actionpack (4.2.7) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
- web-console (2.3.0) lib/web_console/middleware.rb:28:in `block in call'
- web-console (2.3.0) lib/web_console/middleware.rb:18:in `call'
- actionpack (4.2.7) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
- railties (4.2.7) lib/rails/rack/logger.rb:38:in `call_app'
- railties (4.2.7) lib/rails/rack/logger.rb:20:in `block in call'
- activesupport (4.2.7) lib/active_support/tagged_logging.rb:68:in `block in tagged'
- activesupport (4.2.7) lib/active_support/tagged_logging.rb:26:in `tagged'
- activesupport (4.2.7) lib/active_support/tagged_logging.rb:68:in `tagged'
- railties (4.2.7) lib/rails/rack/logger.rb:20:in `call'
- sprockets-rails (3.1.1) lib/sprockets/rails/quiet_assets.rb:13:in `call'
- request_store (1.3.1) lib/request_store/middleware.rb:9:in `call'
- actionpack (4.2.7) lib/action_dispatch/middleware/request_id.rb:21:in `call'
- rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'
- rack (1.6.4) lib/rack/runtime.rb:18:in `call'
- rack (1.6.4) lib/rack/lock.rb:17:in `call'
- actionpack (4.2.7) lib/action_dispatch/middleware/static.rb:120:in `call'
- lib/gitlab/middleware/static.rb:9:in `call'
- rack (1.6.4) lib/rack/sendfile.rb:113:in `call'
- sentry-raven (1.1.0) lib/raven/integrations/rack.rb:53:in `call'
- railties (4.2.7) lib/rails/engine.rb:518:in `call'
- railties (4.2.7) lib/rails/application.rb:165:in `call'
- railties (4.2.7) lib/rails/railtie.rb:194:in `method_missing'
- rack (1.6.4) lib/rack/urlmap.rb:66:in `block in call'
- rack (1.6.4) lib/rack/urlmap.rb:50:in `call'
- unicorn (4.9.0) lib/unicorn/http_server.rb:580:in `process_client'
- unicorn (4.9.0) lib/unicorn/http_server.rb:674:in `worker_loop'
- unicorn (4.9.0) lib/unicorn/http_server.rb:529:in `spawn_missing_workers'
- unicorn (4.9.0) lib/unicorn/http_server.rb:140:in `start'
- unicorn (4.9.0) bin/unicorn_rails:209:in `<top (required)>'
- () Users/hugo/.gem/bin/unicorn_rails:23:in `<top (required)>'
- bundler (1.12.5) lib/bundler/cli/exec.rb:63:in `kernel_load'
- bundler (1.12.5) lib/bundler/cli/exec.rb:24:in `run'
- bundler (1.12.5) lib/bundler/cli.rb:304:in `exec'
- bundler (1.12.5) lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
- bundler (1.12.5) lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
- bundler (1.12.5) lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
- bundler (1.12.5) lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
- bundler (1.12.5) lib/bundler/cli.rb:11:in `start'
- bundler (1.12.5) exe/bundle:27:in `block in <top (required)>'
- bundler (1.12.5) lib/bundler/friendly_errors.rb:98:in `with_friendly_errors'
- bundler (1.12.5) exe/bundle:19:in `<top (required)>'
- () Users/hugo/.gem/bin/bundle:23:in `<main>'