乘客EBADF文件描述符异常502

时间:2015-07-12 16:25:38

标签: ruby-on-rails ubuntu nginx passenger rack

由于CVE将我们的应用升级到Rails 4.1.12和Rack 1.5.5,我们似乎随机出现了502。约1%的请求,我不能一直重新创建问题,只能观察它(这是非常令人沮丧的,你可以想象)。我们一直在运行4.1.8和机架1.5.2 ...我尝试降级Rack并仍然观察问题但是由于合规性的性质等等,回到Rails 4.1.8可能相当复杂。

我们正在使用带有nginx的Ruby 2.1.5的Passenger 5.0.6(prod)和5.0.13(staging)。

我看到的模式是:

LinkedList

我在IRC #passenger上提出了这个问题,并没有看到任何人遇到同样的问题。有关如何弄清楚究竟是什么导致这种情况的任何提示?

1 个答案:

答案 0 :(得分:1)

这里的乘客作者。

我认为这个问题是由应用程序中的某些东西引起的,可能是宝石 - 而不是乘客。 EBADF错误是从应用程序引发的,因此可能某些gem(可能是具有本机扩展名的gem)关闭了错误的文件描述符。但它是哪个宝石,我不知道。调试这个的标准方法是逐个禁用gems,直到你找到罪魁祸首。如果您的代码依赖于宝石,这可能很难,但是没有多种方法可以解决这个问题。