mbj/anima

Stack overflow on Ruby 2.1.0

ravinggenius opened this issue · 6 comments

Installed Anima 0.2.0 on Ruby 2.1.0 and the first time my project used executed Anima.new(:foo), Ruby explodes at the C level. I've posted the stack trace at https://gist.github.com/ravinggenius/9921559.

mbj commented

@ravinggenius MRI 2.1.0 is a broken release that can crash for various reasons. Anima uses documented ruby APIs, nothing special. Its not animas fault. Use MRI 2.1.1 where this MRI bug is fixed.

@ravinggenius - I can confirm this bug in 2.1.0, and that I don't see it in 2.0.0 or 2.1.1. As @mbj said, 2.1.0 wasn't a great release. Best bet is to go 2.1.1.

@mbj is there a way to specify a ruby version that a gem will not work with, or specify < 2.0 and > 2.0?

We could update the gemspec to make it clear that 2.1.0 is not supported. I don't support 2.1.0 for any of my gems because the release was so buggy.

mbj commented

@dkubb Very good question. I'll try something like this.

Actually, after a bit of digging I believe you can do:

gem.required_ruby_version = '!= 2.1.0'

You can also build a Gem::Requirement instance with a set of requirements, but a version can only match an intersection of the specifications; I don't see a way to specify it match the union (which I would want to specify that code works with ~> 1.9 or ~> 2.0 but not '!= 2.1.0').

Thank you all for the comments. I reinstalled with 2.1.1 and it worked fine.