Skip to content
This repository has been archived by the owner on Apr 14, 2021. It is now read-only.

Bundler 1.15.0 having issues with omniauth gems #5696

Closed
jbirdjavi opened this issue Jun 1, 2017 · 7 comments
Closed

Bundler 1.15.0 having issues with omniauth gems #5696

jbirdjavi opened this issue Jun 1, 2017 · 7 comments

Comments

@jbirdjavi
Copy link

jbirdjavi commented Jun 1, 2017

I'm honestly not sure if this is a bundler issue or something with my rails app, since it's only happening in one of my rails apps, but rails apps with similar configurations are working fine.

Questions

Please fill out answers to these questions, it'll help us figure out why things are going wrong.

  • What did you do?

Updated to bundler 1.15.0.

  • What did you expect to happen?

The rails app to run normally, and travis and jenkins to be able to build the app like normal.

  • What happened instead?

The rails app fails to start locally, and travis and jenkins builds fail.

  • Have you tried any solutions posted on similar issues in our issue tracker, stack overflow, or google?

I tried downgrading to v1.14.6, which worked as expected.

Yes.

Backtrace

$ rails s
Array values in the parameter to `Gem.paths=` are deprecated.
Please use a String or nil.
An Array ({"GEM_PATH"=>["/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0", "/Users/justin/.gem/ruby/2.3.0"]}) was passed in from bin/rails:3:in `load'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:85:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'omniauth-oauth2'. (Bundler::GemRequireError)
Gem Load Error is: undefined method `args' for OmniAuth::Strategies::OAuth2:Class
Backtrace for gem load error is:
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/omniauth-oauth2-1.4.0/lib/omniauth/strategies/oauth2.rb:21:in `<class:OAuth2>'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/omniauth-oauth2-1.4.0/lib/omniauth/strategies/oauth2.rb:14:in `<module:Strategies>'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/omniauth-oauth2-1.4.0/lib/omniauth/strategies/oauth2.rb:8:in `<module:OmniAuth>'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/omniauth-oauth2-1.4.0/lib/omniauth/strategies/oauth2.rb:7:in `<top (required)>'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/dependencies.rb:274:in `require'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/dependencies.rb:274:in `block in require'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/dependencies.rb:240:in `load_dependency'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activesupport-4.2.5.1/lib/active_support/dependencies.rb:274:in `require'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/omniauth-oauth2-1.4.0/lib/omniauth-oauth2.rb:2:in `<top (required)>'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:82:in `require'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:82:in `block (2 levels) in require'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:77:in `each'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:77:in `block in require'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:66:in `each'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:66:in `require'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.0/lib/bundler.rb:108:in `require'
/Users/justin/Work/rails/cap/config/application.rb:7:in `<top (required)>'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:78:in `require'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:78:in `block in server'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:75:in `tap'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:75:in `server'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.5.1/lib/rails/commands.rb:17:in `<top (required)>'
/Users/justin/Work/rails/cap/bin/rails:8:in `require'
/Users/justin/Work/rails/cap/bin/rails:8:in `<top (required)>'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-1.4.0/lib/spring/client/rails.rb:28:in `load'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-1.4.0/lib/spring/client/rails.rb:28:in `call'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-1.4.0/lib/spring/client/command.rb:7:in `call'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-1.4.0/lib/spring/client.rb:28:in `run'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-1.4.0/bin/spring:49:in `<top (required)>'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-1.4.0/lib/spring/binstub.rb:11:in `load'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-1.4.0/lib/spring/binstub.rb:11:in `<top (required)>'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/Users/justin/.rbenv/versions/2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/Users/justin/Work/rails/cap/bin/spring:13:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Bundler Error Backtrace:
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:81:in `block (2 levels) in require'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:77:in `each'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:77:in `block in require'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:66:in `each'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.0/lib/bundler/runtime.rb:66:in `require'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/bundler-1.15.0/lib/bundler.rb:108:in `require'
	from /Users/justin/Work/rails/cap/config/application.rb:7:in `<top (required)>'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:78:in `require'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:78:in `block in server'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:75:in `tap'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:75:in `server'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.5.1/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/railties-4.2.5.1/lib/rails/commands.rb:17:in `<top (required)>'
	from /Users/justin/Work/rails/cap/bin/rails:8:in `require'
	from /Users/justin/Work/rails/cap/bin/rails:8:in `<top (required)>'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-1.4.0/lib/spring/client/rails.rb:28:in `load'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-1.4.0/lib/spring/client/rails.rb:28:in `call'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-1.4.0/lib/spring/client/command.rb:7:in `call'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-1.4.0/lib/spring/client.rb:28:in `run'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-1.4.0/bin/spring:49:in `<top (required)>'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-1.4.0/lib/spring/binstub.rb:11:in `load'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/spring-1.4.0/lib/spring/binstub.rb:11:in `<top (required)>'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Users/justin/.rbenv/versions/2.3.1/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Users/justin/Work/rails/cap/bin/spring:13:in `<top (required)>'
	from bin/rails:3:in `load'
	from bin/rails:3:in `<main>'

Environment

$ bundle env
The git source `git://github.com/CruGlobal/global_registry_client.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
The git source `git://github.com/collectiveidea/awesome_nested_set.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
The git source `git://github.com/CruGlobal/fe.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.
The git source `git://github.com/CruGlobal/omniauth-cas.git` uses the `git` protocol, which transmits data without encryption. Disable this warning with `bundle config git.allow_insecure true`, or switch to the `https` protocol to keep your data secure.

