LINUX.ORG.RU

FasCGI terminated due to uncaught signal 13

 , ,


0

1

Странная ситуация, есть приложение под Apache/mod_fcgi, которое периодически подвисает на тяжёлых запросах и апач его прибивает с ошибкой:

[:warn] [pid <...>:tid 1] FastCGI: server "<...>" (pid <...>) terminated due to uncaught signal '13' (B
roken pipe)

Но в самом приложении SIGPIPE полностью игнорируется через MSG_NOSIGNAL и даже signal(SIGPIPE, SIG_IGN) (других обработчиков точно нет). Если напрямую послать сигнал запущенному процессу, он игнорирует как положено.

Откуда может взяться этот левый сигнал?

Иногда ещё перед этим в логах проскакивает сообщение:

FastCGI: client stopped connection before send body completed

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

★★★

Ну можно попробовать запустить под strace'ом, если ему уаказать ″-e 'trace=!all'″, то будет выводиться только информация про сигналы.

mky ★★★★★ ()
Ответ на: комментарий от E

Не знаю как там внутри реализовано, может, разные процессы, может sigaction смотрит pid отправителя,но, похоже, это сигнал уровня логики апача, которым приложение управлять не может.

level1 ()