0

我尝试将 Rails 应用程序升级到 Ruby 2.3.0 和 Rails 4.2.6。一切都在开发中。但是在尝试生产环境时。它崩溃了。运行rake assets:precompile应用程序时,会在使用块初始化的 gem 上引发错误。

例如这个错误被抛出:

/Users/danielronnkvist/dev/sigbit/carrierwave_backgrounder/lib/carrierwave_backgrounder.rb:11: [BUG] Segmentation fault at 0x00000000000010
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]

初始化块是:

CarrierWave::Backgrounder.configure do |c|
  c.backend :delayed_job, queue: :carrierwave
end

该块在第 11 行产生,如下所示:

...
module CarrierWave
  module Backgrounder
    include Support::Backends

    def self.configure
      yield self
      ...

我通过将块直接粘贴到 gem 中修复了此文件中的错误。但是错误仍然发生在块初始化上。

任何想法出了什么问题?崩溃还说You may have encountered a bug in the Ruby interpreter or extension libraries.,这是 Ruby 2.3.0 的问题吗?还是导轨?

4

1 回答 1

0

Ruby 2.3.1 更改日志显示了两个分段错误修复 ( http://svn.ruby-lang.org/repos/ruby/tags/v2_3_1/ChangeLog )。从 2.3.0 升级到 2.3.1 似乎解决了我看到的分段错误错误。

于 2016-07-04T00:17:02.567 回答