rubinius: Rails Start Fails with "Kernel(Thread)#start (method_missing)" using Rubinius Docker Image

I hope this is just a configuration issue on my part and not anything serious…

Problem

When starting the Rails server using Rubinius I’m getting a NoMethodError undefined method ‘start’ on intense of Thread.

(Full stack trace at bottom)

root@5ff360c597d8:/TestApp# rails s
=> Booting Puma
=> Rails 5.0.0.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
[Listen warning]:
  Listen will be polling for changes. Learn more at https://github.com/guard/listen#polling-fallback.
Exiting
An exception occurred running bin/rails

undefined method `start' on an instance of Thread. (NoMethodError)

Backtrace:

                            Kernel(Thread)#start (method_missing) at core/zed.rb:1414

How to Reproduce

I’m running macOS Sierra and using Docker for Mac, with an image based on the Rubinius Docker image. The TestApp created by the below Dockerfile will cause this issue on my system and has no package or gem installation issues during the image build. After building, open the shell within a container based on this image and start the TestApp rails server.

FROM rubinius/docker

RUN apt-get update
RUN apt-get install -y postgresql libpq-dev sqlite3 libsqlite3-dev ruby-dev libxslt-dev libxml2-dev build-essential nodejs llvm

RUN gem install rails

RUN cd ~/
RUN rails new TestApp
RUN cd TestApp
RUN bundle install

Configuration Details

I’m using macOS Sierra and Docker for Mac

  • Output of rbx -v: rubinius 3.60 (2.3.1 5d5e49f7 2016-09-21 3.6.0) [x86_64-linux-gnu]
  • Output of uname -a: Linux 5ff360c597d8 4.4.20-moby #1 SMP Thu Sep 15 12:10:20 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
  • Distribution name (in case of Linux/BSD): Ubuntu 14.04

Stack Trace

Gist

root@5ff360c597d8:/TestApp# rails s -p 3333
=> Booting Puma
=> Rails 5.0.0.1 application starting in development on http://localhost:3333
=> Run `rails server -h` for more startup options
[Listen warning]:
  Listen will be polling for changes. Learn more at https://github.com/guard/listen#polling-fallback.
Exiting
An exception occurred running bin/rails

undefined method `start' on an instance of Thread. (NoMethodError)

Backtrace:

                            Kernel(Thread)#start (method_missing) at core/zed.rb:1414
                   ActiveSupport::EventedFileUpdateChecker#boot! at /opt/rubinius/3.60/gems/gems/activesupport-5.0.0.1/lib/active_support
                                                                    /evented_file_update_checker.rb:90
              ActiveSupport::EventedFileUpdateChecker#initialize at /opt/rubinius/3.60/gems/gems/activesupport-5.0.0.1/lib/active_support
                                                                    /evented_file_update_checker.rb:61
                                                        Class#new at core/alpha.rb:93
                                   I18n::Railtie.initialize_i18n at /opt/rubinius/3.60/gems/gems/activesupport-5.0.0.1/lib/active_support
                                                                    /i18n_railtie.rb:59
                                 { } in Object(Class)#__script__ at /opt/rubinius/3.60/gems/gems/activesupport-5.0.0.1/lib/active_support
                                                                    /i18n_railtie.rb:15
                                                        Proc#call at core/proc.rb:20
                                      ActiveSupport.execute_hook at /opt/rubinius/3.60/gems/gems/activesupport-5.0.0.1/lib/active_support
                                                                    /lazy_load_hooks.rb:36
                             { } in ActiveSupport.run_load_hooks at /opt/rubinius/3.60/gems/gems/activesupport-5.0.0.1/lib/active_support
                                                                    /lazy_load_hooks.rb:45
                                                       Array#each at core/array.rb:72
                                    ActiveSupport.run_load_hooks at /opt/rubinius/3.60/gems/gems/activesupport-5.0.0.1/lib/active_support
                                                                    /lazy_load_hooks.rb:44
                  { } in Object(TestApp::Application)#__script__ at /opt/rubinius/3.60/gems/gems/railties-5.0.0.1/lib/rails/application
                                                                    /finisher.rb:65
                  BasicObject(TestApp::Application)#instance_exec at core/basic_object.rb:160
                           Rails::Initializable::Initializer#run at /opt/rubinius/3.60/gems/gems/railties-5.0.0.1/lib/rails
                                                                    /initializable.rb:30
 { } in Rails::Initializable(TestApp::Application)#run_initializers at /opt/rubinius/3.60/gems/gems/railties-5.0.0.1/lib/rails
                                                                       /initializable.rb:55
       { } in TSort(Rails::Initializable::Collection)#tsort_each at /opt/rubinius/3.60/gems/gems/rubysl-tsort-2.0.1/lib/rubysl/tsort
                                                                    /tsort.rb:150
 { } in TSort(Rails::Initializable::Collection)#each_strongly_connected_component at /opt/rubinius/3.60/gems/gems/rubysl-tsort-2.0.1/lib
                                                                                     /rubysl/tsort/tsort.rb:183
 TSort(Rails::Initializable::Collection)#each_strongly_connected_component_from at /opt/rubinius/3.60/gems/gems/rubysl-tsort-2.0.1/lib
                                                                                   /rubysl/tsort/tsort.rb:219
 { } in TSort(Rails::Initializable::Collection)#each_strongly_connected_component at /opt/rubinius/3.60/gems/gems/rubysl-tsort-2.0.1/lib
                                                                                     /rubysl/tsort/tsort.rb:182
   Array(Rails::Initializable::Collection)#tsort_each_node (each) at core/array.rb:72
 TSort(Rails::Initializable::Collection)#each_strongly_connected_component at /opt/rubinius/3.60/gems/gems/rubysl-tsort-2.0.1/lib/rubysl
                                                                              /tsort/tsort.rb:180
              TSort(Rails::Initializable::Collection)#tsort_each at /opt/rubinius/3.60/gems/gems/rubysl-tsort-2.0.1/lib/rubysl/tsort
                                                                    /tsort.rb:148
     Rails::Initializable(TestApp::Application)#run_initializers at /opt/rubinius/3.60/gems/gems/railties-5.0.0.1/lib/rails
                                                                    /initializable.rb:54
            Rails::Application(TestApp::Application)#initialize! at /opt/rubinius/3.60/gems/gems/railties-5.0.0.1/lib/rails
                                                                    /application.rb:352
                                                Object#__script__ at config/environment.rb:5
                                     Rubinius::CodeLoader.require at core/code_loader.rb:233
                            Rubinius::CodeLoader.require_relative at core/code_loader.rb:147
                           Kernel(Rack::Builder)#require_relative at core/kernel.rb:857
                          { } in Object(Rack::Builder)#__script__ at config.ru:3
                         BasicObject(Rack::Builder)#instance_eval at core/basic_object.rb:102
                                         Rack::Builder#initialize at /opt/rubinius/3.60/gems/gems/rack-2.0.1/lib/rack/builder.rb:55
                                                        Class#new at core/alpha.rb:93
                                         { } in Object#__script__ at config.ru+9
                      Rubinius::BlockEnvironment#call_on_instance at core/block_environment.rb:147
                                               Kernel(Class)#eval at core/kernel.rb:1130
                                    Rack::Builder.new_from_string at /opt/rubinius/3.60/gems/gems/rack-2.0.1/lib/rack/builder.rb:49
                                         Rack::Builder.parse_file at /opt/rubinius/3.60/gems/gems/rack-2.0.1/lib/rack/builder.rb:40
    Rack::Server(Rails::Server)#build_app_and_options_from_config at /opt/rubinius/3.60/gems/gems/rack-2.0.1/lib/rack/server.rb:318
                                  Rack::Server(Rails::Server)#app at /opt/rubinius/3.60/gems/gems/rack-2.0.1/lib/rack/server.rb:218
                                               Rails::Server#app at /opt/rubinius/3.60/gems/gems/railties-5.0.0.1/lib/rails/commands
                                                                    /server.rb:59
                          Rack::Server(Rails::Server)#wrapped_app at /opt/rubinius/3.60/gems/gems/rack-2.0.1/lib/rack/server.rb:353
                                     Rails::Server#log_to_stdout at /opt/rubinius/3.60/gems/gems/railties-5.0.0.1/lib/rails/commands
                                                                    /server.rb:124
                                             Rails::Server#start at /opt/rubinius/3.60/gems/gems/railties-5.0.0.1/lib/rails/commands
                                                                    /server.rb:77
                              { } in Rails::CommandsTasks#server at /opt/rubinius/3.60/gems/gems/railties-5.0.0.1/lib/rails/commands
                                                                    /commands_tasks.rb:90
                                        Kernel(Rails::Server)#tap at core/kernel.rb:915
                                     Rails::CommandsTasks#server at /opt/rubinius/3.60/gems/gems/railties-5.0.0.1/lib/rails/commands
                                                                    /commands_tasks.rb:85
                               Rails::CommandsTasks#run_command! at /opt/rubinius/3.60/gems/gems/railties-5.0.0.1/lib/rails/commands
                                                                    /commands_tasks.rb:49
                                                Object#__script__ at /opt/rubinius/3.60/gems/gems/railties-5.0.0.1/lib/rails/commands.rb:18
                                     Rubinius::CodeLoader.require at core/code_loader.rb:233
                                           Kernel(Object)#require at core/kernel.rb:851
                                                Object#__script__ at bin/rails:4
                                 Rubinius::CodeLoader#load_script at core/code_loader.rb:505
                                 Rubinius::CodeLoader.load_script at core/code_loader.rb:590
                                          Rubinius::Loader#script at core/loader.rb:679
                                            Rubinius::Loader#main at core/loader.rb:862

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 18 (13 by maintainers)

Most upvoted comments

@albabar ok, super puzzling. I’m happy to hear it’s working for you now.