Уровень стека слишком глубоко в производственном Rails App - Как получить детали? - PullRequest
2 голосов
/ 03 февраля 2010

Я работаю со Spree в рабочей среде на слайсе Slicehost объемом 256 МБ с MySQL, Mongrel и Nginx.Я получаю эту ошибку каждый раз, когда пытаюсь получить доступ к любому URL-адресу в приложении:

SystemStackError (stack level too deep):
  compass (0.8.17) lib/compass/app_integration/rails/action_controller.rb:7:in `process'
  vendor/plugins/haml/rails/./lib/sass/plugin/rack.rb:44:in `call'

(в этом pastie *

есть еще несколько запросов на тестовый URL).какие расширенные (но бесплатные и с открытым исходным кодом) стратегии / инструменты отладки мне следует использовать в производственном режиме, чтобы я мог лучше решить эту проблему?

В зависимости от контроллера каждый раз он немного отличается.Я попытался увеличить размер моего стека , но это не помогает, потому что, вероятно, есть только какой-то цикл, который я не могу найти.

Вопрос в том, как получить более подробный отчет.точного вывода в процессе производства?

Я использую Deprec и Capistrano для выполнения всех команд на стороне сервера.Я использую mongrel-кластер из 3. Я вижу следующие файлы журнала:

current/log$ ls
development.log
testsite.com-error.log
mongrel.8000.log
mongrel.8001.log
mongrel.8002.log
mongrel.log
production.log
testsite.com-access.log

Я просто ищу некоторые продвинутые стратегии / инструменты отладки в производственном режиме, чтобы лучше справиться с этой проблемой.,Может быть, некоторые задачи по ограничению для потоковой передачи / отладки (или условно-прерывания!) Рабочего приложения (на самом деле, промежуточного приложения) локально (люди так делают?), Или что-то, что выплевывает каждую вещь, которая выполняется в коде?

Спасибо

Ответы [ 3 ]

0 голосов
/ 03 февраля 2010

проверьте свой контроллер действий. В строке 7 наиболее вероятно, где происходит цикл.

0 голосов
/ 03 февраля 2010

Кажется, вы инициировали бесконечную рекурсию в строке 7 вашего контроллера. Проверьте, вызываете ли вы тот же метод внутри метода.

0 голосов
/ 03 февраля 2010

Я бы проверил все ваши гемы и плагины и любые другие зависимости, которые может иметь ваше приложение: я бы предположил, что вы что-то упустили (или у вас неправильная версия чего-то), и оно достаточно сильно терпит неудачу, чтобы оно могло 'Я даже не выплюнул сообщение «Не могу найти».

...