Skip to content
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

Exception running specs on rubinius-3.4 on Ubuntu 14.04 #3560

Closed
AnwarShah opened this issue Jan 10, 2016 · 19 comments
Closed

Exception running specs on rubinius-3.4 on Ubuntu 14.04 #3560

AnwarShah opened this issue Jan 10, 2016 · 19 comments

Comments

@AnwarShah
Copy link

I was installing rubinius 3.4 on Ubuntu 14.04. All things went good, but the tests are failing.

Edit: replaced previous inline paste with a link to a gist below.

https://gist.github.com/brixen/5e47c5e23d6e9f323972

@yorickpeterse
Copy link
Contributor

Please provide the details of config.rb and the likes (as stated in the CONTRIBUTING guide at https://github.com/rubinius/rubinius/blob/master/CONTRIBUTING.md#submitting-issues).

@AnwarShah
Copy link
Author

config.rb file's content is given in the gist here

@brixen brixen changed the title Can't build rubinius-3.4 on Ubuntu 14.04 Exception running specs on rubinius-3.4 on Ubuntu 14.04 Jan 12, 2016
@brixen
Copy link
Member

brixen commented Jan 12, 2016

@AnwarShah I put your inline paste into a gist so the ticket is easier to read.

Could you please run this and gist the results bin/mspec ci spec/ruby/optional/capi/bignum?

@AnwarShah
Copy link
Author

@brixen Thanks for the reply and help. I've run the command and the output is here is this gist

@brixen
Copy link
Member

brixen commented Jan 16, 2016

@AnwarShah ah ok, thanks, that looks helpful. It seems possible that a C++ exception is being thrown when calling from the C-API code and that will cause an abort when trying to unwind through the C stack.

@AnwarShah
Copy link
Author

@brixen Any recommended solution for this?

@brixen
Copy link
Member

brixen commented Jan 16, 2016

@AnwarShah well, it's puzzling that it's aborting for you but not when the specs run on Travis on 12.04. I'll need to change the way rb_dbl2big handles values like Nan and Infinity so that C++ exceptions aren't being raised.

I'll try to get a patch tomorrow for you to test when you have time.

@brixen
Copy link
Member

brixen commented Jan 16, 2016

@AnwarShah if by chance you're interested in looking into this yourself, we need to test for Nan and Infinity in rb_dbl2big the same way we test in Bignum::from_double, but raise an exception in rb_dbl2big with rb_raise instead.

@yorickpeterse
Copy link
Contributor

@andre-richter what's the reason for closing this issue? As far as I can tell no fix is there just yet.

@yorickpeterse yorickpeterse reopened this Jan 16, 2016
@andre-richter
Copy link
Member

I absolutely can't explain how this happened.
Haven't even been logged in at github today.

Changing my password right now!

@brixen
Copy link
Member

brixen commented Jan 16, 2016

@AnwarShah I added the fix I mention in this commit e265a22. Could you please build and test master as follows:

$ git clone https://github.com/rubinius/rubinius
$ cd rubinius
$ ./configure
$ rake

@AnwarShah
Copy link
Author

@brixen I'll update you soon by trying this. Thanks

@AnwarShah
Copy link
Author

@brixen I've manually patched that single file and tried using ./configure and rake command (without cloning master). This is the output given.

@AnwarShah
Copy link
Author

@brixen After failing above attempt, I clone the repository using --depth 1. However, It still failing, though with only 2 errors. Here is the gist of the output

@brixen
Copy link
Member

brixen commented Jan 17, 2016

@AnwarShah thanks for checking. The other failures were fixed. So, that's good. The two failures you are seeing are because your platform is 32bit. Both failures result from assumptions in the specs that the platform is 64bit. I'll update those two specs to make them work on 32bit.

I'm curious, do you have a requirement to use 32bit? We will likely be supporting only 64bit in the future, but I still haven't decided for sure. I'm curious to hear from people why they are using 32bit.

@AnwarShah
Copy link
Author

@brixen Sounds great! Hope it will be fixed.

I actually switched to 64bit few months ago. But, Now needed to use 32bit again for a modem issue. I have an old modem, which doesn't have 64bit driver for Linux. Even 32bit driver is removed from latest kernel. It's a binary only driver.

I'm thinking of dumping that modem permanently. But, in the meanwhile, I must use 32bit at least for few more days.

@brixen brixen closed this as completed in 023a701 Jan 17, 2016
@brixen
Copy link
Member

brixen commented Jan 17, 2016

@AnwarShah ah, ok, it's always interesting to hear. We won't be dropping 32bit support in the next few days and I'm still open to supporting it if we can do so without too much work. Some of the stuff I want to do in the object memory would benefit a lot from a 64bit word in the object header, but we can still support it with a more costly overhead on 32bit. Anyway, I think these specs should be fix. Could you build master and test?

@AnwarShah
Copy link
Author

@brixen Great! It builds successfully with that fix! Thanks. It outputs --

Finished in 434.842057 seconds

2194 files, 20605 examples, 154900 expectations, 0 failures, 0 errors

@brixen
Copy link
Member

brixen commented Jan 17, 2016

@AnwarShah awesome! Thanks for taking the time to let us know about the issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants