"recv() failed (71: Protocol error) while keepalive"
Maxim Dounin
mdounin at mdounin.ru
Mon Jan 27 13:13:36 UTC 2014
Hello!
On Mon, Jan 27, 2014 at 04:54:39AM -0500, skeletor wrote:
> Вот такое редко проскакивает в логах. Что это может значить? Нашёл на одном
> ресурсе описание ошибки 71. Привожу цитату:
>
> Очень частый случай это когда веб-сервер вместо ответа просто посылает FIN,
> потому что на его стороне воркер упал или что еще нехорошее
Цитата очевидно неправильная, т.к. FIN вместо ответа - это вполне
штатный способ закрыть соединение.
Судя по коду ядра Linux'а (судя по коду ошибки, операционная
система - Linux?) - такое может быть при получении ICMP Parameter
Problem. Почему оно у вас возникает - отдельный интересный
вопрос.
Вообще POSIX не предполагает возврат EPROTO из recv(), см. тут:
http://pubs.opengroup.org/onlinepubs/9699919799/functions/recv.html
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru