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

Acceptance test (and Spring.watch) both fail on my macos Catalina #614

Closed
jackkinsella opened this issue May 2, 2020 · 1 comment
Closed

Comments

@jackkinsella
Copy link

jackkinsella commented May 2, 2020

Spring's been a real treat over the years, but I noticed it stopped reloading my applications recently. I'm not sure if it is related with my upgrade to Catalina, but the breakage seemed to happen at the same time so I'm suspicious.

Happy to assist in debugging (I'd find it interesting to explore all that socket and threading stuff which I rarely use in my work). Just tell me what I can do.

Reproduction steps for failing tests in spring repo

Ruby 2.7.1
Spring 2.1.0
MacOS 10.15.3 (19D76) — using an encrypted Apple File System

$ rake test:acceptance

1) Failure:
AcceptanceTest#test_changing_the_gems.rb_works [/private/tmp/spring/test/support/acceptance_test.rb:516]:
expected unsuccessful exit status

$ bin/rails runner 'require "sqlite3"'
--- stderr ---
Running via Spring preloader in process 33064
--- log ---
[2020-05-02 17:32:52 +0200] [33056] [watcher:development] check_stale: mtime=1588433569.5504868 < computed=1588433572.379012
[2020-05-02 17:32:52 +0200] [33056] [watcher:development] marked stale, calling listeners: listeners=[#<Proc:0x00007f8785a12f48@/private/tmp/spring/test/apps/gems/2.6.5/gems/spring-2.1.0/lib/spring/application.rb:70>]
[2020-05-02 17:32:52 +0200] [33056] [application:development] running -> watcher_stale
[2020-05-02 17:32:52 +0200] [33056] [application:development] watcher_stale -> exiting
[2020-05-02 17:32:52 +0200] [33055] [application_manager:development] child 33056 shutdown
[2020-05-02 17:32:52 +0200] [33062] [application:development] preloading app
[2020-05-02 17:32:52 +0200] [33062] [watcher:development] start: poller=nil
[2020-05-02 17:32:52 +0200] [33055] [server] accepted client
[2020-05-02 17:32:52 +0200] [33055] [server] running command rails_runner
[2020-05-02 17:32:52 +0200] [33063] [client] sending command
[2020-05-02 17:32:53 +0200] [33062] [watcher:development] watcher: add: [["/private/tmp/spring/test/apps/tmp/config/boot.rb", "/private/tmp/spring/test/apps/tmp/config/application.rb", "/private/tmp/spring/test/apps/tmp/config/environments/development.rb", "/private/tmp/spring/test/apps/tmp/config/environment.rb"]]
[2020-05-02 17:32:53 +0200] [33062] [watcher:development] subjects_changed: mtime 0 -> 1588433569.448474
[2020-05-02 17:32:53 +0200] [33062] [watcher:development] watcher: add: [#<Pathname:/private/tmp/spring/test/apps/tmp/gems.rb>, "/private/tmp/spring/test/apps/tmp/gems.rb.lock"]
[2020-05-02 17:32:53 +0200] [33062] [watcher:development] subjects_changed: mtime 1588433569.448474 -> 1588433572.379012
[2020-05-02 17:32:53 +0200] [33062] [watcher:development] watcher: add: [#<Rails::Paths::Path:0x00007fb9ae36b018 @paths=["config/initializers"], @current="config/initializers", @root=#<Rails::Paths::Root:0x00007fb9ae361180 @current=nil, @path=#<Pathname:/private/tmp/spring/test/apps/tmp>, @root={"app"=>#<Rails::Paths::Path:0x00007fb9ae361040 @paths=["app"], @current="app", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="{*,*/concerns}", @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/assets"=>#<Rails::Paths::Path:0x00007fb9ae360f50 @paths=["app/assets"], @current="app/assets", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="*", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "app/controllers"=>#<Rails::Paths::Path:0x00007fb9ae360e60 @paths=["app/controllers"], @current="app/controllers", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/channels"=>#<Rails::Paths::Path:0x00007fb9ae360ca8 @paths=["app/channels"], @current="app/channels", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="**/*_channel.rb", @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/helpers"=>#<Rails::Paths::Path:0x00007fb9ae360b90 @paths=["app/helpers"], @current="app/helpers", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/models"=>#<Rails::Paths::Path:0x00007fb9ae360af0 @paths=["app/models"], @current="app/models", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/mailers"=>#<Rails::Paths::Path:0x00007fb9ae360a00 @paths=["app/mailers"], @current="app/mailers", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/views"=>#<Rails::Paths::Path:0x00007fb9ae360898 @paths=["app/views"], @current="app/views", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "lib"=>#<Rails::Paths::Path:0x00007fb9ae360578 @paths=["lib"], @current="lib", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=true>, "lib/assets"=>#<Rails::Paths::Path:0x00007fb9ae360208 @paths=["lib/assets"], @current="lib/assets", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="*", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "lib/tasks"=>#<Rails::Paths::Path:0x00007fb9ae36bdd8 @paths=["lib/tasks"], @current="lib/tasks", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="**/*.rake", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config"=>#<Rails::Paths::Path:0x00007fb9ae36bab8 @paths=["config"], @current="config", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/environments"=>#<Rails::Paths::Path:0x00007fb9ae36b5e0 @paths=["config/environments"], @current="config/environments", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="development.rb", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/initializers"=>#<Rails::Paths::Path:0x00007fb9ae36b018 ...>, "config/locales"=>#<Rails::Paths::Path:0x00007fb9ae36ad20 @paths=["config/locales"], @current="config/locales", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="*.{rb,yml}", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/routes.rb"=>#<Rails::Paths::Path:0x00007fb9ae36aa50 @paths=["config/routes.rb"], @current="config/routes.rb", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "db"=>#<Rails::Paths::Path:0x00007fb9ae36a690 @paths=["db"], @current="db", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "db/migrate"=>#<Rails::Paths::Path:0x00007fb9ae36a3e8 @paths=["db/migrate"], @current="db/migrate", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "db/seeds.rb"=>#<Rails::Paths::Path:0x00007fb9ae36a0a0 @paths=["db/seeds.rb"], @current="db/seeds.rb", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "vendor"=>#<Rails::Paths::Path:0x00007fb9ae369e20 @paths=["vendor"], @current="vendor", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=true>, "vendor/assets"=>#<Rails::Paths::Path:0x00007fb9ae369b00 @paths=["vendor/assets"], @current="vendor/assets", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="*", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/database"=>#<Rails::Paths::Path:0x00007fb9ae369740 @paths=["config/database.yml"], @current="config/database", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/secrets"=>#<Rails::Paths::Path:0x00007fb9ae369380 @paths=["config/secrets.yml"], @current="config/secrets", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/environment"=>#<Rails::Paths::Path:0x00007fb9ae368fc0 @paths=["config/environment.rb"], @current="config/environment", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "lib/templates"=>#<Rails::Paths::Path:0x00007fb9ae368c78 @paths=["lib/templates"], @current="lib/templates", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "log"=>#<Rails::Paths::Path:0x00007fb9ae3687c8 @paths=["log/development.log"], @current="log", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "public"=>#<Rails::Paths::Path:0x00007fb9ae373f88 @paths=["public"], @current="public", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "public/javascripts"=>#<Rails::Paths::Path:0x00007fb9ae373c40 @paths=["public/javascripts"], @current="public/javascripts", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "public/stylesheets"=>#<Rails::Paths::Path:0x00007fb9ae3739c0 @paths=["public/stylesheets"], @current="public/stylesheets", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "tmp"=>#<Rails::Paths::Path:0x00007fb9ae3736a0 @paths=["tmp"], @current="tmp", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/cable"=>#<Rails::Paths::Path:0x00007fb9ae4e9c50 @paths=["config/cable.yml"], @current="config/cable", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>}>, @glob="**/*.rb", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>]
[2020-05-02 17:32:53 +0200] [33062] [watcher:development] subjects_changed: mtime 1588433572.379012 -> 1588433572.379012
[2020-05-02 17:32:53 +0200] [33062] [watcher:development] watcher: add: [#<Rails::Paths::Path:0x00007fb9ae369740 @paths=["config/database.yml"], @current="config/database", @root=#<Rails::Paths::Root:0x00007fb9ae361180 @current=nil, @path=#<Pathname:/private/tmp/spring/test/apps/tmp>, @root={"app"=>#<Rails::Paths::Path:0x00007fb9ae361040 @paths=["app"], @current="app", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="{*,*/concerns}", @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/assets"=>#<Rails::Paths::Path:0x00007fb9ae360f50 @paths=["app/assets"], @current="app/assets", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="*", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "app/controllers"=>#<Rails::Paths::Path:0x00007fb9ae360e60 @paths=["app/controllers"], @current="app/controllers", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/channels"=>#<Rails::Paths::Path:0x00007fb9ae360ca8 @paths=["app/channels"], @current="app/channels", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="**/*_channel.rb", @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/helpers"=>#<Rails::Paths::Path:0x00007fb9ae360b90 @paths=["app/helpers"], @current="app/helpers", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/models"=>#<Rails::Paths::Path:0x00007fb9ae360af0 @paths=["app/models"], @current="app/models", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/mailers"=>#<Rails::Paths::Path:0x00007fb9ae360a00 @paths=["app/mailers"], @current="app/mailers", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/views"=>#<Rails::Paths::Path:0x00007fb9ae360898 @paths=["app/views"], @current="app/views", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "lib"=>#<Rails::Paths::Path:0x00007fb9ae360578 @paths=["lib"], @current="lib", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=true>, "lib/assets"=>#<Rails::Paths::Path:0x00007fb9ae360208 @paths=["lib/assets"], @current="lib/assets", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="*", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "lib/tasks"=>#<Rails::Paths::Path:0x00007fb9ae36bdd8 @paths=["lib/tasks"], @current="lib/tasks", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="**/*.rake", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config"=>#<Rails::Paths::Path:0x00007fb9ae36bab8 @paths=["config"], @current="config", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/environments"=>#<Rails::Paths::Path:0x00007fb9ae36b5e0 @paths=["config/environments"], @current="config/environments", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="development.rb", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/initializers"=>#<Rails::Paths::Path:0x00007fb9ae36b018 @paths=["config/initializers"], @current="config/initializers", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="**/*.rb", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/locales"=>#<Rails::Paths::Path:0x00007fb9ae36ad20 @paths=["config/locales"], @current="config/locales", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="*.{rb,yml}", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/routes.rb"=>#<Rails::Paths::Path:0x00007fb9ae36aa50 @paths=["config/routes.rb"], @current="config/routes.rb", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "db"=>#<Rails::Paths::Path:0x00007fb9ae36a690 @paths=["db"], @current="db", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "db/migrate"=>#<Rails::Paths::Path:0x00007fb9ae36a3e8 @paths=["db/migrate"], @current="db/migrate", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "db/seeds.rb"=>#<Rails::Paths::Path:0x00007fb9ae36a0a0 @paths=["db/seeds.rb"], @current="db/seeds.rb", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "vendor"=>#<Rails::Paths::Path:0x00007fb9ae369e20 @paths=["vendor"], @current="vendor", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=true>, "vendor/assets"=>#<Rails::Paths::Path:0x00007fb9ae369b00 @paths=["vendor/assets"], @current="vendor/assets", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="*", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/database"=>#<Rails::Paths::Path:0x00007fb9ae369740 ...>, "config/secrets"=>#<Rails::Paths::Path:0x00007fb9ae369380 @paths=["config/secrets.yml"], @current="config/secrets", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/environment"=>#<Rails::Paths::Path:0x00007fb9ae368fc0 @paths=["config/environment.rb"], @current="config/environment", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "lib/templates"=>#<Rails::Paths::Path:0x00007fb9ae368c78 @paths=["lib/templates"], @current="lib/templates", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "log"=>#<Rails::Paths::Path:0x00007fb9ae3687c8 @paths=["log/development.log"], @current="log", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "public"=>#<Rails::Paths::Path:0x00007fb9ae373f88 @paths=["public"], @current="public", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "public/javascripts"=>#<Rails::Paths::Path:0x00007fb9ae373c40 @paths=["public/javascripts"], @current="public/javascripts", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "public/stylesheets"=>#<Rails::Paths::Path:0x00007fb9ae3739c0 @paths=["public/stylesheets"], @current="public/stylesheets", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "tmp"=>#<Rails::Paths::Path:0x00007fb9ae3736a0 @paths=["tmp"], @current="tmp", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/cable"=>#<Rails::Paths::Path:0x00007fb9ae4e9c50 @paths=["config/cable.yml"], @current="config/cable", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>}>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>]
[2020-05-02 17:32:53 +0200] [33062] [watcher:development] subjects_changed: mtime 1588433572.379012 -> 1588433572.379012
[2020-05-02 17:32:53 +0200] [33062] [watcher:development] watcher: add: [#<Rails::Paths::Path:0x00007fb9ae369380 @paths=["config/secrets.yml"], @current="config/secrets", @root=#<Rails::Paths::Root:0x00007fb9ae361180 @current=nil, @path=#<Pathname:/private/tmp/spring/test/apps/tmp>, @root={"app"=>#<Rails::Paths::Path:0x00007fb9ae361040 @paths=["app"], @current="app", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="{*,*/concerns}", @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/assets"=>#<Rails::Paths::Path:0x00007fb9ae360f50 @paths=["app/assets"], @current="app/assets", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="*", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "app/controllers"=>#<Rails::Paths::Path:0x00007fb9ae360e60 @paths=["app/controllers"], @current="app/controllers", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/channels"=>#<Rails::Paths::Path:0x00007fb9ae360ca8 @paths=["app/channels"], @current="app/channels", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="**/*_channel.rb", @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/helpers"=>#<Rails::Paths::Path:0x00007fb9ae360b90 @paths=["app/helpers"], @current="app/helpers", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/models"=>#<Rails::Paths::Path:0x00007fb9ae360af0 @paths=["app/models"], @current="app/models", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/mailers"=>#<Rails::Paths::Path:0x00007fb9ae360a00 @paths=["app/mailers"], @current="app/mailers", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=true, @autoload=false, @load_path=false>, "app/views"=>#<Rails::Paths::Path:0x00007fb9ae360898 @paths=["app/views"], @current="app/views", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "lib"=>#<Rails::Paths::Path:0x00007fb9ae360578 @paths=["lib"], @current="lib", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=true>, "lib/assets"=>#<Rails::Paths::Path:0x00007fb9ae360208 @paths=["lib/assets"], @current="lib/assets", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="*", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "lib/tasks"=>#<Rails::Paths::Path:0x00007fb9ae36bdd8 @paths=["lib/tasks"], @current="lib/tasks", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="**/*.rake", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config"=>#<Rails::Paths::Path:0x00007fb9ae36bab8 @paths=["config"], @current="config", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/environments"=>#<Rails::Paths::Path:0x00007fb9ae36b5e0 @paths=["config/environments"], @current="config/environments", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="development.rb", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/initializers"=>#<Rails::Paths::Path:0x00007fb9ae36b018 @paths=["config/initializers"], @current="config/initializers", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="**/*.rb", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/locales"=>#<Rails::Paths::Path:0x00007fb9ae36ad20 @paths=["config/locales"], @current="config/locales", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="*.{rb,yml}", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/routes.rb"=>#<Rails::Paths::Path:0x00007fb9ae36aa50 @paths=["config/routes.rb"], @current="config/routes.rb", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "db"=>#<Rails::Paths::Path:0x00007fb9ae36a690 @paths=["db"], @current="db", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "db/migrate"=>#<Rails::Paths::Path:0x00007fb9ae36a3e8 @paths=["db/migrate"], @current="db/migrate", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "db/seeds.rb"=>#<Rails::Paths::Path:0x00007fb9ae36a0a0 @paths=["db/seeds.rb"], @current="db/seeds.rb", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "vendor"=>#<Rails::Paths::Path:0x00007fb9ae369e20 @paths=["vendor"], @current="vendor", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=true>, "vendor/assets"=>#<Rails::Paths::Path:0x00007fb9ae369b00 @paths=["vendor/assets"], @current="vendor/assets", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob="*", @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/database"=>#<Rails::Paths::Path:0x00007fb9ae369740 @paths=["config/database.yml"], @current="config/database", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/secrets"=>#<Rails::Paths::Path:0x00007fb9ae369380 ...>, "config/environment"=>#<Rails::Paths::Path:0x00007fb9ae368fc0 @paths=["config/environment.rb"], @current="config/environment", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "lib/templates"=>#<Rails::Paths::Path:0x00007fb9ae368c78 @paths=["lib/templates"], @current="lib/templates", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "log"=>#<Rails::Paths::Path:0x00007fb9ae3687c8 @paths=["log/development.log"], @current="log", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "public"=>#<Rails::Paths::Path:0x00007fb9ae373f88 @paths=["public"], @current="public", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "public/javascripts"=>#<Rails::Paths::Path:0x00007fb9ae373c40 @paths=["public/javascripts"], @current="public/javascripts", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "public/stylesheets"=>#<Rails::Paths::Path:0x00007fb9ae3739c0 @paths=["public/stylesheets"], @current="public/stylesheets", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "tmp"=>#<Rails::Paths::Path:0x00007fb9ae3736a0 @paths=["tmp"], @current="tmp", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>, "config/cable"=>#<Rails::Paths::Path:0x00007fb9ae4e9c50 @paths=["config/cable.yml"], @current="config/cable", @root=#<Rails::Paths::Root:0x00007fb9ae361180 ...>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>}>, @glob=nil, @autoload_once=false, @eager_load=false, @autoload=false, @load_path=false>]
[2020-05-02 17:32:53 +0200] [33062] [watcher:development] subjects_changed: mtime 1588433572.379012 -> 1588433572.379012
[2020-05-02 17:32:53 +0200] [33062] [application:development] initialized -> running
[2020-05-02 17:32:53 +0200] [33062] [application:development] got client
[2020-05-02 17:32:53 +0200] [33062] [application:development] forked 33064
[2020-05-02 17:32:53 +0200] [33055] [application_manager:development] got worker pid 33064
[2020-05-02 17:32:53 +0200] [33063] [client] got pid: 33064
[2020-05-02 17:32:53 +0200] [33062] [application:development] 33064 exited with 0
[2020-05-02 17:32:53 +0200] [33063] [client] got exit status 0

Reproduction steps in Rails

Rails - 6.0.2.2

$ cd /tmp
$ rails new testapp
$ cd testapp
$ bin/spring server
$ bin/rails console
$ bin/rails dev:cache

At this point nothing happens (i.e. spring status does not show the application was restarted), whereas in the past Spring would reload due to the presence of this configuration in default rails:

Spring.watch(
  ".ruby-version",
  ".rbenv-vars",
  "tmp/restart.txt",
   # this file gets added/removed when running bin/rails dev:cache
  "tmp/caching-dev.txt"
)

This happened in an app configured with a polling watcher and with another using the new default, spring-watcher-listen. When I tested the underlying dependency, rb-fsevent, to watch the same directories it worked perfectly so I don't think the issue lies downstream.

@jackkinsella
Copy link
Author

jackkinsella commented May 3, 2020

As further evidence that there's likely something broken, there's a popular Twitter thread today by Advi Grimm about how Spring is bringing down the reputation of Rails, causing the basic 101 documented features of Rails 6 to fail: https://twitter.com/avdi/status/1256743699859603457

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

Successfully merging a pull request may close this issue.

2 participants