guard 1.8-specific vm test #1558

wants to merge 1 commit into


None yet

3 participants

ryoqun commented Feb 14, 2012

Afrer rubinius is configure'd with --default-version=19, rake'ing is interrupted in middle of vm:test by SEGV.

A commit (07859e4 Don't use alias chains to implement {Fixnum,Bignum}#** returning Rational in 1.9) introduced 1.8 specific behaviour in Fixnum::pow. But, an affected vm test hasn't been updated. This commit does the missed update to the vm test.

The cause of SEGV is like this:

Since that comimt, Fixnum::pow became to return Primitives::failure in a corner case in 1.9 mode. Primitives::failure is just a special integer constant reinterpret_casted into Object *. So, in general it shouldn't be dereferenced. Yet, the vm test tries to do anyway and SEGVes.


It's probably best to remove this test completely. Behavior like this is covered in Rubyspec and these tests are to assert really basic VM behavior.

@brixen brixen added a commit that closed this pull request Feb 17, 2012
@brixen brixen Build and test with only 1.8 or 1.9 mode enabled.
Closes #1558. Closes #1560.
@brixen brixen closed this in ccaa717 Feb 17, 2012
ryoqun commented Feb 28, 2012

I think your solution is better than me. :) Thank you! Now, I can happily hack rubinius with default version as 1.9! Hehe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment