Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: solaris readv() error
On Sat, Mar 01, 2008 at 02:36:32PM +1000, Den Ivanov wrote:
> Nginx 0.5.35 в режиме прокси, solaris 10 x86, в логах появляются такие
> ошибки:
>
>
>
> 2008/02/29 03:04:33 [crit] 3274#0: *51525 readv() failed (22: Invalid
> argument) while reading upstream, client: 77.91.224.11, server:
> www.xxxxxx.ru, request: "GET
> /%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:Allpages/%D0%91
> HTTP/1.1", upstream: "fastcgi://10.10.10.10:1026", host: "www. xxxxxx.ru"
Тут возмомжны два варианта:
1) ошибка в nginx'e - он передаёт в ядро неверные данные,
2) бэкенд закрыл соединение с RST и ядро считает сокет не соединённым.
Другие ОС в отличии от Соляриса таких случаях вовращают
"Connection reset by peer" или "Socket is not connected", что
во-первых, отражает действительную причину ошибку, а во-вторых,
не смешивает серьёзную ошибку в самом приложении с ошибкой, внешней
по отношении к приложению.
> Что при этом получает клиент, пока не знаю. В изменениях NGINX нашел такую
> запись, очень похожую на мою ситуацию:
Оборванный ответ.
> 0.1.5 11.11.2004
>
> Исправление: в режиме прокси без использования sendfile на Solaris возникала
> ошибка "writev() failed (22: Invalid argument)". На других платформах, не
> поддерживающих sendfile, процесс зацикливался.
--
Игорь Сысоев
http://sysoev.ru
|