Прерывистый "преждевременный конец заголовков скриптов" с Rails 3.1


Итак, я начал обновление нашего приложения до Rails 3.1 с Rails 3.0.9.

Он отлично работает в среде разработки. Пришло время поместить его на промежуточный сервер, чтобы мы могли провести несколько полных приемочных тестов - но нет! Мы получаем ужасную" внутреннюю ошибку сервера " страницы, которые служили нам половину времени, казалось бы, случайным образом. Мы используем 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>

Очевидно, что это слишком общая ошибка для меня, чтобы просить " исправить это!", но некоторые советы о том, где я могу начать искать, чтобы отладить то, что происходит, были бы очень признательны. Это сводит меня с ума.

обновление: эта проблема не возникает при отключенных звездочках (т. е. config.assets.enabled = false) ничего страшного, это все еще так...

2 3

2 ответа:

Я нашел причину этого.

Похоже, это проблема с промежуточным программным обеспечением стойки. Драгоценный камень где-то на цепи ломал материал (в моем случае это был воздушный тормоз (ранее известный как Hoptoad), который может объяснить, почему нигде не регистрировалось никаких исключений). Удаление блуждающего драгоценного камня или обновление его до последней версии (установка из git, а не канонического источника rubygems) исправило это для меня.

Если кто-то еще наткнется на эту проблему, я бы посоветовал вам проверить это часть твоего стэка.

Попробуйте прочитать это и посмотреть, поможет ли вам это понять:http://htmlfixit.com/cgi-tutes/tutorial_Common_Web_dev_error_messages_and_what_they_mean.php#premature