在我修改项目中的文件(例如模型文件'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最干净的方法?思考可能是一个解决方案,但想要正确地做到这一点。感谢。
答案 0 :(得分:4)
看起来像sqlite3 gem的缺陷..请参阅此处的错误报告:https://bugs.ruby-lang.org/issues/12781和https://bugs.ruby-lang.org/issues/12795
它似乎还没有修复..我也遇到了这个问题,最初我能够运行brew更新,然后在新的终端窗口中捆绑更新,这允许我调用.connection on我的模型再次获得控制台访问权限..今天这仍然有效,但这是一个非常繁琐的过程。