Unable to hit debug breakpoints with 681 (Ubuntu 8.10 + Ruby 1.8.6)

Hello,

I am very impressed by the capabilities of RubyMine and I plan on buying the finished product. Great job!

When I first installed RubyMine two weeks ago, I was able to debug my server. I recently upgraded to build 681 in order to fix some UI issues, and now it seems I am no longer able to debug!

Although I can launch the server using RubyMine's Debug command and the console output seems correct, my breakpoints are never hit.

Is anyone else having this problem?

Here is an sample console output from debugger startup. (This sample is using Mongrel; I have tried Webrick with identical result.)

/usr/bin/ruby -e STDOUT.sync=true;STDERR.sync=true;load($0=ARGV.shift) /usr/bin/rdebug-ide --port 47744 -- /home/tony/Projects/debugtest/script/server mongrel -p 3000 -b 0.0.0.0 -e development
Fast Debugger (ruby-debug-ide 0.4.4) listens on localhost:47744
=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails 2.1.0 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with development environment...
** [NewRelic] New Relic RPM Agent 2.8.2 Initialized: pid = 12250
** [NewRelic] Agent Log is found in /mnt/lindata/src/MNWO/mnwo/log/newrelic_agent.3000.log
** [NewRelic] NewRelic Agent (Developer Mode) enabled.
** [NewRelic] To view performance information, go to http://localhost:3000/newrelic
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready.  TERM => stop.  USR2 => restart.  INT => stop (no restart).
** Rails signals registered.  HUP => reload (without restart).  It might not work well.
** Mongrel 1.1.5 available at 0.0.0.0:3000
** Use CTRL-C to stop.

9 comments
Comment actions Permalink

I had the same problem, but under OS X instead of Linux.  Everything seemed to start up fine, and RubyMine attached to the process ok, but breakpoints would not get triggered.  This was with both #681 and #715.

I finally got the debugger to work by deleting all my idea/intellij/rubymine settings from both my home directory (~/Library/Application Support and ~/Library/Preferences) and my project directory and then restarting/reconfiguring rubymine for my project.  I think some rogue setting was causing the problem.

0
Comment actions Permalink

Thanks for the tip. Unfortunately, that didn't seem to fix thinks under Ubuntu.

Perhaps I should pettion JetBrains to buy me a Mac laptop. ;-)

0
Comment actions Permalink

Hey, did you solve the problem? I am having it in RubyMine 2.0.1 under Ubuntu 9

Also, is it possible to set up debug when running with Apache/Passenger?

0
Comment actions Permalink

Hi guys,


Please try adding these line to file idea.properties:

idea.is.internal=true

You'll be able to get ruby-debugger debug output info when running debug session in console. Hope this will help us to solve the problem.

Gleb:
You can try debug it using remote-debug feature. Please have a look at the following link for more details: http://blogs.jetbrains.com/ruby/2009/05/ruby-remote-debug/


Regards,
Oleg

0
Comment actions Permalink

Here is what I got with the idea.is.internal=true option.
Seems like there isn't much difference between  idea.is.internal=true and idea.is.internal=false.

/usr/bin/ruby -e STDOUT.sync=true;STDERR.sync=true;load($0=ARGV.shift) /usr/bin/rdebug-ide --port 33128 -- /home/gleb/irequest/script/server -p 3000 -b 0.0.0.0 -e development
Fast Debugger (ruby-debug-ide 0.4.9) listens on :33128
=> Booting WEBrick
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
/home/gleb/.gem/ruby/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010.  Use #requirement
=> Mixing in Lockdown version: 1.6.4 

=> Call with -d to detach
=> Ctrl-C to shutdown server
[2010-02-28 21:03:57] INFO  WEBrick 1.3.1
[2010-02-28 21:03:57] INFO  ruby 1.8.7 (2009-06-12) [i486-linux]
[2010-02-28 21:04:12] INFO  WEBrick::HTTPServer#start: pid=3634 port=3000
=> Requiring Lockdown rules engine: /home/gleb/projects/iRequest/iRequest-Web/lib/lockdown/init.rb 

  SQL (22.4ms)   SET NAMES 'utf8'
  SQL (4.7ms)   SET SQL_AUTO_IS_NULL=0

