Rails 5 Bug(分段错误)

时间:2016-10-11 02:42:43

标签: ruby-on-rails ruby spring ruby-on-rails-5

在我修改项目中的文件(例如模型文件'users.rb'或控制器文件'users_controller.rb')后,在运行任何rails命令的终端中获取错误,例如'rails test'。如果我运行'spring stop'重新启动spring服务器,则该bug是“固定的”。但每次修改文件时都会出现。以下是错误/错误的初始消息:

[sample_app (modeling-users)]$ time rails test
Running via Spring preloader in process 43345
/Users/AlfonsoGiron/.rvm/gems/ruby-2.3.1@global/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/sqlite3_adapter.rb:27: [BUG] Segmentation fault at 0x00000000000110
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]

错误持续了数千行。这是它的一小部分:

-- Control frame information -----------------------------------------------
c:0072 p:---- s:0285 e:000284 CFUNC  :initialize
c:0071 p:---- s:0283 e:000282 CFUNC  :new
c:0070 p:0183 s:0278 e:000277 METHOD /Users/AlfonsoGiron/.rvm/gems/ruby-2.3.1@global/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/sqlite3_adapter
c:0069 p:0028 s:0271 e:000270 METHOD /Users/AlfonsoGiron/.rvm/gems/ruby-2.3.1@global/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/connec
c:0068 p:0027 s:0268 e:000267 METHOD /Users/AlfonsoGiron/.rvm/gems/ruby-2.3.1@global/gems/activerecord-5.0.0.1/lib/active_record/connection_adapters/abstract/connec

以下是最后几行:

1696 /Users/AlfonsoGiron/.rvm/gems/ruby-2.3.1@global/gems/activesupport-5.0.0.1/lib/active_support/testing/stream.rb
 1697 /Users/AlfonsoGiron/.rvm/gems/ruby-2.3.1@global/gems/railties-5.0.0.1/lib/rails/generators/testing/behaviour.rb
 1698 /Users/AlfonsoGiron/.rvm/gems/ruby-2.3.1@global/gems/railties-5.0.0.1/lib/rails/generators/testing/setup_and_teardown.rb
 1699 /Users/AlfonsoGiron/.rvm/gems/ruby-2.3.1@global/gems/railties-5.0.0.1/lib/rails/generators/testing/assertions.rb
 1700 /Users/AlfonsoGiron/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/x86_64-darwin15/io/console.bundle
 1701 /Users/AlfonsoGiron/.rvm/gems/ruby-2.3.1@global/gems/thor-0.19.1/lib/thor/shell/basic.rb
 1702 /Users/AlfonsoGiron/.rvm/gems/ruby-2.3.1@global/gems/railties-5.0.0.1/lib/rails/generators/test_case.rb
 1703 /Users/AlfonsoGiron/.rvm/gems/ruby-2.3.1@global/gems/activesupport-5.0.0.1/lib/active_support/testing/autorun.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

基本上每一行都是指'.rvm / gems /'等。显然这是一个rvm / gems问题?我运行'捆绑更新'并重新安装我的宝石无济于事。如果有的话,建议卸载/重新安装Ruby / Rails最干净的方法?思考可能是一个解决方案,但想要正确地做到这一点。感谢。

1 个答案:

答案 0 :(得分:4)

看起来像sqlite3 gem的缺陷..请参阅此处的错误报告:https://bugs.ruby-lang.org/issues/12781https://bugs.ruby-lang.org/issues/12795

它似乎还没有修复..我也遇到了这个问题,最初我能够运行brew更新,然后在新的终端窗口中捆绑更新,这允许我调用.connection on我的模型再次获得控制台访问权限..今天这仍然有效,但这是一个非常繁琐的过程。