我有rails 3.2.13应用程序,我已经活跃并在线5年了。几周前,我做了一些微小的更改(视图中的html / css更改),从那时起,我对AWS的所有部署似乎都被破坏了。我得到了一系列似乎无处不在的ActiveRecord或渲染错误。让我感到困惑的是,我没有改变任何相关的ActiveRecord或Rails的任何核心组件,但是这些服务在1%的请求中失败了。
这不仅仅是一个错误,它是一些看似无关的错误,除了它们从未在我的系统上发生到6月03日。当我跟踪错误的回溯时,它从未引导我到我的代码中的问题,只是一个核心Rails文件。当我重新尝试一个可能导致错误的URL时,它对我来说很好。这就像潜在的问题只是暂时显而易见,然后又恢复正常。我一开始无法弄清楚导致这些错误的原因。以下是我现在经常看到的一些错误:
NoMethodError: undefined method 'empty?' for nil:NilClass
来自档案/gems/activerecord-3.2.13/lib/active_record/associations/collection_association.rb:401
NoMethodError: undefined method 'has_key?' for nil:NilClass
来自档案/gems/activerecord-3.2.13/lib/active_record/attribute_methods/read.rb:72
ActiveModel::MissingAttributeError: missing attribute: item_color
我在上面看到了上面的任何一个属性 - 显然该属性实际上在记录中,因为99%以上的请求成功完成,只在某些请求中发生。
NameError: '' is not allowed as an instance variable name
来自档案/gems/actionpack-3.2.13/lib/abstract_controller/rendering.rb:126
NameError: undefined local variable or method 'params' for #<MyProduct>
来自档案/gems/activemodel-3.2.13/lib/active_model/attribute_methods.rb:407
上面大约有20多个错误在性质上相似。知道我可以做些什么来解决这个问题吗?
答案 0 :(得分:0)
问题是由maxminddb
宝石引起的。我使用hive_geoip2
gem替换它,而gem依赖于libmaxminddb。
我仍然不确定maxminddb
导致这些问题的原因,但是自改变以来已经过了24小时,问题似乎已经消失。