Processing HomeController#index (for 127.0.0.1 at 2010-02-28 21:14:09) [GET]
  Parameters: {"action"=>"index", "controller"=>"home"}
  SQL (5.6ms)   SHOW TABLES
  SQL (3.1ms)   SHOW TABLES
  Permission Load (0.7ms)   SELECT * FROM `permissions` WHERE (name = 'Edit Tutorials') LIMIT 1
  Permission Load (0.7ms)   SELECT * FROM `permissions` WHERE (name = 'Delete Comments') LIMIT 1
  Permission Load (2.6ms)   SELECT * FROM `permissions` WHERE (name = 'Browse Stats') LIMIT 1
  Permission Load (0.6ms)   SELECT * FROM `permissions` WHERE (name = 'Full Users Access') LIMIT 1
  Permission Load (0.9ms)   SELECT * FROM `permissions` WHERE (name = 'Edit Blog') LIMIT 1
  Permission Load (0.5ms)   SELECT * FROM `permissions` WHERE (name = 'Admin') LIMIT 1
  Permission Load (1.8ms)   SELECT * FROM `permissions` 
  Permission Columns (2.4ms)   SHOW FIELDS FROM `permissions`
  UserGroup Load (1.0ms)   SELECT * FROM `user_groups` WHERE (name = 'Administrators') LIMIT 1
  UserGroup Columns (1.3ms)   SHOW FIELDS FROM `user_groups`
  permissions_user_groups Columns (0.8ms)   SHOW FIELDS FROM `permissions_user_groups`
  Permission Load (1.1ms)   SELECT * FROM `permissions` INNER JOIN `permissions_user_groups` ON `permissions`.id = `permissions_user_groups`.permission_id WHERE (`permissions_user_groups`.user_group_id = 1 ) 
  User Load (12.2ms)   SELECT * FROM `users` WHERE (`users`.`id` = '3') LIMIT 1
  SQL (0.5ms)   BEGIN
  User Update (4.0ms)   UPDATE `users` SET `updated_at` = '2010-02-28 20:14:10', `perishable_token` = 'cM03F069UkM-Torhc4Zp', `last_request_at` = '2010-02-28 20:14:10' WHERE `id` = 3
  SQL (8.2ms)   COMMIT
  user_groups_users Columns (4.7ms)   SHOW FIELDS FROM `user_groups_users`
  UserGroup Load (0.4ms)   SELECT * FROM `user_groups` INNER JOIN `user_groups_users` ON `user_groups`.id = `user_groups_users`.user_group_id WHERE (`user_groups_users`.user_id = 3 ) 
  Post Load (3.1ms)   SELECT id, title, created_at FROM `posts` ORDER BY created_at DESC LIMIT 3
Rendering template within layouts/application
Rendering home/index
  Post Columns (6.8ms)   SHOW FIELDS FROM `posts`
