Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Booting Rails console fails with "method 'equal?': given 1, expected 2 (ArgumentError)" #3570

Closed
yorickpeterse opened this issue Jan 15, 2016 · 1 comment
Assignees

Comments

@yorickpeterse
Copy link
Contributor

When starting the Rails console in GitLab the following error is triggered:

An exception occurred running bin/rails

method 'equal?': given 1, expected 2 (ArgumentError)

Backtrace:

                                                              Binding.self_context at kernel/common/binding.rb:14
                                                                     Binding.setup at kernel/common/binding.rb:32
                                      { } in WebConsole::Rubinius.current_bindings at /home/yorickpeterse/.gem/rbx/2.2.0/gems/web-console-2.2.1/lib/web_console/integration/rubinius.rb:38
                                                                         Array#map at kernel/bootstrap/array.rb:97
                                             WebConsole::Rubinius.current_bindings at /home/yorickpeterse/.gem/rbx/2.2.0/gems/web-console-2.2.1/lib/web_console/integration/rubinius.rb:37
                  Rubinius.raise_exception (raise_exception_with_current_bindings) at /home/yorickpeterse/.gem/rbx/2.2.0/gems/web-console-2.2.1/lib/web_console/integration/rubinius.rb:59
                                                              Kernel(Module)#raise at kernel/delta/kernel.rb:39
                     ActiveSupport::Dependencies::Loadable(Module)#load_dependency at /home/yorickpeterse/.gem/rbx/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:244
                             ActiveSupport::Dependencies::Loadable(Module)#require at /home/yorickpeterse/.gem/rbx/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274
                                        { } in Teaspoon::Registry(Module)#register at /home/yorickpeterse/.gem/rbx/2.2.0/gems/teaspoon-1.0.2/lib/teaspoon/registry.rb:14
                                                                         Proc#call at kernel/bootstrap/proc.rb:20
                                                  Teaspoon::Registry(Module)#fetch at /home/yorickpeterse/.gem/rbx/2.2.0/gems/teaspoon-1.0.2/lib/teaspoon/registry.rb:26
                                      Teaspoon::Configuration::Suite#use_framework at /home/yorickpeterse/.gem/rbx/2.2.0/gems/teaspoon-1.0.2/lib/teaspoon/configuration.rb:88
                                                          { } in Object#__script__ at spec/teaspoon_env.rb:37
                                         Teaspoon::Configuration::Suite#initialize at /home/yorickpeterse/.gem/rbx/2.2.0/gems/teaspoon-1.0.2/lib/teaspoon/configuration.rb:82
                                                                         Class#new at kernel/alpha.rb:94
                                                     Teaspoon::Configuration.suite at /home/yorickpeterse/.gem/rbx/2.2.0/gems/teaspoon-1.0.2/lib/teaspoon/configuration.rb:59
                                                          { } in Object#__script__ at spec/teaspoon_env.rb:30
                                                                Teaspoon.configure at /home/yorickpeterse/.gem/rbx/2.2.0/gems/teaspoon-1.0.2/lib/teaspoon/configuration.rb:167
                                                                 Object#__script__ at spec/teaspoon_env.rb:1
                                                                       Kernel.load at kernel/common/kernel.rb:498
                                                 Teaspoon::Environment.require_env at /home/yorickpeterse/.gem/rbx/2.2.0/gems/teaspoon-1.0.2/lib/teaspoon/environment.rb:47
                                         Teaspoon::Environment.require_environment at /home/yorickpeterse/.gem/rbx/2.2.0/gems/teaspoon-1.0.2/lib/teaspoon/environment.rb:20
                                        { } in Object(Teaspoon::Engine)#__script__ at /home/yorickpeterse/.gem/rbx/2.2.0/gems/teaspoon-1.0.2/lib/teaspoon/engine.rb:18
                                       BasicObject(Teaspoon::Engine)#instance_exec at kernel/common/eval.rb:104
                                             Rails::Initializable::Initializer#run at /home/yorickpeterse/.gem/rbx/2.2.0/gems/railties-4.2.4/lib/rails/initializable.rb:30
                 { } in Rails::Initializable(Gitlab::Application)#run_initializers at /home/yorickpeterse/.gem/rbx/2.2.0/gems/railties-4.2.4/lib/rails/initializable.rb:55
                         { } in TSort(Rails::Initializable::Collection)#tsort_each at /home/yorickpeterse/.rubies/rbx-git/gems/gems/rubysl-tsort-2.0.1/lib/rubysl/tsort/tsort.rb:150
  { } in TSort(Rails::Initializable::Collection)#each_strongly_connected_component at /home/yorickpeterse/.rubies/rbx-git/gems/gems/rubysl-tsort-2.0.1/lib/rubysl/tsort/tsort.rb:183
    TSort(Rails::Initializable::Collection)#each_strongly_connected_component_from at /home/yorickpeterse/.rubies/rbx-git/gems/gems/rubysl-tsort-2.0.1/lib/rubysl/tsort/tsort.rb:219
  { } in TSort(Rails::Initializable::Collection)#each_strongly_connected_component at /home/yorickpeterse/.rubies/rbx-git/gems/gems/rubysl-tsort-2.0.1/lib/rubysl/tsort/tsort.rb:182
                    Array(Rails::Initializable::Collection)#tsort_each_node (each) at kernel/bootstrap/array.rb:76
         TSort(Rails::Initializable::Collection)#each_strongly_connected_component at /home/yorickpeterse/.rubies/rbx-git/gems/gems/rubysl-tsort-2.0.1/lib/rubysl/tsort/tsort.rb:180
                                TSort(Rails::Initializable::Collection)#tsort_each at /home/yorickpeterse/.rubies/rbx-git/gems/gems/rubysl-tsort-2.0.1/lib/rubysl/tsort/tsort.rb:148
                        Rails::Initializable(Gitlab::Application)#run_initializers at /home/yorickpeterse/.gem/rbx/2.2.0/gems/railties-4.2.4/lib/rails/initializable.rb:54
                               Rails::Application(Gitlab::Application)#initialize! at /home/yorickpeterse/.gem/rbx/2.2.0/gems/railties-4.2.4/lib/rails/application.rb:352
                                                                 Object#__script__ at config/environment.rb:5
                                                      Rubinius::CodeLoader.require at kernel/common/code_loader.rb:247
                                               Kernel(Gitlab::Application)#require at kernel/common/kernel.rb:756
         { } in ActiveSupport::Dependencies::Loadable(Gitlab::Application)#require at /home/yorickpeterse/.gem/rbx/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274
        ActiveSupport::Dependencies::Loadable(Gitlab::Application)#load_dependency at /home/yorickpeterse/.gem/rbx/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:240
                ActiveSupport::Dependencies::Loadable(Gitlab::Application)#require at /home/yorickpeterse/.gem/rbx/2.2.0/gems/activesupport-4.2.4/lib/active_support/dependencies.rb:274
                      Rails::Application(Gitlab::Application)#require_environment! at /home/yorickpeterse/.gem/rbx/2.2.0/gems/railties-4.2.4/lib/rails/application.rb:328
                         Rails::CommandsTasks#require_application_and_environment! at /home/yorickpeterse/.gem/rbx/2.2.0/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:142
                                                      Rails::CommandsTasks#console at /home/yorickpeterse/.gem/rbx/2.2.0/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:67
                                                 Rails::CommandsTasks#run_command! at /home/yorickpeterse/.gem/rbx/2.2.0/gems/railties-4.2.4/lib/rails/commands/commands_tasks.rb:39
                                                                 Object#__script__ at /home/yorickpeterse/.gem/rbx/2.2.0/gems/railties-4.2.4/lib/rails/commands.rb:17
                                                      Rubinius::CodeLoader.require at kernel/common/code_loader.rb:247
                                                            Kernel(Object)#require at kernel/common/kernel.rb:756
                                                                 Object#__script__ at bin/rails:4
                                                  Rubinius::CodeLoader#load_script at kernel/delta/code_loader.rb:66
                                                  Rubinius::CodeLoader.load_script at kernel/delta/code_loader.rb:152
                                                           Rubinius::Loader#script at kernel/loader.rb:682
                                                             Rubinius::Loader#main at kernel/loader.rb:869
@yorickpeterse yorickpeterse self-assigned this Jan 15, 2016
@yorickpeterse
Copy link
Contributor Author

It appears this code is to blame: https://github.com/modeset/teaspoon/blob/cdf46b24676c093f7a2b0ed8e8e473dd89a47564/lib/teaspoon/registry.rb#L29

In other words, developers think they can get away with re-defining equal? in an incompatible manner. Fantastic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant