OK, I’m confused. In a Rails 3.1 project, I’m getting a segmentation fault in the Ruby NET/SMTP library (see this question) and the message indicates it is happening in the ruby 1.9.1 version of the NET/SMTP library. However, a while back I changed versions of Ruby to 1.9.3. To verify my Ruby version, when I go to my project and start the Rails console, I get this:
irb(main):001:0> RUBY_VERSION
=> "1.9.3"
And when I look at the ruby version from the project directory I get this:
story_project # ruby --version
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
The 1.9.1 implication shows up by looking at the full path on the segmentation fault:
/Users/don/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/smtp.rb:583: [BUG] Segmentation fault
What is the deal here? Why is Ruby 1.9.3 running code from 1.9.1? Is it common for a version of Ruby to be installed with whole libraries from an older version of Ruby? Or is it possible that RVM messed this up some how? Not sure if it matters but I’m running on MacOS 10.7.2.
I got bitten by this recently: apparently, because the standard library didn’t change, they didn’t raise the version. I got the 1.9.3 vs 1.9.2 from Debian packages, but understand it covers the whole thing.