2012-03-17 26 views
12

Estoy usando Mac OS con Snow Leopard 10.6.8 y RVM 1.10.3, Ruby 1.9.3-p125, Ruby on Rails 3.2.2 y rspec-rails-2.8.1. He correctamente instalado y configurado todas las gemas, pero cuando en la ventana de Terminal funciono con el comando rake spec me sale el siguiente:Cómo solucionar el "error de segmentación [BUG]"?

$ rake spec 
/<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/yard-0.7.5/lib/yard/cli/command.rb:10: [BUG] Segmentation fault 
ruby 1.9.3p125 (2012-02-16 revision 34643) [x86_64-darwin10.8.0] 

-- Control frame information ----------------------------------------------- 
c:0045 p:0011 s:0136 b:0136 l:000135 d:000135 CLASS /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/yard-0.7.5/lib/yard/cli/command.rb:10 
c:0044 p:0011 s:0134 b:0134 l:000133 d:000133 CLASS /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/yard-0.7.5/lib/yard/cli/command.rb:4 
c:0043 p:0021 s:0132 b:0132 l:000131 d:000131 TOP /<ABSOLUT_PATH>/.rvm/gems/ruby- 
1.9.3-p125/gems/yard-0.7.5/lib/yard/cli/command.rb:3 
c:0033 p:0220 s:0104 b:0104 l:0020f0 d:0020f0 TOP /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/yard-0.7.5/lib/yard.rb:57 
c:0032 p:---- s:0101 b:0101 l:000100 d:000100 FINISH 
c:0031 p:---- s:0099 b:0099 l:000098 d:000098 CFUNC :require 
c:0030 p:0026 s:0095 b:0095 l:000380 d:000470 BLOCK /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/runtime.rb:68 
c:0029 p:---- s:0092 b:0092 l:000091 d:000091 FINISH 
c:0028 p:---- s:0090 b:0090 l:000089 d:000089 CFUNC :each 
c:0027 p:0091 s:0087 b:0087 l:000380 d:000408 BLOCK /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/runtime.rb:66 
c:0026 p:---- s:0081 b:0081 l:000080 d:000080 FINISH 
c:0025 p:---- s:0079 b:0079 l:000078 d:000078 CFUNC :each 
c:0024 p:0046 s:0076 b:0076 l:000380 d:000380 METHOD /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler/runtime.rb:55 
c:0023 p:0021 s:0072 b:0072 l:0004e0 d:0004e0 METHOD /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/bundler-1.1.0/lib/bundler.rb:118 
c:0022 p:0089 s:0068 b:0068 l:000548 d:000548 TOP /<ABSOLUT_PATH>/Sites/<APPLICATION_NAME>/config/application.rb:7 
c:0021 p:---- s:0066 b:0066 l:000065 d:000065 FINISH 
c:0020 p:---- s:0064 b:0064 l:000063 d:000063 CFUNC :require 
c:0019 p:0026 s:0060 b:0060 l:0005a8 d:0005a8 TOP /<ABSOLUT_PATH>/Sites/<APPLICATION_NAME>/config/environment.rb:2 
c:0018 p:---- s:0058 b:0058 l:000057 d:000057 FINISH 
c:0017 p:---- s:0056 b:0056 l:000055 d:000055 CFUNC :require 
c:0016 p:0058 s:0052 b:0052 l:000608 d:000608 TOP /<ABSOLUT_PATH>/Sites/<APPLICATION_NAME>/spec/spec_helper.rb:3 
c:0015 p:---- s:0050 b:0050 l:000049 d:000049 FINISH 
c:0014 p:---- s:0048 b:0048 l:000047 d:000047 CFUNC :require 
c:0013 p:0011 s:0044 b:0044 l:000668 d:000668 TOP /<ABSOLUT_PATH>/Sites/<APPLICATION_NAME>/spec/controllers/users_controller_spec.rb:1 
c:0012 p:---- s:0042 b:0042 l:000041 d:000041 FINISH 
c:0011 p:---- s:0040 b:0040 l:000039 d:000039 CFUNC :load 
c:0010 p:0025 s:0036 b:0036 l:0006c8 d:000730 BLOCK /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698 
c:0009 p:---- s:0033 b:0033 l:000032 d:000032 FINISH 
c:0008 p:---- s:0031 b:0031 l:000030 d:000030 CFUNC :map 
c:0007 p:0023 s:0028 b:0028 l:0006c8 d:0006c8 METHOD /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/rspec-core-2.8.0/lib/rspec/core/configuration.rb:698 
c:0006 p:0074 s:0025 b:0025 l:0007a8 d:0007a8 METHOD /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/rspec-core-2.8.0/lib/rspec/core/command_line.rb:22 
c:0005 p:0055 s:0020 b:0020 l:000820 d:000820 METHOD /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:80 
c:0004 p:0101 s:0014 b:0014 l:0008a8 d:0008a8 METHOD /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:69 
c:0003 p:0021 s:0007 b:0006 l:001788 d:000908 BLOCK /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/gems/rspec-core-2.8.0/lib/rspec/core/runner.rb:10 
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH 
c:0001 p:0000 s:0002 b:0002 l:002388 d:002388 TOP 

