zma*_*ack 6 ruby ruby-on-rails passenger memory-corruption ruby-on-rails-3
运行一个相当大的rails应用程序,我们最近开始将它升级到rails 3.
我们的堆栈是ruby-1.9.3p484,rails 3.2.16和乘客4.0.23在apache之上运行.
在我们的几台机器上投入一些流量之后,我们开始注意到一些非常奇怪的错误.
诸如随机方法没有在明显具有它们的对象上定义,实例变量在AR关联内是nil,以及对象被随机替换为'false'之类的东西.只是所有奇怪的行为.
检查apache的日志给了我们另一些信息,即随着这些错误的进入,通常情况下,他们各自的流程也会在应用程序的随机位上流行.
有时它只是一个ruby节点作为null传入,有时它只是一些随机字符串溢出,只是随机的东西被破坏.
这些都不是在测试过程中发生的,所以迄今为止唯一的"可靠"再现方法就是在相应的机器上投放流量,看看他们何时/是否开始表现出这种行为.
完成所有这些之后,这里列出了我们迄今为止已经排除的事项:
将GC设置恢复到库存似乎已经缓解了这个问题,但我们在这方面确实没有任何结论.看起来似乎更多的集合会导致问题的发生率降低.
有关可能导致此问题或我们可以用来帮助我们查明问题的任何想法?
小智 1
我在测试运行时也遇到了 1.9.3-p484 段错误 at_exit,但我还没有研究过它。就我而言,它似乎是由测试套件的某些依赖项触发的。
我们在 Rails 3 上的另一个项目也遇到了问题,最终放弃了 Rails 3 的移植并坚持使用 2.3 ):
您是否尝试过在 Apache / Passenger 之外运行该应用程序?
归档时间: |
|
查看次数: |
226 次 |
最近记录: |