Rendered shared/_menu (7.0ms)
Rendered shared/_footer_menu (27.2ms)
Completed in 1338ms (View: 155, DB: 828) | 200 OK [http://localhost/]
0
Comment actions Permalink

Hi Gleb,

Sorry for confusing you, instead of option -Didea.is.internal=true please you the -Druby.debug.output=true.

Regards,
Oleg

0
Comment actions Permalink

Here is the log:

/usr/bin/ruby -e STDOUT.sync=true;STDERR.sync=true;load($0=ARGV.shift) /usr/bin/rdebug-ide --debug --port 36459 -- /home/gleb/irequest/script/server -p 3000 -b 0.0.0.0 -e development
Fast Debugger (ruby-debug-ide 0.4.9) listens on :36459
Starting command read loop
Processing: b /home/gleb/irequest/app/controllers/dj_controller.rb:49
<breakpointAdded no="1" location="/home/gleb/irequest/app/controllers/dj_controller.rb:49"/>
Processing: b /home/gleb/irequest/app/controllers/client_controller.rb:5
<breakpointAdded no="2" location="/home/gleb/irequest/app/controllers/client_controller.rb:5"/>
Processing: b /home/gleb/irequest/app/controllers/home_controller.rb:3
<breakpointAdded no="3" location="/home/gleb/irequest/app/controllers/home_controller.rb:3"/>
Processing: b /home/gleb/irequest/app/controllers/dj_controller.rb:5
<breakpointAdded no="4" location="/home/gleb/irequest/app/controllers/dj_controller.rb:5"/>
Processing: start
Starting: running program script
=> Booting WEBrick
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
/home/gleb/.gem/ruby/1.8/gems/rails-2.3.5/lib/rails/gem_dependency.rb:119:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010.  Use #requirement
=> Mixing in Lockdown version: 1.6.5

=> Call with -d to detach
=> Ctrl-C to shutdown server
[2010-03-07 19:10:28] INFO  WEBrick 1.3.1
[2010-03-07 19:10:28] INFO  ruby 1.8.7 (2009-06-12) [i486-linux]
[2010-03-07 19:10:33] INFO  WEBrick::HTTPServer#start: pid=25013 port=3000
=> Requiring Lockdown rules engine: /home/gleb/projects/iRequest/iRequest-Web/lib/lockdown/init.rb

  SQL (2.6ms)   SET NAMES 'utf8'
  SQL (1.1ms)   SET SQL_AUTO_IS_NULL=0


Processing HomeController#index (for 127.0.0.1 at 2010-03-07 19:10:58) [GET]
  Parameters: {"action"=>"index", "controller"=>"home"}
  SQL (1.1ms)   SHOW TABLES
  SQL (0.5ms)   SHOW TABLES
  Permission Load (0.7ms)   SELECT * FROM `permissions` WHERE (name = 'Delete Comments') LIMIT 1
  Permission Load (0.4ms)   SELECT * FROM `permissions` WHERE (name = 'Browse Stats') LIMIT 1
  Permission Load (0.7ms)   SELECT * FROM `permissions` WHERE (name = 'Full Users Access') LIMIT 1
  Permission Load (0.7ms)   SELECT * FROM `permissions` WHERE (name = 'Edit Blog') LIMIT 1
  Permission Load (2.0ms)   SELECT * FROM `permissions` WHERE (name = 'Admin') LIMIT 1
  Permission Load (0.7ms)   SELECT * FROM `permissions` WHERE (name = 'Edit Tutorials') LIMIT 1
  Permission Load (0.4ms)   SELECT * FROM `permissions`
  Permission Columns (4.6ms)   SHOW FIELDS FROM `permissions`
  UserGroup Load (0.3ms)   SELECT * FROM `user_groups` WHERE (name = 'Administrators') LIMIT 1
  UserGroup Columns (3.1ms)   SHOW FIELDS FROM `user_groups`
  permissions_user_groups Columns (2.0ms)   SHOW FIELDS FROM `permissions_user_groups`
  Permission Load (2.6ms)   SELECT * FROM `permissions` INNER JOIN `permissions_user_groups` ON `permissions`.id = `permissions_user_groups`.permission_id WHERE (`permissions_user_groups`.user_group_id = 1 )
  Post Load (0.5ms)   SELECT id, title, created_at FROM `posts` ORDER BY created_at DESC LIMIT 3
Rendering template within layouts/application
Rendering home/index
  Post Columns (1.7ms)   SHOW FIELDS FROM `posts`
Rendered shared/_new_account_form (212.3ms)
Rendered shared/_openid_login_form (69.2ms)
Rendered shared/_menu (51.3ms)
Rendered shared/_dj_select (210.3ms)
Rendered shared/_footer_menu (81.2ms)
Completed in 1923ms (View: 1279, DB: 26) | 200 OK [http://localhost/]




I also get this error message on the IDE startup:

add/remove dir: /home/gleb/irequest to file: add/remove dir: /home/gleb/irequest to file:
java.lang.UnsupportedOperationException: add/remove dir: /home/gleb/irequest to file:
 at com.intellij.history.core.tree.Entry.addChild(Entry.java:118)
 at com.intellij.history.core.changes.CreateEntryChange.addEntry(CreateEntryChange.java:60)
 at com.intellij.history.core.changes.CreateDirectoryChange.doApplyTo(CreateDirectoryChange.java:48)
 at com.intellij.history.core.changes.StructuralChange.applyTo(StructuralChange.java:70)
 at com.intellij.history.core.LocalVcs.a(LocalVcs.java:352)
 at com.intellij.history.core.LocalVcs.a(LocalVcs.java:249)
 at com.intellij.history.core.LocalVcs.createDirectory(LocalVcs.java:231)
 at com.intellij.history.integration.LocalHistoryCacheUpdater.c(LocalHistoryCacheUpdater.java:184)
 at com.intellij.history.integration.LocalHistoryCacheUpdater.b(LocalHistoryCacheUpdater.java:113)
 at com.intellij.history.integration.LocalHistoryCacheUpdater.queryNeededFiles(LocalHistoryCacheUpdater.java:52)
 at com.intellij.openapi.project.CacheUpdateSession.<init>(CacheUpdateSession.java:45)
 at com.intellij.openapi.project.CacheUpdateRunner.queryNeededFiles(CacheUpdateRunner.java:47)
 at com.intellij.openapi.project.DumbServiceImpl.a(DumbServiceImpl.java:113)
 at com.intellij.openapi.project.DumbServiceImpl.queueCacheUpdate(DumbServiceImpl.java:89)
 at com.intellij.ide.startup.impl.StartupManagerImpl.a(StartupManagerImpl.java:158)
 at com.intellij.ide.startup.impl.StartupManagerImpl.access$600(StartupManagerImpl.java:39)
 at com.intellij.ide.startup.impl.StartupManagerImpl$1.run(StartupManagerImpl.java:113)
 at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:691)
 at com.intellij.ide.startup.impl.StartupManagerImpl.runStartupActivities(StartupManagerImpl.java:99)
 at com.intellij.openapi.project.impl.ProjectManagerImpl$4.run(ProjectManagerImpl.java:377)
 at com.intellij.openapi.progress.impl.ProgressManagerImpl$3.run(ProgressManagerImpl.java:244)
 at com.intellij.openapi.progress.impl.ProgressManagerImpl$TaskRunnable.run(ProgressManagerImpl.java:422)
 at com.intellij.openapi.progress.impl.ProgressManagerImpl$4.run(ProgressManagerImpl.java:255)
 at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:197)
 at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:222)
 at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:188)
 at com.intellij.openapi.application.impl.ApplicationImpl$6$1.run(ApplicationImpl.java:486)
 at com.intellij.openapi.application.impl.ApplicationImpl$5.run(ApplicationImpl.java:328)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
 at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
 at java.util.concurrent.FutureTask.run(FutureTask.java:138)
 at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
 at java.lang.Thread.run(Thread.java:619)
 at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:124)

0
Comment actions Permalink

The directory I was working in was a soft absolute symlink.
I tried working in the actual directory, it worked fine. Probably a bug in RubyMine.

0
Comment actions Permalink

Thanks for reporting this! This info is likely to be useful for others.

Regards,
Oleg

0

Please sign in to leave a comment.