ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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



 




Copyright © Lexa Software, 1996-2009.