Environment

Bundler   1.15.0
Rubygems  2.6.12
Ruby      2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin16]
Git       2.13.0
Platform  x86_64-darwin-16

Bundler settings

gems.contribsys.com
  Set for the current user (/Users/justin/.bundle/config): "fake:fake"

Gemfile

Gemfile

source 'https://rubygems.org'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.2.5.1'
gem 'pg'
# Use SCSS for stylesheets
gem 'sprockets', '2.12.3'
gem 'sprockets-rails', '2.2.4'
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.1.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby

# Use jquery as the JavaScript library
gem 'jquery-rails'
gem 'jquery-ui-rails'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.0'

# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', '~> 0.4.0', group: :doc

gem 'rake', '< 11.0'

gem 'redis-store'
gem 'redis-rails'
gem 'redis-namespace'
gem 'puma'

# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'

# Use Unicorn as the app server
# gem 'unicorn'

# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development

gem 'responders'
gem 'active_model_serializers'

group :development, :test do
  gem 'bullet'
  gem 'dotenv-rails'
  gem 'coveralls', require: false
  gem 'pry'
  gem 'pry-remote'
  gem 'pry-stack_explorer'
  gem 'pry-byebug'

  # Access an IRB console on exception pages or by using <%= console %> in views
  gem 'web-console', '~> 2.0'
  gem 'xray-rails'
  gem 'better_errors'
  gem 'railroady'
  gem 'rubocop'
  gem 'spring'
  gem 'spring-commands-rspec'
  gem 'http_logger'
end

group :test do
  gem 'capybara'
  gem 'database_cleaner'
  gem 'equivalent-xml'
  gem 'webmock'
  gem 'rspec-rails'
  gem 'factory_girl_rails'
  gem 'fuubar'
  gem 'poltergeist'
  gem 'rack_session_access'
  gem 'simplecov', require: false
  gem 'spork-rails' # , '~> 3.2.0'
  gem 'guard-spork'
  gem 'guard-rubocop'
  gem 'guard-rspec'
  gem 'thin'
  gem 'faker'
end

gem 'cru_lib', git: 'https://github.com/CruGlobal/cru_lib', tag: 'v0.0.2.4'
gem 'global_registry',
    github: 'CruGlobal/global_registry_client'
# path: '/Users/andrewroth/Development/global_registry_client'

gem 'awesome_nested_set', github: 'collectiveidea/awesome_nested_set'
gem 'fe',
    github: 'CruGlobal/fe', branch: 'bootstrap'
# path: '/Users/dave/wmd/fe'
# path: '/Users/Andrew/Development/fe'
# path: '/Users/josh/htdocs/fe'
# path: '/Users/Octopus/Git/qe'

gem 'bootstrap_form'
gem 'bootstrap-datepicker-rails'
gem 'gibberish', '~> 2.0.0'
gem 'will_paginate-bootstrap'
gem 'bootstrap-table-rails'
gem 'select2-rails'
gem 'redis-session-store'
gem 'htmldoc'
gem 'js_regex'
gem 'omniauth'
gem 'omniauth-oauth2'
gem 'omniauth-cas', github: 'CruGlobal/omniauth-cas' # has single sign out fix
gem 'omniauth-facebook'
gem 'oa-openid'
gem 'activerecord-import'
gem 'aasm'
gem 'newrelic_rpm'
gem 'liquid'
gem 'paper_trail', '~> 4.0.0'
gem 'paperclip'
gem 'aws-sdk', '~> 1.6'
gem 'airbrake'
gem 'retryable'
gem 'rolify'
gem 'rollout', '~> 2.0.0'
gem 'sinatra', require: nil
gem 'pundit', '~> 1.0.0'
gem 'will_paginate'
gem 'secure_headers'
gem 'savon', '~> 2.11.0'
gem 'sidekiq-unique-jobs', '~> 4.0.8'
gem 'sidekiq-cron'
gem 'syslog-logger'
gem 'email_validator'
gem 'validates_timeliness', '~> 3.0'
gem 'marco-polo'

# used for translations in form engine
gem 'gettext_i18n_rails', '~> 1.2.3'
gem 'wicked_pdf'
gem 'wkhtmltopdf-binary'
gem 'geocoder'

group :production do
  gem 'ruby-oci8', '~> 2.2.0'
  gem 'activerecord-oracle_enhanced-adapter', '~> 1.6.0'
  unless ENV['TRAVIS'] == 'true'
    source 'https://gems.contribsys.com/' do
      gem 'sidekiq-pro', '2.1.3'
    end
  end
end

Gemfile.lock

GIT
  remote: git://github.com/CruGlobal/fe.git
  revision: 667d89eb67fd90f87b19027cdee9366c3dc3c380
  branch: bootstrap
  specs:
    fe (1.0.0)
      aasm (~> 3.4.0)
      acts_as_list (= 0.7.2)
      carmen (~> 0.2.12)
      dynamic_form
      gettext_i18n_rails (~> 1.2.3)
      jquery-rails
      jquery-ui-rails
      liquid
      rails (~> 4.2)
      sass
      validates_email_format_of

GIT
  remote: git://github.com/CruGlobal/global_registry_client.git
  revision: 8bc5ec796909dc790de60d53adce2150be88bb9f
  specs:
    global_registry (1.3.0)
      activesupport
      addressable (~> 2.4.0)
      oj (~> 2.13.0)
      oj_mimic_json
      rest-client (~> 1.6.7)
      retryable-rb (~> 1.1.0)

GIT
  remote: git://github.com/CruGlobal/omniauth-cas.git
  revision: 04f0722dbfacc3aefe79dda67d4222aac6f1f8a3
  specs:
    omniauth-cas (1.1.0)
      addressable (~> 2.3)
      nokogiri (~> 1.5)
      omniauth (~> 1.2.0)

GIT
  remote: git://github.com/collectiveidea/awesome_nested_set.git
  revision: 783b41533c4927c152175a5bb8504e80bffbb7e9
  specs:
    awesome_nested_set (3.0.2)
      activerecord (>= 4.0.0, < 5)

GIT
  remote: https://github.com/CruGlobal/cru_lib
  revision: d3465914a2b6003a83714805b99d16184533849f
  tag: v0.0.2.4
  specs:
    cru_lib (0.0.2.4)
      global_registry

