在修改项目中的文件(例如模型文件“users.rb”或 Controller 文件“users_controller.rb”)后,在运行任何 Rails 命令(例如“rails test”)的终端中出现错误。如果我运行“spring stop”来重新启动 spring 服务器,则该错误已“修复”。但每次修改文件时都会出现它。以下是错误/错误的初始消息:
[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 问题?我已经运行“捆绑更新”并重新安装了我的 gem 但无济于事。如果有的话,关于卸载/重新安装 Ruby/Rails 的最干净方法的建议?认为这可能是一个解决方案,但希望正确执行。谢谢。
最佳答案
它看起来像是 sqlite3 gem 的缺陷。请参阅此处的错误报告:https://bugs.ruby-lang.org/issues/12781和 https://bugs.ruby-lang.org/issues/12795
似乎还没有修复..我也遇到了这个问题,最初我能够运行brew update,然后在新的终端窗口中捆绑更新,这允许我在模型上调用.connection并再次获得控制台访问权限..今天这仍然有效,但这是一个非常费力的过程。
关于ruby-on-rails - Rails 5 Bug(段错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39969734/