Unable to debug Rails app running on docker from Rubymine
I am trying to start my debugger for my rails app thats running on docker. I followed the tutorial on this post and created a new remote sdk based on my docker-compose.yml file. I am running Rubymine 2018.1
If i run the app, it runs fine, but in debugger mode I get the below. Am I missing some configuration thats preventing to from connecting. Thanks
[36mscinote_web_development |[0m Fast Debugger (ruby-debug-ide 0.6.1, debase 0.2.2, file filtering is supported) listens on 0.0.0.0:1234
[36mscinote_web_development |[0m => Booting Puma
[36mscinote_web_development |[0m => Rails 5.1.1 application starting in development on http://0.0.0.0:3000
[36mscinote_web_development |[0m => Run `rails server -h` for more startup options
[36mscinote_web_development |[0m [sciNote] Generating symlinks for addons!
[36mscinote_web_development |[0m [sciNote] Copying features from addons!
[36mscinote_web_development |[0m [1] Puma starting in cluster mode...
[36mscinote_web_development |[0m [1] * Version 3.11.2 (ruby 2.4.3-p205), codename: Love Song
[36mscinote_web_development |[0m [1] * Min threads: 5, max threads: 5
[36mscinote_web_development |[0m [1] * Environment: development
[36mscinote_web_development |[0m [1] * Process workers: 2
[36mscinote_web_development |[0m [1] * Preloading application
[36mscinote_web_development |[0m [1] * Listening on tcp://0.0.0.0:3000
[36mscinote_web_development |[0m [1] Use Ctrl-C to stop
[36mscinote_web_development |[0m Fast Debugger (ruby-debug-ide 0.6.1, debase 0.2.2, file filtering is supported) listens on 0.0.0.0:46329
[36mscinote_web_development |[0m Fast Debugger (ruby-debug-ide 0.6.1, debase 0.2.2, file filtering is supported) listens on 0.0.0.0:41581
[36mscinote_web_development |[0m 9: connection failed(1)
[36mscinote_web_development |[0m Exception: Connection refused - connect(2) for "172.18.0.1" port 26168
[36mscinote_web_development |[0m /usr/local/bundle/gems/ruby-debug-ide-0.6.1/lib/ruby-debug-ide.rb:153:in `initialize'
[36mscinote_web_development |[0m /usr/local/bundle/gems/ruby-debug-ide-0.6.1/lib/ruby-debug-ide.rb:153:in `open'
[36mscinote_web_development |[0m /usr/local/bundle/gems/ruby-debug-ide-0.6.1/lib/ruby-debug-ide.rb:153:in `block in notify_dispatcher'
[36mscinote_web_development |[0m /usr/local/bundle/gems/ruby-debug-ide-0.6.1/lib/ruby-debug-ide.rb:151:in `times'
[36mscinote_web_development |[0m /usr/local/bundle/gems/ruby-debug-ide-0.6.1/lib/ruby-debug-ide.rb:151:in `notify_dispatcher'
[36mscinote_web_development |[0m /usr/local/bundle/gems/ruby-debug-ide-0.6.1/lib/ruby-debug-ide.rb:116:in `block in start_control'
[36mscinote_web_development |[0m /usr/local/bundle/gems/logging-2.0.0/lib/logging/diagnostic_context.rb:448:in `block in create_with_logging_context'
[36mscinote_web_development |[0m 12: connection failed(1)
[36mscinote_web_development |[0m Exception: Connection refused - connect(2) for "172.18.0.1" port 26168
[36mscinote_web_development |[0m /usr/local/bundle/gems/ruby-debug-ide-0.6.1/lib/ruby-debug-ide.rb:153:in `initialize'
[36mscinote_web_development |[0m /usr/local/bundle/gems/ruby-debug-ide-0.6.1/lib/ruby-debug-ide.rb:153:in `open'
[36mscinote_web_development |[0m /usr/local/bundle/gems/ruby-debug-ide-0.6.1/lib/ruby-debug-ide.rb:153:in `block in notify_dispatcher'
[36mscinote_web_development |[0m /usr/local/bundle/gems/ruby-debug-ide-0.6.1/lib/ruby-debug-ide.rb:151:in `times'
[36mscinote_web_development |[0m /usr/local/bundle/gems/ruby-debug-ide-0.6.1/lib/ruby-debug-ide.rb:151:in `notify_dispatcher'
[36mscinote_web_development |[0m /usr/local/bundle/gems/ruby-debug-ide-0.6.1/lib/ruby-debug-ide.rb:116:in `block in start_control'
[36mscinote_web_development |[0m /usr/local/bundle/gems/logging-2.0.0/lib/logging/diagnostic_context.rb:448:in `block in create_with_logging_context'
[36mscinote_web_development |[0m 9: connection failed(2)
Please sign in to leave a comment.
I have the same issue with my webapp, which is in 'cluster mode' (workers ENV.fetch('PUMA_WORKERS') { 1 }). Well, it is almost the same issue, as it RubyMine connects to the debugger but the requests hang/get frozen.
In single mode (workers ENV.fetch('PUMA_WORKERS') { 0 }) there is no issue.
On the other hand, with the sample project from the Using Docker Compose as a Remote Interpreter tutorial I have no issues.
These are the outputs of both projects in debug mode :
I'm on
- Ubuntu 18.04.1 LTS
- RubyMine 2018.2.2
- docker-compose version 1.22.0, build f46880fe
- Docker version 18.06.1-ce, build e68fc7a
- 'rails', '4.2.10'
- ruby 2.3.7
You can reproduce it using the sample project using a Puma config file with 1 worker and launching the debugger. Hope It will helps to fix this issue.
=== Update 2 hours later ====
The console log when using enabling 'Settings | Build, Execution & Deployment | Debugger | Ruby | Verbose debugger output'
This is the RubyMine log when using 1 Puma worker :
I wonder if it is related to https://youtrack.jetbrains.com/issue/RUBY-21375