Conversation
|
Huh. Tests are consistently hanging and getting timed out after 10 minutes on Travis. Verbose isn't pointing to the problem just yet. |
2ee6110 to
65ed80f
Compare
|
I updated to test-unit 3.0 and set it to verbose. Now I know that the tests are hanging here: |
10ab669 to
af99792
Compare
|
Bunch of unit test fixes, this is looking better now! However #457 is absolutely still broken, both on my Mac (Ruby 2.0.0-p481) and on Travis Ubuntu 12.04 (Ruby 2.0.0-p598) |
a4a2aa7 to
19f4c0b
Compare
|
I think the hanging file watcher test is due to this Travis CI issue, wherein the OpenVZ simfs filesystem isn't sending inotify file deletion events: travis-ci/travis-ci#2342 |
cc3f270 to
4d87ea3
Compare
|
Only Rubinius and JRuby are failing now. I could mark them as allowed_failures to get the build green, which would help a lot for testing future pull requests. I am testing JRuby in C extension mode. Should I try it in Pure Ruby mode, instead? I can reproduce the Rbx failure locally; the tests that have some form of |
|
Ping to @rubinius peeps - @brixen @yorickpeterse - Could you take a look at the Rbx failures in Travis and help me out? I'm trying to figure out why the forked process child explodes in some of these unit tests. Any advise or pointer in the right direction for debugging much appreciated! |
|
I tried running the tests locally but some of them seem to hang as well. I'll take closer look (in particular using gdb) this Saturday to see what's going on. |
4c31190 to
394df85
Compare
|
Open issues: Ruby 2.0: Ruby 2.1, 2.2: I'm seeing I omitted a few more tests from JRuby that aren't implemented for that platform, but the remaining failures looks real. @tmm1 could you advise on what to do with JRuby? Thanks @yorickpeterse for looking into the Rubinius |
|
Attached GDB to the most inner child process of the fork test that hangs, the backtrace output is as following: https://gist.github.com/YorickPeterse/e70846827ad9d9ef2f62. The list of threads and what they are doing is as following (in order of the GDB output):
The main thread appears to be stuck in the following: If I kill the process using GDB the test suite continues running and doesn't get stuck anywhere else by the looks of it. The final test output in this case is as following: |
|
Looking at the offending code ( Line 824 in 4873051 select() not being available.
|
|
@sodabrew To recap, the fork tests do work on MRI, or do they also hang at random times? |
|
Thanks for digging in! Yes, the fork tests work on MRI. |
49f9eb9 to
f0312b6
Compare
|
I've rebased this branch to remove the Rubinius popen work. That will be a separate PR. Ruby 2.0 may fail at Queue.pop, so rescue and complain to $stderr The message is "Attempt to unlock a mutex which is not locked (ThreadError)" and it is caused by a bug in Ruby 2.0. Annoying people with $stderr is arguably better than crashing their app. That said, it might not be worth the loud error because the Queue does not appear to drop any tasks even when this occurs. |
The message is "Attempt to unlock a mutex which is not locked (ThreadError)" and it is caused by a bug in Ruby 2.0. Annoying people with $stderr is arguably better than crashing their app. That said, it might not be worth the loud error because the Queue does not appear to drop any tasks even when this occurs.
f0312b6 to
31cf79d
Compare
Update test-unit dependency and make various test fixes
Working through Travis failures seen in 3349891