Назад | Перейти на главную страницу

Как исправить «Segfault in Cherokee»?

Я получаю по почте следующее.

The Cherokee 'panic action' script, /usr/bin/cherokee-panic,
was called for pid <number> ().

This means there was a problem with the program, such as a segfault.
However, the executable could not be found for process <number>.
It may have died unexpectedly, or you may not have permission to
debug the process.

Я думаю, что это связано с php, так как у меня есть несколько зомби-процессов php-cgi. Мои настройки:

PHP_FCGI_MAX_REQUESTS 255
PHP_FCGI_CHILDREN 8

Я просмотрел все свои журналы, ни предупреждений, ни даже уведомлений. Любые идеи?

Возможно, вы захотите попробовать «выследить» чероки. Убедитесь, что у вас включена трассировка (cherokee -i чтобы узнать.) Если у вас не включена трассировка, вам нужно пойти и перекомпилировать Cherokee из исходного кода (с --enable-trace вариант).

Включив чероки с трассировкой, вы можете затем убить все рабочие процессы чероки / чероки и запустить:

sudo CHEROKEE_TRACE="all" cherokee-worker

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