-
-
Notifications
You must be signed in to change notification settings - Fork 251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
several test failures on several non amd64 architectures on Debian #166
Comments
I think I might need some help with it as I don't have a debian machine or VM set up. It looks like you have a pretty nice test framework there. btw, there is a test_all.sh script you can use for running all the tests. |
It also doesn't compile with clang(Version: 1:3.0-6.2) from debian stable(wheezy) while using rubinius 2.2.9 compiled from source with the same clang version.
|
Not much do go on with that error. I'll have to put together a debian install in looks like. |
I've installed debian release 7.5, rbenv, ruby 2.1.2 and pulled the oj repo. It compiles and all the tests pass. What do I need to do to reproduce your errors? |
|
It might also be necessary to
and set them to clang |
Thanks trying now. |
export CPP=clang -E |
export CPP="clang -E" |
rbenv install rbx-2.2.9 BUILD FAILED Inspect or clean up the working tree at /tmp/ruby-build.20140629211518.26783 Last 10 log lines: BUILD FAILED Inspect or clean up the working tree at /tmp/ruby-build.20140629211518.26783 Last 10 log lines: Don't know where the config.log file is. |
you sure its set to "clang -E" ? works fine here. |
quotes worked |
Don't have the time to debug rbenv now, but grabbing it from http://rubini.us/downloads/ and doing what they say in http://rubini.us/doc/en/getting-started/requirements/ and http://rubini.us/doc/en/getting-started/building/ at Installing Rubinius works for me. |
Similar err to before. rbenv install rbx-2.2.9 Downloading rubinius-2.2.9.tar.bz2... BUILD FAILED Inspect or clean up the working tree at /tmp/ruby-build.20140629212023.27160 Last 10 log lines: |
ok, will give that a try... tomorrow. |
maybe
? if you have just typed aptitude install clang as a normal user its probably not installed. |
Got it installed. Missing some requirements. It just was not obvious from the error message. I was able to reproduce the clang error as well. Pretty deep error. Crash the compile. |
guess the next steps would be to install rbx 2.2.10 and master afterwards, seeing how it compiles without a issue with ruby 2.1.2 and the same clang. |
It might be a macro conflict in the RBX headers. I'll try witting away at the header file and figure it out. |
Hi! This is Debian unstable, with gcc, so it is unrelated to what @Asmod4n describes. |
I give the rake target a try here then. See what happens. |
Will work on this tonight. With Ruby 2.1.2, debian 7.5 and using rake after doing a bundle install all tests pass. Sadly I don't have an ARM platform to run the tests on. Anyone want to help with debugging that has a ARM platform? |
Narrow the problem down to either calling to not calling a specific function. Clearly a compiler problem. There seems to be enough other people running into the same issue with the clang compiler. Not much I can do about it other than suggest using a different compiler. |
Hi, I did some testing again on armhf. Running the If you have ideas I can test, I would be happy to run the tests. Cedric |
Some more tests, this time on i386: with --seed 39071, I got one failure
and with --seed 13163, I got two failures
|
running ruby -I lib:ext/oj/ test/test_object.rb fails 2/3 of the time (657 out of 1000) with a random seed. Since two tests are failing, it means that these failures are caused by exactly one other test of the set, when it is run before the other two. (The probability that the faulty test is run after the two sensible ones is 1/3). |
For test_object.rb, the culprit is test_io_string. Keeping just test_io_string, test_io_file and test_symbol_keys, the tests fail 66% of the time (when test_io_string is run first). Deactivating test_io_string and keeping all the others make the tests pass 100% of the time. Actually, deactivating all the test_io_string in test_object.rb, test_compat.rb, test_strict.rb and test_various.rb makes the whole test suite pass reliably, on i386 as well as on armhf, and I guess on all other previously failing architectures. |
Thank you for the discovery and the detective work. I'll look at it tonight. |
Are you using Oj 2.10.2? |
I checked with 2.9.6 and 2.10.1.
|
I couldn't reproduce the problem with 2.10.2. The issue is solved! |
2.10.2 did fix a string IO issue. Probably the cause. |
I am closing it, since this issue seems resolved now. Don't worry, I'm opening a new one :) |
Hi,
Up to 2.9.4, when the Debian package for oj was built, only test/tests.rb was run, and it worked successfully. When trying to update to 2.9.6, I tried to enable more test and run more tests (all test/test_*.rb).
Whereas those tests pass reliably on amd64 where I build the package, they fail on several other architectures: see https://buildd.debian.org/status/package.php?p=ruby-oj&suite=sid
To run the tests, I used something like:
Running a rake task as the one listed in the Rakefile from line 10 to 14 gives the same results.
For example, on armhf, I get from 6 to 9 test failures, depending on the order of the tests.
I would be happy to help investigate this issue.
Cheers,
Cédric
The text was updated successfully, but these errors were encountered: