Rails 5 Bug(分段错误)

Rails 5 Bug (Segmentation fault)

在终端运行使用任何rails命令时出现错误,例如'rails test',在我修改项目中的文件(例如模型文件)后'users.rb' 或控制器文件 'users_controller.rb'。如果我 运行 'spring stop' 重新启动 spring 服务器,错误是 'fixed'。但是每次我修改文件时它都会出现。这是 error/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问题?我已经 运行 'bundle update' 并重新安装了我的 gems,但无济于事。如果有的话,关于 uninstall/reinstall Ruby/Rails 最干净的方法的建议?认为这可能是一个解决方案,但想要正确地做到这一点。谢谢

它看起来像是 sqlite3 gem 的缺陷。请在此处查看错误报告:https://bugs.ruby-lang.org/issues/12781 and https://bugs.ruby-lang.org/issues/12795

似乎还没有修复。我也遇到了这个问题,最初我能够 运行 brew update 然后在新终端中捆绑更新 window这让我可以在我的模型上调用 .connection 并再次获得控制台访问权限。今天这仍然有效,但是一个非常费力的过程。