Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: setsockopt(TCP_NODELAY) failed (22: Invalid argument)
On Thu, Jan 10, 2008 at 10:36:57AM +0300, Alexey Rymonin wrote:
> Hello Igor,
>
> Monday, January 7, 2008, 11:25:34 PM, you wrote:
>
> > On Sat, Jan 05, 2008 at 03:33:10PM +0300, Alexey Rymonin wrote:
>
> >> Воспроизводится гарантированно если под Оперой открыть любой
> >> статический файл и подержать
> >>
> >> Ctrl-R некоторое время...
>
> > Ошибка похожа на ошибку во FreeBSD 6.x, когда возвращался EINVAL при
> > shutdown() или закрытии сокета, который закрыли с другой стороны с RST:
> > строки
> > setsockopt(TCP_NODELAY) failed (22: Invalid argument) while keepalive
> > перемежаются с
> > client ... closed keepalive connection (131: Connection reset by peer)
>
> Игорь, я правильно понял, что если keepalive соединение закрывается со
> стороны клиента, то при попытке setsockopt(TCP_NODELAY) мы вместо
> нормальной ошибки closed keepalive connection (131: Connection reset by peer)
> получаем EINVAL ?
В обоих случаях случах клиент закрывает соединение с RST.
И в обоих случаях ошибка должна быть (131: Connection reset by peer).
> Вроде как так оно и должно быть, а Connection reset by peer вообще в
> мануале не нашел :-)
> EINVAL The specified option is invalid at
> the specified socket level, or the
> socket has been shut down
>
> А что с этим делать в результате? у меня спама об этой ошибке на почту
> валится больше чем обычног спама :-). Может для солярки перевести эту
> ошибку на уровень DEBUG...
Долбить SUN. EINVAL - серьёзная ошибка, означает, что программа передаёт
в ядро что-то неверное - это повод искать ошибку в программе. А здесь никаких
ошибок нет, просто ядро из-за RST перевело сокет в non-connected состояние.
FreeBSD в таких ситуациях возвращает ECONNRESET.
Можно писать эту ошибку на уровень info.
> и еще... точно также стало очень много phantom event... может и ее на
> уровень debug перевести?
Да, можно.
--
Игорь Сысоев
http://sysoev.ru
|