RubyMine 2.0 beta 2 freezes during test

Hi,

today I encountered a very strange problem:
I have two projects with same Ruby 1.8.7 SDK and nearly the same gems (on MS Vista 64)

When I run the tests in project one, Ruby freezes after some tests run successful (it freezes at the same test every time - it seems to be the last unit test, so maybe it freezes on the switch to functional tests)
I have to go to the task manager and kill it.

Same tests work fine under "cmd" (with "rake test").

The tests of my second project are working fine under RubyMine.

Do you have any idea, where to search for a solution?

8 comments
Comment actions Permalink

Hi,

I did some research today. The results are disgusting, but perfectly reproducable!

1. If I run my tests with a right-click on my /test or /test/unit-directory with

Run "All in: test"

everything seems fine. But if I click on TestUnit log (or a tab like "TODO") and than go back to the test console, RM is freezing, too. Note, that I CAN view the log and scroll in it and I can go to the code editor. It freezes not until I go back to the test console.
First, I thought, it could depend on my test.log, which was grown to 18 MB. But even after deleting it, the behaviour was the same

2. The test after which RM is freezing to death directly is the last of the unit tests and it is running to the last line (checked with puts-statements). When I run the test-class alone (right-click on the class), the freezing still occurs directly (without go to the log view and back)

3. If I comment out the content of the test (but leave the now empty test-method there) RM freezes instantly after the test turns green in test console

4. If I comment out the whole test, the behaviour is the same like in 1) - RM freezes after going to TODO (or another tab) and back to test console

5. My favorite: If I make the test fail (change the expectation of the last assert, the rest of the test is the same!), everything works fine. No Freeze. Neither instantly nor after clicking some tabs. WTF?

Even if Nr 3, 4 and 5 are suggesting, it doesn't have anything to do with the tests content, here it is:

    user = users(:for_update)
    assert_equal "update", user.name
    user.name = "TEST"
    user.call_a_function!
    user.save
    assert_equal "TEST", user.name

Pretty complicated ;-)

0
Comment actions Permalink

Hi,

first, I want to add, that I tested it under RM 2.0 beta 1 and every thing works fine - the error has to be in changes of beta 2.
second, I want to ask, if I can make a CPU/Memory-Snapshot without hitting the button the second time - because I can't hit it, when RM is frozen ;-)
Is the file stored in RubyMine-directory?

Regards, neogrande

0
Comment actions Permalink

Hi,

Thank you for feedback. It seems I've also caught a similar dead lock and we are working on it. Please take a thread dump using jstack (it is bundled in your Java JDK). Just launch jstack program with pid of your RubyMine process.

0
Comment actions Permalink

I'm getting similar freeze when running unit tests within Rubymine 2.0 beta 2, running on OS X Snow Leopard 10.6.1. I've attached output from jstack as mentioned above. App becomes completely unresponsive and can only be exited using Force Quit.



Attachment(s):
rubymine-jstack-output.txt.zip
0
Comment actions Permalink

Hi guys, we've just published RubyMine 2.0 Beta 3. Please try it.

0
Comment actions Permalink

Hi,

tried it today and apparently the problem is gone. The tests seem to be even faster now.

Thanks for your work!

0
Comment actions Permalink

The tests seem to be even faster now.

This is expected behaviour. We optimized Test Runner results tree and overall UI responsiveness during testing

0

Please sign in to leave a comment.