-- C level backtrace information ------------------------------------------- 

    See Crash Report log file under ~/Library/Logs/CrashReporter or 
    /Library/Logs/CrashReporter, for the more detail of. 

-- Other runtime information ----------------------------------------------- 

* Loaded script: /<ABSOLUT_PATH>/.rvm/gems/ruby-1.9.3-p125/bin/rspec 

* Loaded features: 

    0 enumerator.so 
    1 /<ABSOLUT_PATH>/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/x86_64-darwin10.8.0/enc/encdb.bundle 
    2 /<ABSOLUT_PATH>/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/x86_64-darwin10.8.0/enc/trans/transdb.bundle 
    3 /<ABSOLUT_PATH>/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/defaults.rb 
    ... 

[NOTE] 
You may have encountered a bug in the Ruby interpreter or extension libraries. 
Bug reports are welcome. 
For details: http://www.ruby-lang.org/bugreport.html 

rake aborted! 
/<ABSOLUT_PATH>/.rvm/rubies/ruby-1.9.3-p125/bin/ruby -S rspec ./spec/controllers/users_controller_spec.rb ... failed 

¿Cómo puedo resolver el problema?

Nota: Noté que el problema ocurre a veces, al azar!


En mi Gemfile que tengo:

... 

group :development, :test do 
    gem "rspec-rails" 
    gem 'webrat' 
end 

group :test do 
    gem 'factory_girl_rails' 
    gem 'cucumber-rails' 
    gem 'turn', :require => false 
end 

... 

Respuesta

4

EDITADO: En base a la información que ha proporcionado hasta ahora, parece que se ha encontrado un fallo en Ruby 1.9.3. Recomiendo que informe esto al equipo central de Ruby.

Hasta que se solucione este error, debes encontrar una forma de evitarlo. Para encontrar una forma de evitarlo, debe obtener más detalles acerca de qué es exactamente lo que hace y no lo desencadena.

En el seguimiento de pila que ha publicado, parece que la línea 68 de bundler/runtime.rb requiere la gema de yarda. Usando Ruby 1.9.3, intente solicitar la yarda joya usted mismo, de IRB o un script de prueba simple. ¿Eso dispara el error? De lo contrario, vaya al método que "realer" está llamando en "bundler" (bundler.rb, línea 118). Intente llamar a ese método (lo que sea) usted mismo, desde un script de prueba. ¿Eso dispara el error? ...y así.

Afortunadamente, cuando instala Ruby gems, el código fuente está disponible en el directorio "gems", y puede estudiarlo y modificarlo. También tuve que "piratear" el código fuente de mis gemas antes de solucionar los problemas (hasta que se lanza una versión fija de la gema).

+1

Por cierto, me acaba de instalar esta joya, así que puede mirar el código fuente y ver la línea donde el vino de violación de segmento. –

+0

Noté que el problema ocurre a veces, al azar. – Backo

+0

Acabo de ver el código fuente de "patio" ... es difícil ver cómo la línea a la que se refiere su mensaje de error podría causar un problema. Pensando ... –

5

Tengo el mismo problema, los bloqueos aleatorios relacionados supuestamente con Yard cuando se ejecuta rspec.

Encontré otra publicación que me solucionó el problema. Se eliminó la dependencia 'pry-doc'.

StackOverflow Post

Cuestiones relacionadas