Rubymine Debugger Painfully Slow
Has anyone else experienced the latest Rubymine debugger being painfully slow. Not just slow. It's painful. It is so bad I lose track of where I am at and what I am doing because I'm continually waiting 15/20/30+ seconds for "Data Collecting...". I'm a huge Rubymine fan. But since this V6 upgrade, which coincidentally updated ruby-ide-debug, the process of stepping through my code is simply unworkable. I don't know where to begin explaining this.
dvn
Please sign in to leave a comment.
What version of RubyMine and ruby sdk are you using?
We have fixed something similar in 6.0.2.
Regards, Oleg.
RubyMine 6.0.2 RM-133-408
ruby 1.9.3p194 (2012-04-20) [i386-mingw32]
JRE 1.7.0_40-b43 x86
Could you please try to uncheck Settings|Debugger|Ruby|Read frames of non-suspended threads.
Regards, Oleg.
Sorry Oleg. No change. I changed the setting, restarted RubyMine, rebooted server. Still no change.
This just seem to come out of nowhere. I think this is the first I had done serious debugging since upgrading to v6.
If there is anything else I can provide you that might help, let me know. I'm not the greatest getting to low level stuff, but I'll try. Just walk me through what you need.
Thanks again,
dvn
Hmm, coud you please try to run debugger in verbose mode (Settings|Debugger|Ruby) and provide its output and RM's logs (Help|Show Log in ...)
Regards, Oleg.
The following is the result of running the debugger until I hit a break point. At that time, I exposed "self" (not myself), and then class variable self.prj. While I don't know what I am looking at, it is making me fear it is my programming style or design that is causing the problems.
============== Debugger verbose output ====================
See next message with attached output files. I couldn't figure out how to delete this long message.
Here is the log and output as text files.
dvn
Attachment(s):
rm.log.zip
debugger_output.txt.zip
threadDumps-20140109-074235-RM-133.408.zip
Hi,
sorry for late responce. The only possible cause of the problem you have I see is that you have several rather big arrays
and we have to evaluate every element of the array to show it to you.
I'd suggest to try to play with it and if this is the cause please file a bug in our tracker (http://youtrack.jetbrains.com/issues/RUBY)
Regards, Oleg.
I had a similar, maybe the same problem. Everything worked fine, until i started the debugger.
It started to run, but after every request (is a rails application) the UI hung for about 20 seconds. (feels like an hour)
This persisted even after an upgrade to 6.0.2.
What did I do then? I went to ~/./RubyMine60, moved the system directory away and created a new, empty one.
Since this, 6.0.2 runs as it should.
I'm having the same problem. Just upgraded from 5.4.2 to 6.0.3. Formerly, debugging the exact same file (a plain old ruby file, no rails), was instantanious. Now, it takes 20 seconds to 3 minutes, PER LINE of code! It is unusable. I have been using puts statements to debug because the debuger is literally unusable now. I thought there might have been a conflict with the old project file, so I created a brand new project. Same effect.
Please help. The debugger is the main reason I purchased RubyMine and now I cannot use it.
BTW, the editor is much faster in 6.0.3 and the code completion works now for the first time.
P.S. I also updated ruby-debug-ide as part of the install. And I just ran gem install ruby-debug-ide to make sure it was up-to-date. No effect. Debugging is still unusable.
What version of ruby and ruby-debug-ide are you using?
Regards, Oleg.
Hi Oleg,
I'm using differenr Ruby Version from 1.8.6 up to current, managed by rvm.
Ruby-debug-ide, at the time of deleting / moving the system directory, what solved my
problem, was a bit outdated.
But, as I said before, since removin it and let rubymine build a new one, everything
worked fine. Same for all in all Ruby versions I use.
Now I also upgraded to 6.0.3, and ruby-debug-ide it current, still everything fine. :)
Thanks and best regards
Steffen
Message was edited by: Steffen Kirschke
Thanks for sharing your experience. I'm not sure I understand completely, as I'm a bit of a Forrest Gump when talking about the system stuff. And I am in the Windows environment, not Linux. (My bad.) Anyhow, when you say you moved the system directory, what does that mean? And did you uninstall the ide and had RubyMine reinstall it?
Again, thanks for the help. I am still having problems with this. It was explained to me that I have some big arrays in my application. But this application has not changed, and the arrays were not a problem in the past. And, unfortunately, my work priorities had shifted so I have not been able to devote the time to this that I would like.
Thanks again,
dvn
What I meant with moving away is, just renaming it, or putting it to another place, where RubyMine doesn't it expect to be.
Then I created an empty directory with the original name and then restartet RubyMine.
I just didnt want to delete it, to avoid reinstalling RM, in case something goes really bad by deleting the RM Sytem ... Folder, I think, they call it in Redmond, ;)
so i could have moved it back to the original location.
Don't know, where you find this on windows, cause i'm a bit agnostic with it, though it's a great gaming platform.
Don't know, whether this is a solution at all, but since i did this, the new RubyMine is big fun.
Best regards
Steffen
I've gotten back to this. This is bad. I uninstalled my 6.0.x version of Rubymine. I installed the latest 6.0.3 release to a new folder. No change with debugging. It is simply too painful to use debug.
I went back and reinstalled 5.4.3. Debugging is lickety split, super fast, exactly what I expect from Rubymine.
I know we had past discussions that I have big arrays; I don't deny that. It's not uncommon for me to have arrays of objects where the number of elements is greater than 350x120x75x8. I also recall something about how arrays are referenced. Was there something wrong with the old way of referencing arrays? What was gained with the changes?
I am working with a Windows release, on Terminal Server 2008.
I feel bad about saying anything bad about this product because it is the best IDE I have ever used. But this debugging issue is really bugging me.
dvn
p.s. Can switching between 5.4 & 6.0.3 screw up my project? Switching is what I am having to do to debug this sucker.
Hi dvn,
we already have several complains about some slowness of debugging with ruby 1.9.3 (and it looks like this is something specific to Windows)
but the main problem for us is that we are unable to peproduce the problem :(
So, if you can share project which reproduce the problem (I'm ready to sign an NDA if needed) please contact me directly (my email is oleg.sukhodolsky at jetbrains dot com)
Thanks in advance, Oleg.
Hi Everyone who care ;)
we've fixed one nasty performance problem in Hinoki RC (http://confluence.jetbrains.com/display/RUBYDEV/RubyMine+EAP), so please try it and let us know if your problem is still reproducible with it or not.
Regards, Oleg.
Hi Oleg,
was so happy to hear this and immediately downloaded an tried.
But:
1. Debugging speed is ok, as long as RubyMine doesn't loose the focus. Each time, I put the focus an any other window on screen and wanna go back to RubyMine, It takes about 10 to 20 seconds with 100% CPU until any response from the GUI.
2. Watches don't work. It seems, i see random values there. Lets says, i watch 'i', wich is a Number, sometimes i see the value I expect, sometimes it references something completely different. Maybe any object that has been modified in some way. When I eval the same object, the results most time are as expected, but not always. Still didn't find find any consistent pattern.
Environment:
- debian Linux with a 3.x kernel, gnome
- sun/oracle jre/jdk 7
- ruby environments are managed by rvm
(1.8.x, 1.9.3, 2.x)
- rails envoronments
- one ancient 1.2.6 application
- some 2.3.8 and above
The behaviour is the same with any ruby and rails version, happens also or newly created tiny test projects.
rdebug-ide is up to date, as RubyMine recommended to upgrade, which I did.
ATM, my solution is, to switch back to 5.4.3.2.1, where everything works as it did before. Responsiveness in debugger is good, watches and eval works correct.
Best regards
Steffen
Forgot to say: I've install 8GB if ram, which i hope is enough; At least the sytem tells me, it still has enough free memory and, while waiting for the gui to response again, there is no significant paging activity.
Hi Steffen,
1. hang on switching back to RubyMine doesn't seem related to debugger. I'd suggest to make a CPU dump (https://intellij-support.jetbrains.com/entries/29983118-Reporting-performance-problems) and report performance problem in our tracker(http://youtrack.jetbrains.com/issues/RUBY)
2. I (personally) havn't noticed such problem :( perhaps do not use watches often enough ;) Could you please file a ticket in our tracker with description of the problem and how to reproduce it.
Regards, Oleg.
Hi Oleg,
thanks for the quick response.
@1. I also think, it's not the debugger, that causes the hangs. But, it only happens, when a debugger is running; opened a ticket accordint to your advice, as far as possible....
@2. atm, while testing, the watches do, what i expect them to do. will create a ticket, as soon as i have the problem again.
Best regards
Steffen
It's 2022, and it's still really slow
It'd be great if you could share a minimal project sample where this slowness can be reproduced so that we can investigate it better. Please specify also Ruby version being used and whether it's a local or remote SDK.
Sorry, but it is really a big hassle. Nearly on all my projects the same and independent from Ruby Versions or RubyMine Debug Gem Version. I can share a project but it doesn't depend on the project. I work since 4 years, my projects are aproximately from Ruby -v 2.4 until -v 3.1.2. I know this problem since the beginning.
8 of ten times it runs.
But when it doesn't run i can restart my notebook and it doesn't help! The debugger stops at the breakpoints, but i am not able to see any variable value. Just seeing "Data Collecting..." and thats it.
Current example: Rails 7.0.4, Ruby 3.1.2, current RubyMine Debug Gem: Today it worked fine. Now, without changing anything on my machine, Debugger is not available, i restarted my notebook (MacBook, Mac-OS 12.6) but doesn't help. Now, i restarted only RubyMine and it works! If i see the grey Variable Values behind the variables inside the code-editor (see picture below), all is working and fast. If they are not visible, the "Evaluate Expressions..." and all other tools are not working. But sometimes i can restart what i want and it doesn't help.
Sorry, i really enjoy the work of JetBrains but if this problem cannot be solved we may need to look for another IDE on my Company. We need a reliable system.
If i can help to find the bug i help.
I'm sorry to hear about your experience. It'd be great if you could submit an issue on our tracker: https://youtrack.jetbrains.com/issues/RUBY so that our team can take a look into it. We'd need details about your environment, RubyMine and Ruby versions (local or remote) as well as debug gems versions being used. idea.log (Help - Show log in) might also be helpful.
Issue here https://youtrack.jetbrains.com/issue/RUBY-30472/RubyMine-Debugger-crashes
Thanks Olga, for me its soved, locale on my macbook was the culprit, see youtrack link, previous comment.