Linux-2.6.x bug test case

Igor Sysoev is at rambler-co.ru
Wed Sep 20 02:35:28 MSD 2006


On Tue, 19 Sep 2006, Igor Sysoev wrote:

> С прилагаемым тарболлом нужно проделать следующее:
>
> tar zxf epoll.tar.gz
> cd epoll
> make
>
> После чего в каталоге epoll будет две программы: epoll и server.
> Нужно запустить их в двух терминалах. Сначала server, он будет слушать
> на 127.0.0.1:9000, потом epoll, он будет соединяться с сервером.
>
> Сервер должен показать следующее:
>
> -----------
>> ./server 
> accept
> close, sleep 60s
> -----------
>
> epoll, если ошибки нет, должен показать:
>
> -----------
>> ./epoll 
> epoll_wait: 1, 00000004, 4
> epoll_wait: 1, 00000005, 4
> read: 8
> epoll_wait: 1, 00000005, 4
> read: 0
> eof read
> -----------
>
> и если ошибка есть, то
>
> -----------
>> ./epoll 
> epoll_wait: 1, 00000004, 4
> epoll_wait: 1, 00000005, 4
> read: 8
> epoll_wait: 0, 00000005, 4
> epoll_wait timed out
> -----------
>
> Ошибка воспроизводится не всегда, у меня получилось воспроизвести на
> Linux 2.6.13-15.11-smp из SuSE 10. Если у вас ошибка тоже воспроизвелась,
> то подписывайтесь на lkml и шлите туда баг-репорт вместе с прилагаемым
> test-case'ом. Заодно спросите, почему постоянно приходят нотификации
> EPOLLOUT - в данном случае она должна приходить только первый раз.
> Возможно, ошибка проявляется не только в epoll, а просто в потере сигнала
> закрытия сокета.

Приношу извинения. Предыдущий тарболл был неверный. Соответсвенно,
таймауты при использовании epoll и memcached или epoll и
proxy_buffering off - это, скорее всего, ошибка в nginx'е. Однако в
комбинации nginx/epoll/trac - я не вижу подобной ошибки. Новый
тарболл пытается воспроизвести это взаимодействие nginx и сервера.

Удачное выполнение - это:
------------
>./epoll 
epoll_wait: 1, 00000004, 4
epoll_wait: 1, 00000005, 4
read: 8
read: 0
eof read
------------
или
------------
>./epoll 
epoll_wait: 1, 00000004, 4
epoll_wait: 1, 00000005, 4
read: 8
read failed: (11)Resource temporarily unavailable
epoll_wait: 1, 00000005, 4
read: 0
eof read
------------

Неудачное мне не удалось воспроизвести. Оно должно завершиться сообщением
epoll_wait: 0, 00000000, 0
epoll_wait timed out


Игорь Сысоев
http://sysoev.ru
-------------- next part --------------
A non-text attachment was scrubbed...
Name: epoll1.tar.gz
Type: application/x-gunzip
Size: 1437 bytes
Desc: 
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20060920/8127f5f2/attachment.bin>


More information about the nginx-ru mailing list