Мне нужно отследить, что приводит к сбою моей установки nginx + php-fpm при некоторых запросах. Это довольно большой форум myBB, поэтому я подозреваю, что проблема лежит где-то между его модулями. На том же хосте у меня также установлена Wordpress, но клиенты, перемещающиеся туда, никогда не сталкиваются с этой проблемой. Клиенты получают ошибку 502 иногда только на форуме, и у меня это в логах php и nginx:
[15-Feb-2015 03:36:31] WARNING: [pool www] child 38593 exited on signal 7 (SIGBUS) after 136.848519 seconds from start
2015/02/15 03:36:31 [error] 38368#0: *2719 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: x.x.x.x, server: mydomain, request: "GET someurl HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "mydomain"
Я попытался получить coredumps для gdb, но, поскольку я нахожусь в виртуальной машине Debian под хостом OpenVZ, я не могу изменить значение / proc / sys / kernel / core_pattern (разрешение запрещено), для которого установлено значение «| / usr / libexec / abrt-hook-ccpp% s% c% p% u% g% te «, и я нигде не могу найти ни одного coredump (я уже установил ulimit -c без ограничений).
Я также пытался запустить php-fpm из gdb, но иногда php-fpm просто зависает, ничего не говоря о том, чтобы отключить весь мой хост.
Я уже перепробовал множество предложений, найденных в Интернете, изменив конфигурации nginx и php-fpm, отключив любой модуль кэширования и некоторые другие вещи без удачи. Процессор и оперативная память не проблема, в этом боксе есть 4 ГБ с 3 свободными, когда это происходит.
Как я могу получить coredump и отследить, что вызывает сигнал 7 SIGBUS?
Задача ещё не решена.
Других решений пока нет …