nginx worker stuck, potential mod_zip bug

Maxim Dounin mdounin at mdounin.ru
Sat Feb 18 22:11:01 UTC 2012


Hello!

On Fri, Feb 17, 2012 at 04:03:46PM -0800, W. Andrew Loe III wrote:

> I'm running an older version of nginx (0.7.67) with mod_zip 1.1.6. I
> believe we have a found a rare bug, I'm trying to figure out of it is
> with mod_zip or with nginx, and if upgrading nginx will potentially
> resolve it.
> 
> The symptom is a worker process getting "stuck" at 100% CPU, leaving
> all connections in CLOSE_WAIT, and servicing no requests. It appears
> that the trigger for this is downloading an archive from mod_zip, but
> we have never been able to reproduce it, only observe it in
> production.

[...]

> I also had the log in debug mode (it is incredibly large ~ 150GB
> uncompressed) and it is completely filled with the following little
> loop:
> 
> 
> 2012/02/17 11:58:45 [debug] 10150#0: *1888 mod_zip: entering
> subrequest body filter
> 2012/02/17 11:58:45 [debug] 10150#0: *1888 http postpone filter
> "/s3/bucket/key" 0000000000000000
> 2012/02/17 11:58:45 [debug] 10150#0: *1888 copy filter: 0 "/s3/bucket/key"
> 2012/02/17 11:58:45 [debug] 10150#0: *1888 pipe write busy: 8192
> 2012/02/17 11:58:45 [debug] 10150#0: *1888 pipe write: out:0000000000000000, f:1
> 2012/02/17 11:58:45 [debug] 10150#0: *1888 http output filter "/s3/bucket/key"
> 2012/02/17 11:58:45 [debug] 10150#0: *1888 copy filter: "/s3/bucket/key"
> 2012/02/17 11:58:45 [debug] 10150#0: *1888 mod_zip: entering
> subrequest body filter
> 2012/02/17 11:58:45 [debug] 10150#0: *1888 http postpone filter
> "/s3/bucket/key" 0000000000000000

[...]

> Am I right in assuming this is a bug in mod_zip, it looks like a
> buffer is never being drained to the client?

Quick look though mod_zip sources suggests it doesn't do anything 
for this request (subrequest).  I would rather think you've hit 
something like this problem:

http://trac.nginx.org/nginx/changeset/4136/nginx

Try upgrading to 1.1.4+/1.0.7+ to see if it helps.

Maxim Dounin



More information about the nginx mailing list