GEM
  remote: https://rubygems.org/
  remote: https://gems.contribsys.com/
  specs:
    aasm (3.4.0)
    actionmailer (4.2.5.1)
      actionpack (= 4.2.5.1)
      actionview (= 4.2.5.1)
      activejob (= 4.2.5.1)
      mail (~> 2.5, >= 2.5.4)
      rails-dom-testing (~> 1.0, >= 1.0.5)
    actionpack (4.2.5.1)
      actionview (= 4.2.5.1)
      activesupport (= 4.2.5.1)
      rack (~> 1.6)
      rack-test (~> 0.6.2)
      rails-dom-testing (~> 1.0, >= 1.0.5)
      rails-html-sanitizer (~> 1.0, >= 1.0.2)
    actionview (4.2.5.1)
      activesupport (= 4.2.5.1)
      builder (~> 3.1)
      erubis (~> 2.7.0)
      rails-dom-testing (~> 1.0, >= 1.0.5)
      rails-html-sanitizer (~> 1.0, >= 1.0.2)
    active_model_serializers (0.10.2)
      actionpack (>= 4.1, < 6)
      activemodel (>= 4.1, < 6)
      jsonapi (~> 0.1.1.beta2)
      railties (>= 4.1, < 6)
    activejob (4.2.5.1)
      activesupport (= 4.2.5.1)
      globalid (>= 0.3.0)
    activemodel (4.2.5.1)
      activesupport (= 4.2.5.1)
      builder (~> 3.1)
    activerecord (4.2.5.1)
      activemodel (= 4.2.5.1)
      activesupport (= 4.2.5.1)
      arel (~> 6.0)
    activerecord-import (0.10.0)
      activerecord (>= 3.0)
    activerecord-oracle_enhanced-adapter (1.6.7)
    activesupport (4.2.5.1)
      i18n (~> 0.7)
      json (~> 1.7, >= 1.7.7)
      minitest (~> 5.1)
      thread_safe (~> 0.3, >= 0.3.4)
      tzinfo (~> 1.1)
    acts_as_list (0.7.2)
      activerecord (>= 3.0)
    addressable (2.4.0)
    airbrake (4.3.1)
      builder
      multi_json
    akami (1.3.1)
      gyoku (>= 0.4.0)
      nokogiri
    arel (6.0.4)
    ast (2.3.0)
    aws-sdk (1.66.0)
      aws-sdk-v1 (= 1.66.0)
    aws-sdk-v1 (1.66.0)
      json (~> 1.4)
      nokogiri (>= 1.4.4)
    better_errors (2.1.1)
      coderay (>= 1.0.0)
      erubis (>= 2.6.6)
      rack (>= 0.9.0)
    binding_of_caller (0.7.2)
      debug_inspector (>= 0.0.1)
    bootstrap-datepicker-rails (1.4.0)
      railties (>= 3.0)
    bootstrap-table-rails (1.10.1)
    bootstrap_form (2.3.0)
    builder (3.2.3)
    bullet (5.0.0)
      activesupport (>= 3.0.0)
      uniform_notifier (~> 1.9.0)
    byebug (9.0.6)
    capybara (2.5.0)
      mime-types (>= 1.16)
      nokogiri (>= 1.3.3)
      rack (>= 1.0.0)
      rack-test (>= 0.5.4)
      xpath (~> 2.0)
    carmen (0.2.13)
    celluloid (0.17.3)
      celluloid-essentials
      celluloid-extras
      celluloid-fsm
      celluloid-pool
      celluloid-supervision
      timers (>= 4.1.1)
    celluloid-essentials (0.20.5)
      timers (>= 4.1.1)
    celluloid-extras (0.20.5)
      timers (>= 4.1.1)
    celluloid-fsm (0.20.5)
      timers (>= 4.1.1)
    celluloid-pool (0.20.5)
      timers (>= 4.1.1)
    celluloid-supervision (0.20.6)
      timers (>= 4.1.1)
    childprocess (0.5.6)
      ffi (~> 1.0, >= 1.0.11)
    climate_control (0.0.3)
      activesupport (>= 3.0)
    cliver (0.3.2)
    cocaine (0.5.7)
      climate_control (>= 0.0.3, < 1.0)
    coderay (1.1.1)
    coffee-rails (4.1.0)
      coffee-script (>= 2.2.0)
      railties (>= 4.0.0, < 5.0)
    coffee-script (2.4.1)
      coffee-script-source
      execjs
    coffee-script-source (1.9.1.1)
    connection_pool (2.2.0)
    coveralls (0.8.2)
      json (~> 1.8)
      rest-client (>= 1.6.8, < 2)
      simplecov (~> 0.10.0)
      term-ansicolor (~> 1.3)
      thor (~> 0.19.1)
    crack (0.4.2)
      safe_yaml (~> 1.0.0)
    daemons (1.2.3)
    database_cleaner (1.5.0)
    debug_inspector (0.0.2)
    diff-lcs (1.2.5)
    docile (1.1.5)
    dotenv (2.0.2)
    dotenv-rails (2.0.2)
      dotenv (= 2.0.2)
      railties (~> 4.0)
    dynamic_form (1.1.4)
    email_validator (1.6.0)
      activemodel
    equivalent-xml (0.6.0)
      nokogiri (>= 1.4.3)
    erubis (2.7.0)
    eventmachine (1.0.8)
    execjs (2.6.0)
    factory_girl (4.5.0)
      activesupport (>= 3.0.0)
    factory_girl_rails (4.5.0)
      factory_girl (~> 4.5.0)
      railties (>= 3.0.0)
    faker (1.6.1)
      i18n (~> 0.5)
    faraday (0.11.0)
      multipart-post (>= 1.2, < 3)
    fast_gettext (1.3.0)
    ffi (1.9.10)
    formatador (0.2.5)
    fuubar (2.0.0)
      rspec (~> 3.0)
      ruby-progressbar (~> 1.4)
    geocoder (1.4.3)
    gettext_i18n_rails (1.2.3)
      fast_gettext (>= 0.9.0)
    gibberish (2.0.0)
    globalid (0.3.7)
      activesupport (>= 4.1.0)
    guard (2.13.0)
      formatador (>= 0.2.4)
      listen (>= 2.7, <= 4.0)
      lumberjack (~> 1.0)
      nenv (~> 0.1)
      notiffany (~> 0.0)
      pry (>= 0.9.12)
      shellany (~> 0.0)
      thor (>= 0.18.1)
    guard-compat (1.2.1)
    guard-rspec (4.6.4)
      guard (~> 2.1)
      guard-compat (~> 1.1)
      rspec (>= 2.99.0, < 4.0)
    guard-rubocop (1.2.0)
      guard (~> 2.0)
      rubocop (~> 0.20)
    guard-spork (2.1.0)
      childprocess (>= 0.2.3)
      guard (~> 2.0)
      guard-compat (~> 1.0)
      spork (>= 0.8.4)
    gyoku (1.3.1)
      builder (>= 2.1.2)
    hashie (3.5.5)
    hike (1.2.3)
    hitimes (1.2.4)
    htmldoc (0.2.3)
    http_logger (0.5.1)
    httpi (2.4.1)
      rack
    i18n (0.8.0)
    jbuilder (2.3.1)
      activesupport (>= 3.0.0, < 5)
      multi_json (~> 1.2)
    jquery-rails (4.2.2)
      rails-dom-testing (>= 1, < 3)
      railties (>= 4.2.0)
      thor (>= 0.14, < 2.0)
    jquery-ui-rails (6.0.1)
      railties (>= 3.2.16)
    js_regex (1.0.12)
      regexp_parser (= 0.3.2)
    json (1.8.6)
    jsonapi (0.1.1.beta6)
      jsonapi-parser (= 0.1.1.beta3)
      jsonapi-renderer (= 0.1.1.beta1)
    jsonapi-parser (0.1.1.beta3)
    jsonapi-renderer (0.1.1.beta1)
    jwt (1.5.6)
    liquid (4.0.0)
    listen (3.0.3)
      rb-fsevent (>= 0.9.3)
      rb-inotify (>= 0.9)
    loofah (2.0.3)
      nokogiri (>= 1.5.9)
    lumberjack (1.0.9)
    mail (2.6.4)
      mime-types (>= 1.16, < 4)
    marco-polo (1.2.1)
    method_source (0.8.2)
    mime-types (1.25.1)
    mimemagic (0.3.0)
    mini_portile2 (2.1.0)
    minitest (5.10.1)
    multi_json (1.12.1)
    multi_xml (0.6.0)
    multipart-post (2.0.0)
    nenv (0.3.0)
    newrelic_rpm (3.13.0.299)
    nokogiri (1.7.0.1)
      mini_portile2 (~> 2.1.0)
    nori (2.6.0)
    notiffany (0.0.7)
      nenv (~> 0.1)
      shellany (~> 0.0)
    oa-core (0.3.2)
    oa-openid (0.3.2)
      oa-core (= 0.3.2)
      rack-openid (~> 1.3.1)
      ruby-openid-apps-discovery (~> 1.2.0)
    oauth2 (1.3.1)
      faraday (>= 0.8, < 0.12)
      jwt (~> 1.0)
      multi_json (~> 1.3)
      multi_xml (~> 0.5)
      rack (>= 1.2, < 3)
    oj (2.13.1)
    oj_mimic_json (1.0.1)
    omniauth (1.2.2)
      hashie (>= 1.2, < 4)
      rack (~> 1.0)
    omniauth-facebook (4.0.0)
      omniauth-oauth2 (~> 1.2)
    omniauth-oauth2 (1.4.0)
      oauth2 (~> 1.0)
      omniauth (~> 1.2)
    paper_trail (4.0.1)
      activerecord (>= 3.0, < 6.0)
      activesupport (>= 3.0, < 6.0)
      request_store (~> 1.1)
    paperclip (4.3.1)
      activemodel (>= 3.2.0)
      activesupport (>= 3.2.0)
      cocaine (~> 0.5.5)
      mime-types
      mimemagic (= 0.3.0)
    parser (2.4.0.0)
      ast (~> 2.2)
    pg (0.18.3)
    poltergeist (1.6.0)
      capybara (~> 2.1)
      cliver (~> 0.3.1)
      multi_json (~> 1.0)
      websocket-driver (>= 0.2.0)
    powerpack (0.1.1)
    pry (0.10.4)
      coderay (~> 1.1.0)
      method_source (~> 0.8.1)
      slop (~> 3.4)
    pry-byebug (3.4.2)
      byebug (~> 9.0)
      pry (~> 0.10)
    pry-remote (0.1.8)
      pry (~> 0.9)
      slop (~> 3.0)
    pry-stack_explorer (0.4.9.2)
      binding_of_caller (>= 0.7)
      pry (>= 0.9.11)
    puma (2.13.4)
    pundit (1.0.1)
      activesupport (>= 3.0.0)
    rack (1.6.5)
    rack-openid (1.3.1)
      rack (>= 1.1.0)
      ruby-openid (>= 2.1.8)
    rack-protection (1.5.3)
      rack
    rack-test (0.6.3)
      rack (>= 1.0)
    rack_session_access (0.1.1)
      builder (>= 2.0.0)
      rack (>= 1.0.0)
    railroady (1.3.1)
    rails (4.2.5.1)
      actionmailer (= 4.2.5.1)
      actionpack (= 4.2.5.1)
      actionview (= 4.2.5.1)
      activejob (= 4.2.5.1)
      activemodel (= 4.2.5.1)
      activerecord (= 4.2.5.1)
      activesupport (= 4.2.5.1)
      bundler (>= 1.3.0, < 2.0)
      railties (= 4.2.5.1)
      sprockets-rails
    rails-deprecated_sanitizer (1.0.3)
      activesupport (>= 4.2.0.alpha)
    rails-dom-testing (1.0.8)
      activesupport (>= 4.2.0.beta, < 5.0)
      nokogiri (~> 1.6)
      rails-deprecated_sanitizer (>= 1.0.1)
    rails-html-sanitizer (1.0.3)
      loofah (~> 2.0)
    railties (4.2.5.1)
      actionpack (= 4.2.5.1)
      activesupport (= 4.2.5.1)
      rake (>= 0.8.7)
      thor (>= 0.18.1, < 2.0)
    rainbow (2.2.1)
    rake (10.5.0)
    rb-fsevent (0.9.6)
    rb-inotify (0.9.5)
      ffi (>= 0.5.0)
    rdoc (4.2.0)
    redis (3.3.1)
    redis-actionpack (4.0.1)
      actionpack (~> 4)
      redis-rack (~> 1.5.0)
      redis-store (~> 1.1.0)
    redis-activesupport (4.1.5)
      activesupport (>= 3, < 5)
      redis-store (~> 1.1.0)
    redis-namespace (1.5.2)
      redis (~> 3.0, >= 3.0.4)
    redis-rack (1.5.0)
      rack (~> 1.5)
      redis-store (~> 1.1.0)
    redis-rails (4.0.0)
      redis-actionpack (~> 4)
      redis-activesupport (~> 4)
      redis-store (~> 1.1.0)
    redis-session-store (0.8.0)
      actionpack (>= 3, < 5)
      redis
    redis-store (1.1.7)
      redis (>= 2.2)
    regexp_parser (0.3.2)
    request_store (1.2.1)
    responders (2.3.0)
      railties (>= 4.2.0, < 5.1)
    rest-client (1.6.9)
      mime-types (~> 1.16)
    retryable (2.0.3)
    retryable-rb (1.1.0)
    rolify (4.1.1)
    rollout (2.0.0)
      redis
    rspec (3.3.0)
      rspec-core (~> 3.3.0)
      rspec-expectations (~> 3.3.0)
      rspec-mocks (~> 3.3.0)
    rspec-core (3.3.2)
      rspec-support (~> 3.3.0)
    rspec-expectations (3.3.1)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.3.0)
    rspec-mocks (3.3.2)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.3.0)
    rspec-rails (3.3.3)
      actionpack (>= 3.0, < 4.3)
      activesupport (>= 3.0, < 4.3)
      railties (>= 3.0, < 4.3)
      rspec-core (~> 3.3.0)
      rspec-expectations (~> 3.3.0)
      rspec-mocks (~> 3.3.0)
      rspec-support (~> 3.3.0)
    rspec-support (3.3.0)
    rubocop (0.47.1)
      parser (>= 2.3.3.1, < 3.0)
      powerpack (~> 0.1)
      rainbow (>= 1.99.1, < 3.0)
      ruby-progressbar (~> 1.7)
      unicode-display_width (~> 1.0, >= 1.0.1)
    ruby-oci8 (2.2.3)
    ruby-openid (2.7.0)
    ruby-openid-apps-discovery (1.2.0)
      ruby-openid (>= 2.1.7)
    ruby-progressbar (1.8.1)
    rufus-scheduler (3.1.10)
    safe_yaml (1.0.4)
    sass (3.4.23)
    sass-rails (5.0.4)
      railties (>= 4.0.0, < 5.0)
      sass (~> 3.1)
      sprockets (>= 2.8, < 4.0)
      sprockets-rails (>= 2.0, < 4.0)
      tilt (>= 1.1, < 3)
    savon (2.11.1)
      akami (~> 1.2)
      builder (>= 2.1.2)
      gyoku (~> 1.2)
      httpi (~> 2.3)
      nokogiri (>= 1.4.0)
      nori (~> 2.4)
      wasabi (~> 3.4)
    sdoc (0.4.1)
      json (~> 1.7, >= 1.7.7)
      rdoc (~> 4.0)
    secure_headers (2.2.2)
      user_agent_parser
    select2-rails (4.0.3)
      thor (~> 0.14)
    shellany (0.0.1)
    sidekiq (3.5.4)
      celluloid (~> 0.17.2)
      connection_pool (~> 2.2, >= 2.2.0)
      json (~> 1.0)
      redis (~> 3.2, >= 3.2.1)
      redis-namespace (~> 1.5, >= 1.5.2)
    sidekiq-cron (0.3.1)
      rufus-scheduler (>= 2.0.24)
      sidekiq (>= 2.17.3)
    sidekiq-pro (2.1.3)
      sidekiq (~> 3, >= 3.4.2)
    sidekiq-unique-jobs (4.0.8)
      sidekiq (>= 2.6)
    simplecov (0.10.0)
      docile (~> 1.1.0)
      json (~> 1.8)
      simplecov-html (~> 0.10.0)
    simplecov-html (0.10.0)
    sinatra (1.4.6)
      rack (~> 1.4)
      rack-protection (~> 1.4)
      tilt (>= 1.3, < 3)
    slop (3.6.0)
    spork (1.0.0rc4)
    spork-rails (4.0.0)
      rails (>= 3.0.0, < 5)
      spork (>= 1.0rc0)
    spring (1.4.0)
    spring-commands-rspec (1.0.4)
      spring (>= 0.9.1)
    sprockets (2.12.3)
      hike (~> 1.2)
      multi_json (~> 1.0)
      rack (~> 1.0)
      tilt (~> 1.1, != 1.3.0)
    sprockets-rails (2.2.4)
      actionpack (>= 3.0)
      activesupport (>= 3.0)
      sprockets (>= 2.8, < 4.0)
    syslog-logger (1.6.8)
    term-ansicolor (1.3.2)
      tins (~> 1.0)
    thin (1.6.3)
      daemons (~> 1.0, >= 1.0.9)
      eventmachine (~> 1.0)
      rack (~> 1.0)
    thor (0.19.4)
    thread_safe (0.3.5)
    tilt (1.4.1)
    timeliness (0.3.7)
    timers (4.1.1)
      hitimes
    tins (1.13.2)
    tzinfo (1.2.2)
      thread_safe (~> 0.1)
    uglifier (2.7.2)
      execjs (>= 0.3.0)
      json (>= 1.8.0)
    unicode-display_width (1.1.3)
    uniform_notifier (1.9.0)
    user_agent_parser (2.2.0)
    validates_email_format_of (1.6.3)
      i18n
    validates_timeliness (3.0.14)
      timeliness (~> 0.3.6)
    wasabi (3.5.0)
      httpi (~> 2.0)
      nokogiri (>= 1.4.2)
    web-console (2.2.1)
      activemodel (>= 4.0)
      binding_of_caller (>= 0.7.2)
      railties (>= 4.0)
      sprockets-rails (>= 2.0, < 4.0)
    webmock (1.21.0)
      addressable (>= 2.3.6)
      crack (>= 0.3.2)
    websocket-driver (0.6.2)
      websocket-extensions (>= 0.1.0)
    websocket-extensions (0.1.2)
    wicked_pdf (0.11.0)
      rails
    will_paginate (3.0.7)
    will_paginate-bootstrap (1.0.1)
      will_paginate (>= 3.0.3)
    wkhtmltopdf-binary (0.9.9.3)
    xpath (2.0.0)
      nokogiri (~> 1.3)
    xray-rails (0.1.16)
      coffee-rails
      rails (>= 3.1.0)

