Ruby on rails 断断续续;“脚本头过早结束”;使用Rails 3.1

Ruby on rails 断断续续;“脚本头过早结束”;使用Rails 3.1,ruby-on-rails,apache,ruby-on-rails-3.1,passenger,Ruby On Rails,Apache,Ruby On Rails 3.1,Passenger,因此,我开始将我们的应用程序从Rails 3.0.9升级到Rails 3.1 它在开发环境中工作得很好。是时候把它放到登台服务器上了,这样我们就可以运行一些完整的验收测试了——但是,哦,不!我们有一半的时间收到可怕的“内部服务器错误”页面,看起来是随机的。我们正在使用Ruby 1.9.2(p290)、Apache(2)和Passenger(3.0.9) 当这些情况发生时,我们的应用程序的日志文件中绝对没有写入任何内容(即使是在最低的日志级别) 正在写入Apache日志的唯一内容是: [Fri D

因此,我开始将我们的应用程序从Rails 3.0.9升级到Rails 3.1

它在开发环境中工作得很好。是时候把它放到登台服务器上了,这样我们就可以运行一些完整的验收测试了——但是,哦,不!我们有一半的时间收到可怕的“内部服务器错误”页面,看起来是随机的。我们正在使用Ruby 1.9.2(p290)、Apache(2)和Passenger(3.0.9)

当这些情况发生时,我们的应用程序的日志文件中绝对没有写入任何内容(即使是在最低的日志级别)

正在写入Apache日志的唯一内容是:

[Fri Dec 02 14:36:15 2011] [error] [client <my ip>] Premature end of script headers: <requested path>, referer: <http://domain.com/referrer>
[Fri Dec 02 14:36:15 2011][error][client]脚本头过早结束:,请参考:
显然,对于我来说,这是一个过于普通的错误,我不想问“修复它!”,但是如果能给我一些建议,告诉我从哪里开始调试正在发生的事情,我将不胜感激。这让我快发疯了


更新:禁用链轮时不会出现此问题(即
config.assets.enabled=false
),不要紧,它仍然会出现…

请尝试通读此内容,并查看它是否为您提供了一些见解:

我找到了导致此问题的原因

这似乎是机架中间件的问题。链条上的某个地方有一块宝石正在破坏东西(在我的例子中,它是Airbrake(以前称为Hoptoad)宝石,这可以解释为什么在任何地方都没有记录异常)。删除错误的gem或将其更新为最新版本(从git安装,而不是从规范的rubygems源代码安装)为我修复了它


如果其他人偶然发现这个问题,我建议您检查堆栈的这一部分。

谢谢,但不幸的是,这让我有足够的洞察力知道这可能是我应用程序中的某个问题。我希望从Rails中引出一条有用的错误消息,但我不知道从哪里开始。