]> git.kaiwu.me - nginx.git/commitdiff
Output chain: zero size buf alerts in ngx_chain_writer().
authorMaxim Dounin <mdounin@mdounin.ru>
Mon, 23 Mar 2015 17:56:58 +0000 (20:56 +0300)
committerMaxim Dounin <mdounin@mdounin.ru>
Mon, 23 Mar 2015 17:56:58 +0000 (20:56 +0300)
Now we log a "zero size buf in chain writer" alert if we encounter a zero
sized buffer in ngx_chain_writer(), and skip the buffer.

src/core/ngx_output_chain.c

index 3bc0a307cc665d5b4718bb22c9c6ad89b3846c86..5260c5f666dc57b7f58bf13c3d41c6e0bc109859 100644 (file)
@@ -663,7 +663,23 @@ ngx_chain_writer(void *data, ngx_chain_t *in)
 
 #if 1
         if (ngx_buf_size(in->buf) == 0 && !ngx_buf_special(in->buf)) {
+
+            ngx_log_error(NGX_LOG_ALERT, ctx->pool->log, 0,
+                          "zero size buf in chain writer "
+                          "t:%d r:%d f:%d %p %p-%p %p %O-%O",
+                          in->buf->temporary,
+                          in->buf->recycled,
+                          in->buf->in_file,
+                          in->buf->start,
+                          in->buf->pos,
+                          in->buf->last,
+                          in->buf->file,
+                          in->buf->file_pos,
+                          in->buf->file_last);
+
             ngx_debug_point();
+
+            continue;
         }
 #endif
 
@@ -691,9 +707,24 @@ ngx_chain_writer(void *data, ngx_chain_t *in)
 
 #if 1
         if (ngx_buf_size(cl->buf) == 0 && !ngx_buf_special(cl->buf)) {
+
+            ngx_log_error(NGX_LOG_ALERT, ctx->pool->log, 0,
+                          "zero size buf in chain writer "
+                          "t:%d r:%d f:%d %p %p-%p %p %O-%O",
+                          cl->buf->temporary,
+                          cl->buf->recycled,
+                          cl->buf->in_file,
+                          cl->buf->start,
+                          cl->buf->pos,
+                          cl->buf->last,
+                          cl->buf->file,
+                          cl->buf->file_pos,
+                          cl->buf->file_last);
+
             ngx_debug_point();
-        }
 
+            continue;
+        }
 #endif
 
         size += ngx_buf_size(cl->buf);