PLATFORMS
  ruby

DEPENDENCIES
  aasm
  active_model_serializers
  activerecord-import
  activerecord-oracle_enhanced-adapter (~> 1.6.0)
  airbrake
  awesome_nested_set!
  aws-sdk (~> 1.6)
  better_errors
  bootstrap-datepicker-rails
  bootstrap-table-rails
  bootstrap_form
  bullet
  capybara
  coffee-rails (~> 4.1.0)
  coveralls
  cru_lib!
  database_cleaner
  dotenv-rails
  email_validator
  equivalent-xml
  factory_girl_rails
  faker
  fe!
  fuubar
  geocoder
  gettext_i18n_rails (~> 1.2.3)
  gibberish (~> 2.0.0)
  global_registry!
  guard-rspec
  guard-rubocop
  guard-spork
  htmldoc
  http_logger
  jbuilder (~> 2.0)
  jquery-rails
  jquery-ui-rails
  js_regex
  liquid
  marco-polo
  newrelic_rpm
  oa-openid
  omniauth
  omniauth-cas!
  omniauth-facebook
  omniauth-oauth2
  paper_trail (~> 4.0.0)
  paperclip
  pg
  poltergeist
  pry
  pry-byebug
  pry-remote
  pry-stack_explorer
  puma
  pundit (~> 1.0.0)
  rack_session_access
  railroady
  rails (= 4.2.5.1)
  rake (< 11.0)
  redis-namespace
  redis-rails
  redis-session-store
  redis-store
  responders
  retryable
  rolify
  rollout (~> 2.0.0)
  rspec-rails
  rubocop
  ruby-oci8 (~> 2.2.0)
  sass-rails (~> 5.0)
  savon (~> 2.11.0)
  sdoc (~> 0.4.0)
  secure_headers
  select2-rails
  sidekiq-cron
  sidekiq-pro (= 2.1.3)!
  sidekiq-unique-jobs (~> 4.0.8)
  simplecov
  sinatra
  spork-rails
  spring
  spring-commands-rspec
  sprockets (= 2.12.3)
  sprockets-rails (= 2.2.4)
  syslog-logger
  thin
  uglifier (>= 1.3.0)
  validates_timeliness (~> 3.0)
  web-console (~> 2.0)
  webmock
  wicked_pdf
  will_paginate
  will_paginate-bootstrap
  wkhtmltopdf-binary
  xray-rails

