8

When creating a new rails app, I get the following error:

/usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/http.rb:799: [BUG] Segmentation fault
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin10.8.0]

All the rails files appear to be generated, but the error above is still there. Any thoughts or suggestions would be greatly appreciated.

James Eisenlohr
  • 278
  • 5
  • 15

4 Answers4

16

It looks to me like a problem with LLVM GCC, try with GNU GCC.

The easiest way to do that is to install osx-gcc-installer and reinstall ruby:

rvm reinstall 1.9.3

EDIT2: it is also possible to use gcc-4.2 available via HomeBrew/MacPorts, install CommandLineTools and follow instructions from rvm requirements.

EDIT 1: I've googled around and come across this http://www.seqmedia.com/2012/05/08/frustrations-abound-rvm-vs-macports-and-the-bug-segmentation-fault/ - and I remember it was already mentioned to me openssl in OSX is broken, the easiest way to check it would be:

rvm get stable
rvm autolibs enable
rvm reinstall 1.9.3
mpapis
  • 52,729
  • 14
  • 121
  • 158
  • Thank you, mpapis. I installed osx-gcc-installer and reinstalled ruby, but still the same error. – James Eisenlohr May 10 '12 at 19:23
  • 2
    check `rvm ruby-1.9.3-p194 do ruby -rrbconfig -e "puts RbConfig::CONFIG['CC']"` - it has to point to `gcc-4.2`, if it does not please try `rvm reinstall 1.9.3 --with-gcc=gcc-4.2` – mpapis May 10 '12 at 21:11
  • Hi mpapis, thanks again for responding! Here is the result from the check: $ rvm ruby-1.9.3-p194 do ruby -rrbconfig -e "puts RbConfig::CONFIG['CC']" A RVM version 1.13.4 (master) is installed yet 1.13.4 (stable) is loaded. Please do one of the following: * 'rvm reload' * open a new shell * 'echo rvm_auto_reload_flag=1 >> ~/.rvmrc' # for auto reload with msg. * 'echo rvm_auto_reload_flag=2 >> ~/.rvmrc' # for silent auto reload. – James Eisenlohr May 11 '12 at 02:21
  • So... I did rvm reload. Then your check again: $ rvm ruby-1.9.3-p194 do ruby -rrbconfig -e "puts RbConfig::CONFIG['CC']" /usr/bin/gcc-4.2 Still getting the same error? – James Eisenlohr May 11 '12 at 02:23
  • 2
    I believe you're correct... there seems to be an issue with openssl and OSX. Your approach may work and I found this early today before I saw your response: https://github.com/rails/rails/issues/4050 rvm pkg install openssl rvm remove 1.9.3-p125 rvm install 1.9.3-p125 --with-openssl-dir=$rvm_path/usr This worked for me. Thank you for helping me out, mpapis! – James Eisenlohr May 12 '12 at 21:18
  • Of course, I installed the latest 1.9.3 version p194, not p125. – James Eisenlohr May 13 '12 at 00:34
16

I googled around for this problem and found the following magic incantations:

rvm pkg install openssl
rvm reinstall 1.9.3 --with-openssl-dir=$rvm_path/usr

Sorry to not link back to a source but I can't remember which website had the winning formula. The gist of it is that ruby links against a bad version of openssl so doing it this way makes rvm install its own version of openssl and link ruby against that.

Matthew Smith
  • 6,165
  • 6
  • 34
  • 35
2

Managed to fix it like this:

Update rvm: rvm get head
Install the required libraries: rvm requirements run
Reinstall 1.9.3: rvm reinstall 1.9.3

Runs for a while and seems really clean

flunder
  • 504
  • 6
  • 9
0

I fixed this bug by removing my gloabally installed gems and reinstalling the Heroku toolbelt. Not sure why but it worked for me.

ruby_newbie
  • 3,190
  • 3
  • 18
  • 29