Maxim Dounin mdounin at
Tue May 26 14:02:31 MSD 2009


On Tue, May 26, 2009 at 11:05:58AM +0200, Michał Jaszczyk wrote:

> Hey,
> Could you say something more about the socket leak? When exactly does it occur?

Here description of patch I've posted a while ago (on russian 
mailing list, but there was at least link in english list as well):

[cut here]
Fix connection leak under some specific conditions.

Return code of ngx_http_output_filter() wasn't correctly checked in
ngx_http_writer() function.  This resulted in incorrect processing of
connections closed prematurely by clients - these connections were sometimes
closed due to timeouts (and hence higher numbers of 'Writing' connections
were observed in stub_status module compared to previous versions), and
sometimes permanently leaked.

Since the issue is racy it's hard to reproduce it without accept filters
used.   Though it's relatively easy too with

    listen ... accept_filter=httpready;
    sendfile_max_chunk  16k;

by requesting big file and closing client connection immediately.

The bug had appeared in 0.7.25.
[cut here]

I belive it can be also reproduced with limit_rate used, but I've 
never checked.

Maxim Dounin

More information about the nginx mailing list