Имею:
ОС: FreeBSD 10
ПО: Apache 2.4
MPM: MPM_WORKER
3rd party modules: php 5.5
Доп. опции для компиляции php 5.5 и extensions: [x] ZTS Force Zend Thread Safety (ZTS) build
Компилятор: clang
Что случилось:
В dmesg регулярно получаю
pid 99894 (httpd), uid 80: exited on signal 10
pid 99897 (httpd), uid 80: exited on signal 11
Что сделал:
1) Погуглил. Однозначного решения нет, у каждого свой случай. Объединяет их только php как виновник трагедии.
2) Заставил систему и apache писать .core при падении
# sysctl kern.sugid_coredump=1
# echo "CoreDumpDirectory /tmp" >> /usr/local/etc/apache24/httpd.conf
Что НЕ получилось:
$ gdb httpd.core
...
This GDB was configured as "amd64-marcel-freebsd"..."/usr/home/user/httpd.core": not in executable format: File format not recognized
ладно, попробуем иначе
$ gdb
...
(gdb) core httpd.core
Core was generated by `httpd'.
Program terminated with signal 10, Bus error.
#0 0x00000008058cf008 in ?? ()
Тупик... Больше из gdb вытянуть я ничего не смог. Существует, якобы, lldb, но он по ум. не установлен, а установка требует нехилого велосипедизма...
Хочу также сообщить, что сайты пока работают, т.е. хоть дочерние процессы httpd и падают - новые снова появляются.
Что посоветуете предпринять?
Из возможных действий я предполагаю:
1) Скомпилировать всё с gcc, отладить с помощью gdb
2) Вытащить весь llvm проект из git, скомпилировать всё с новым clang, отладить с помощью неведомого для меня lldb
3) Написать багрепорт разрабам php, ждать неведомо сколько ответа, затем патча...
4) Перейти, наконец, на php-fpm (г-ди как же геморно его настраивать!) и отказаться от php в качестве модуля для apache
5) Использовать встроенные средства отладки apache (какие?! стандартные логи дают не ту инфу, что мне надо...)
linux не предлагать, я его уже натерпелся вдоволь на северах...
P.S. Впервые встречаю тупняк от разрабов freebsd: clang по умолчанию мы засунули, gcc из базовой поставки выбросили, а несовместимый с clang gdb оставили. Ну, блин, логика у них. Наверное, надо написать им гневный пост с матюками на их форум.