ruby ruby-on-rails-3 openssl segmentation-fault net-http

Segfaulting persistente de Ruby después de una instalación limpia



ruby-on-rails-3 openssl (3)

El problema parecía ser que Homebrew y MacPorts entraban en conflicto, así que borré MacPorts, eliminé todos los paquetes y el directorio /opt/local/ . Esto causó un problema con la gema PG debido a la instalación de PostgreSQL en Homebrew.

Así que eliminé la fórmula de Postgres, luego la reinstalé y lo mismo para la instalación de OpenSSL usando Homebrew.

Después de eso implosioné RVM y lo instalé y mis Rubies nuevamente (no estoy seguro de si este paso era necesario) y finalmente funciona.

Ruby mantiene segfaulting cuando usa la gema Koala para hablar a través de HTTP:

/Users/pawel/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:799: [BUG] Segmentation fault

He intentado lo siguiente:

  • Ejecutar which -a ruby que mostró múltiples Rubies a través de MacPorts. Así que los eliminé y volví a ejecutar el mismo comando solo devuelve /usr/bin/ruby
  • Eliminé la versión para MacPorts de PostgreSQL y la instalé con Homebrew (con MacPorts, instala su propia versión de OpenSSL)
  • La ejecución de la openssl version devuelve OpenSSL 1.0.0g 18 Jan 2012
  • Quité Ruby 1.9.3 de RVM y probé el método de Luciano a continuación, que no funcionó.
  • También intenté reinstalar 1.9.3 desde RVM y especificando --with-openssl-dir=/opt/local desde el which openssl devuelve /opt/local/bin/openssl
  • He reinstalado RVM (ahora es la versión 1.10.2 en /Users/pawel/.rvm/bin/rvm )
  • Me he actualizado a Ruby 1.9.3-p125 y también he probado 1.9.2
  • He seguido las instrucciones aquí: http://www.christopherirish.com/2011/09/02/ruby-1-9-2-segmentation-fault-and-openssl/ (que son mis pasos anteriores, en realidad). También he leído la publicación anterior de Christopher aquí .
  • En mi directorio de proyectos cuando ejecuto lo siguiente, obtengo el 0 esperado.

    ruby -rubygems -e" require ''eventmachine''; require ''openssl'' "; echo $?

  • Intenté sudo port -f deactivate openssl pero luego, cuando trato de iniciar un servidor Rails, obtengo la Library not loaded: /opt/local/lib/libssl.1.0.0.dylib

Necesito algunas ideas más sobre qué más puedo probar o qué cosas me he perdido.


Me encontré con este problema, también, pero usé una solución diferente. Aquí está el rastro de la pila completa del error .

Aquí está el informe oficial de errores: http://bugs.ruby-lang.org/issues/6184 Las respuestas debajo del rastro de la pila fueron muy útiles.

Si está utilizando openssl predeterminado de OS X -> haga lo mismo con brew install openssl y compile con openssl instalado, luego intente de nuevo.

Si está utilizando openssl que instaló el usuario -> compila con ssl predeterminado de OS X y vuelve a intentarlo.

Esto me sonó similar a un problema recientemente cuando la biblioteca readline instalada en MacPorts rompió una instalación de ruby . Al ejecutar la siguiente secuencia de comandos en la instalación de Ruby quebrada, se mostraba que estaba cargando MacPorts openssl lib

require ''net/https'' puts `lsof -p #{$$} | grep ssl | awk ''{print $9}''`

(La salida)

/Users/john/.rbenv/versions/1.9.3-p125/lib/ruby/1.9.1/x86_64-darwin11.2.0/openssl.bundle /opt/local/lib/libssl.1.0.0.dylib

La solución fue mover temporalmente MacPorts fuera de /opt/local durante la instalación de Ruby.

  1. Salga de todos los procesos que acceden a los archivos de MacPorts. Puede ver cuáles se están ejecutando con sudo lsof | grep /opt/local sudo lsof | grep /opt/local .
  2. sudo mv /opt/local /opt/localbak
  3. Abra una nueva terminal, luego compile e instale Ruby
  4. sudo mv /opt/localbak /opt/local

Después de eso, la instalación de ruby ​​funcionó correctamente junto con MacPorts y no cargó el archivo libssl desde MacPorts.


También estoy obteniendo el mismo error de falla de segmentación, pero estoy tratando de listar archivos en AWS-S3.

Editar :

De esta manera funcionó para mí:

export PATH=/usr/bin:/bin:/usr/sbin:/sbin:$HOME/.rvm/bin rvm remove 1.9.3 rvm pkg install iconv rvm pkg install openssl rvm install ruby-1.9.3 --with-openssl-dir=~/.rvm/usr --with-iconv-dir=~/.rvm/usr

  • como @Simpleton dijo, escribí un comentario en el lugar equivocado. Ahora lo estoy editando con una respuesta. ;-)