BUNDLED WITH
   1.15.0
@segiddins
Copy link
Member

This looks like an issue with omniauth-oauth2, does it happen without using bundler?

@jbirdjavi
Copy link
Author

I kind of thought the same thing at first, but then I saw this, which confused me even more really:
https://discuss.circleci.com/t/build-always-fails/12765

I can take omniauth-oauth2 out of the Gemfile, and then it gives a similar error on omniauth-cas instead of omniauth-oauth2 even though omniauth-oauth2 is still being installed (and present in Gemfile.lock).

I'm not sure how to run rails without using bundler.

@twinge
Copy link

twinge commented Jun 2, 2017

We started seeing this issue immediately upon upgrading from 1.14.6 to 1.15.0 (and still with 1.15.1). Wondering if maybe it's related the the optimizations you guys did with Bundle.require? It definitely seems to have something to do with module/dependency loading.

@segiddins
Copy link
Member

Its definitely possible we broke things, if y'all wanted to help us speed up looking into the issue, narrowing down the reproduction would be super helpful since thats a massive gemfile

@jbirdjavi
Copy link
Author

jbirdjavi commented Jun 6, 2017

I was able to put together a repro that is more minimal than the Gemfile above. Note that if you remove the oa-openid gem, it does work.

repro.sh:

#!/bin/bash

mkdir -p /tmp/bundler
cd /tmp/bundler

gem update bundler

gem install rails -v 4.2.5.1

bundle env
# Bundler   1.15.1
# Rubygems  2.6.12
# Ruby      2.3.4p301 (2017-03-30 revision 58214) [x86_64-darwin16]
# Git       2.13.0
# Platform  x86_64-darwin-16

rails new bundler_test

cd bundler_test

cat > Gemfile <<EOF
source 'https://rubygems.org'

gem 'rails', '4.2.5.1'
gem 'sprockets', '2.12.3'
gem 'sprockets-rails', '2.2.4'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.1.0'
gem 'jquery-rails'
gem 'jquery-ui-rails'
gem 'jbuilder', '~> 2.0'
gem 'rake', '< 11.0'

gem 'omniauth'
gem 'omniauth-oauth2'
gem 'omniauth-cas', git: 'https://github.com/CruGlobal/omniauth-cas'
gem 'oa-openid'
EOF

bundle update

# Expected behavior: rails starts
# Observed behavior: crash with error backtrace
rails s

@segiddins
Copy link
Member

Thanks! So 50e899d broke this, I'll make a PR with a fix shortly (it seems some gems are relying upon the ordering of $LOAD_PATH independent of the dependency graph :O)

segiddins added a commit that referenced this issue Jun 6, 2017
This is required for backwards compatibility, see
issue #5696 for an example
@jbirdjavi
Copy link
Author

Great, I'm glad you were able to figure out what was going on. :)

@segiddins segiddins added this to the 1.15.2 milestone Jun 6, 2017
bundlerbot added a commit that referenced this issue Jun 6, 2017
[SpecSet] Sort by name in #tsort

Closes #5696

This is required for backwards compatibility, see
issue #5696  for an example. The issue is that previous versions of bundler would have the load path in one (correct) order, and master has them in another (correct) order. So some projects depend on the load path ordering when multiple gems have the same requirable file.

- [x] Test case
segiddins pushed a commit that referenced this issue Jul 17, 2017
[SpecSet] Sort by name in #tsort

Closes #5696

This is required for backwards compatibility, see
issue #5696  for an example. The issue is that previous versions of bundler would have the load path in one (correct) order, and master has them in another (correct) order. So some projects depend on the load path ordering when multiple gems have the same requirable file.

- [x] Test case

(cherry picked from commit e32353b)

# Conflicts:
#	spec/runtime/setup_spec.rb
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants