LoadError: cannot load such file -- rack/oauth2/server/resource/bearer/error

Hello all,

My Gitlab stopped working. Now, when I access gitlab I receive a page with a piece of code!

require 'spec_helper'

describe Rack::OAuth2::AccessToken::Authenticator do
  let(:resource_endpoint) { 'https://server.example.com/resources/fake' }
  let(:request) { HTTP::Message.new_request(:get, URI.parse(resource_endpoint)) }
  let(:authenticator) { Rack::OAuth2::AccessToken::Authenticator.new(token) }

  shared_examples_for :authenticator do
    it 'should let the token authenticate the request' do
      expect(token).to receive(:authenticate).with(request)
      authenticator.filter_request(request)
    end
  end

  context 'when Legacy token is given' do
    let(:token) do
      Rack::OAuth2::AccessToken::Legacy.new(
        access_token: 'access_token'
      )
    end
    it_behaves_like :authenticator
  end

  context 'when Bearer token is given' do
    let(:token) do
      Rack::OAuth2::AccessToken::Bearer.new(
        access_token: 'access_token'
      )
    end
    it_behaves_like :authenticator
  end

  context 'when MAC token is given' do
    let(:token) do
      Rack::OAuth2::AccessToken::MAC.new(
        access_token: 'access_token',
        mac_key: 'secret',
        mac_algorithm: 'hmac-sha-256'
      )
    end
    it_behaves_like :authenticator
  end
end

If I run ‘gitlab-ctl tail’, I see the following errors:

==> /var/log/gitlab/sidekiq/current <==
2017-01-23_13:01:50.23377 bundler: failed to load command: sidekiq (/opt/gitlab/embedded/service/gem/ruby/2.3.0/bin/sidekiq)
2017-01-23_13:01:50.23380 LoadError: cannot load such file – rack/oauth2/server/resource/bearer/error
2017-01-23_13:01:50.23380 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require' 2017-01-23_13:01:50.23380 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in block in require’
2017-01-23_13:01:50.23381 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:240:in load_dependency' 2017-01-23_13:01:50.23381 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require’
2017-01-23_13:01:50.23381 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/rack-oauth2-1.2.3/lib/rack/oauth2/server/resource/bearer.rb:47:in <top (required)>' 2017-01-23_13:01:50.23381 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require’
2017-01-23_13:01:50.23382 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in block in require' 2017-01-23_13:01:50.23383 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:240:in load_dependency’
2017-01-23_13:01:50.23383 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require' 2017-01-23_13:01:50.23383 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/rack-oauth2-1.2.3/lib/rack/oauth2/server/resource.rb:54:in <top (required)>’
2017-01-23_13:01:50.23384 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require' 2017-01-23_13:01:50.23384 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in block in require’
2017-01-23_13:01:50.23384 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:240:in load_dependency' 2017-01-23_13:01:50.23384 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require’
2017-01-23_13:01:50.23385 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/rack-oauth2-1.2.3/lib/rack/oauth2/server.rb:4:in <top (required)>' 2017-01-23_13:01:50.23386 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require’
2017-01-23_13:01:50.23386 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in block in require' 2017-01-23_13:01:50.23386 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:240:in load_dependency’
2017-01-23_13:01:50.23386 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require' 2017-01-23_13:01:50.23387 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/rack-oauth2-1.2.3/lib/rack/oauth2.rb:65:in <top (required)>’
2017-01-23_13:01:50.23387 /opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/bundler-1.13.5/lib/bundler/runtime.rb:105:in require' 2017-01-23_13:01:50.23387 /opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/bundler-1.13.5/lib/bundler/runtime.rb:105:in rescue in block in require’
2017-01-23_13:01:50.23388 /opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/bundler-1.13.5/lib/bundler/runtime.rb:82:in block in require' 2017-01-23_13:01:50.23388 /opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/bundler-1.13.5/lib/bundler/runtime.rb:75:in each’
2017-01-23_13:01:50.23389 /opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/bundler-1.13.5/lib/bundler/runtime.rb:75:in require' 2017-01-23_13:01:50.23390 /opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/bundler-1.13.5/lib/bundler.rb:106:in require’
2017-01-23_13:01:50.23390 /opt/gitlab/embedded/service/gitlab-rails/config/application.rb:5:in <top (required)>' 2017-01-23_13:01:50.23391 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/sidekiq-4.2.1/lib/sidekiq/cli.rb:234:in require’
2017-01-23_13:01:50.23391 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/sidekiq-4.2.1/lib/sidekiq/cli.rb:234:in boot_system' 2017-01-23_13:01:50.23391 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/sidekiq-4.2.1/lib/sidekiq/cli.rb:50:in run’
2017-01-23_13:01:50.23392 /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/sidekiq-4.2.1/bin/sidekiq:12:in <top (required)>' 2017-01-23_13:01:50.23392 /opt/gitlab/embedded/service/gem/ruby/2.3.0/bin/sidekiq:22:in load’
2017-01-23_13:01:50.23392 /opt/gitlab/embedded/service/gem/ruby/2.3.0/bin/sidekiq:22:in `<top (required)>’

==> /var/log/gitlab/gitlab-workhorse/current <==
2017-01-23_13:01:50.83152 2017/01/23 10:01:50 error: POST “/ci/api/v1/builds/register.json”: badgateway: failed after 0.000s: dial unix /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket: connect: connection refused
2017-01-23_13:01:50.83155 10.8.30.35 @ - - [2017-01-23 10:01:50.831050035 -0300 BRT] “POST /ci/api/v1/builds/register.json HTTP/1.1” 502 89 “” “gitlab-ci-multi-runner 1.5.3 (1-5-stable; go1.6.3; linux/amd64)” 0.000352

==> /var/log/gitlab/nginx/gitlab_access.log <==
10.8.30.36 - - [23/Jan/2017:10:01:50 -0300] “POST /ci/api/v1/builds/register.json HTTP/1.1” 502 89 “-” “gitlab-ci-multi-runner 1.5.3 (1-5-stable; go1.6.3; linux/amd64)”

==> /var/log/gitlab/unicorn/unicorn_stdout.log <==
bundler: failed to load command: unicorn (/opt/gitlab/embedded/service/gem/ruby/2.3.0/bin/unicorn)

==> /var/log/gitlab/unicorn/unicorn_stderr.log <==
LoadError: cannot load such file – rack/oauth2/server/resource/bearer/error
/opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require' /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in block in require’
/opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:240:in load_dependency' /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require’
/opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/rack-oauth2-1.2.3/lib/rack/oauth2/server/resource/bearer.rb:47:in <top (required)>' /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require’
/opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in block in require' /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:240:in load_dependency’
/opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require' /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/rack-oauth2-1.2.3/lib/rack/oauth2/server/resource.rb:54:in <top (required)>’
/opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require' /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in block in require’
/opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:240:in load_dependency' /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require’
/opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/rack-oauth2-1.2.3/lib/rack/oauth2/server.rb:4:in <top (required)>' /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require’
/opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in block in require' /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:240:in load_dependency’
/opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/activesupport-4.2.7.1/lib/active_support/dependencies.rb:274:in require' /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/rack-oauth2-1.2.3/lib/rack/oauth2.rb:65:in <top (required)>’
/opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/bundler-1.13.5/lib/bundler/runtime.rb:105:in require' /opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/bundler-1.13.5/lib/bundler/runtime.rb:105:in rescue in block in require’
/opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/bundler-1.13.5/lib/bundler/runtime.rb:82:in block in require' /opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/bundler-1.13.5/lib/bundler/runtime.rb:75:in each’
/opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/bundler-1.13.5/lib/bundler/runtime.rb:75:in require' /opt/gitlab/embedded/lib/ruby/gems/2.3.0/gems/bundler-1.13.5/lib/bundler.rb:106:in require’
/opt/gitlab/embedded/service/gitlab-rails/config/application.rb:5:in <top (required)>' /opt/gitlab/embedded/service/gitlab-rails/config/environment.rb:2:in require’
/opt/gitlab/embedded/service/gitlab-rails/config/environment.rb:2:in <top (required)>' /opt/gitlab/embedded/service/gitlab-rails/config.ru:19:in require’
/opt/gitlab/embedded/service/gitlab-rails/config.ru:19:in block in <main>' /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in instance_eval’
/opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in initialize' /opt/gitlab/embedded/service/gitlab-rails/config.ru:1:in new’
/opt/gitlab/embedded/service/gitlab-rails/config.ru:1:in <main>' /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/unicorn-5.1.0/lib/unicorn.rb:56:in eval’
/opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/unicorn-5.1.0/lib/unicorn.rb:56:in block in builder' /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/unicorn-5.1.0/lib/unicorn/http_server.rb:752:in build_app!’
/opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/unicorn-5.1.0/lib/unicorn/http_server.rb:129:in start' /opt/gitlab/embedded/service/gem/ruby/2.3.0/gems/unicorn-5.1.0/bin/unicorn:126:in <top (required)>’
/opt/gitlab/embedded/service/gem/ruby/2.3.0/bin/unicorn:22:in load' /opt/gitlab/embedded/service/gem/ruby/2.3.0/bin/unicorn:22:in <top (required)>’

==> /var/log/gitlab/unicorn/current <==
2017-01-23_13:01:51.15204 master failed to start, check stderr log for details
2017-01-23_13:01:52.15547 failed to start a new unicorn master
2017-01-23_13:01:52.16263 starting new unicorn master

Apparently, the root cause is LoadError: cannot load such file – rack/oauth2/server/resource/bearer/error.

Does anyone have an idea how can I recover from that?

Many thanks!