Hello!
On Wed, Apr 18, 2012 at 07:13:02AM -0400, mscheel wrote:
> Hello Maxim, thanks alot for your help. I'll try to reproduce it.
>
> (gdb) fr 0
> #0 0x000000000042cbe8 in ngx_readv_chain (c=0x2b508a1d43d0,
> chain=0x602348) at src/os/unix/ngx_readv_chain.c:195
> 195 src/os/unix/ngx_readv_chain.c: No such file or directory.
> in src/os/unix/ngx_readv_chain.c
>
> (gdb) p *chain->buf
> $6 = {pos = 0x0, last = 0x0, file_pos = 0, file_last = 0, start = 0x0,
> end = 0x0, tag = 0x5c8480, file = 0x0, shadow = 0x0, temporary = 1,
> memory = 0, mmap = 0, recycled = 1, in_file = 0,
> flush = 0, sync = 0, last_buf = 0, last_in_chain = 0, last_shadow = 0,
> temp_file = 0, num = 0}
>
> (gdb) p *chain->next
> $7 = {buf = 0x7523d8, next = 0x752638}
>
> (gdb) p *chain->next->buf
> $8 = {pos = 0x0, last = 0x0, file_pos = 0, file_last = 0, start = 0x0,
> end = 0x0, tag = 0x5c8480, file = 0x0, shadow = 0x0, temporary = 1,
> memory = 0, mmap = 0, recycled = 1, in_file = 0,
> flush = 0, sync = 0, last_buf = 0, last_in_chain = 0, last_shadow = 0,
> temp_file = 0, num = 0}
>
> (gdb) p *chain->next->next
> $9 = {buf = 0x746ff8, next = 0x0}
[...]
Ok, thanks. The buffer chain looks completely screwed up, and I
suspect the culprit is substitutions4nginx module you use. Quick
look over it's sources suggests it at least changes the
last_shadow flag of the buffers it gets, and this may cause
undefined behaviour.
Additionally, the response in question has Content-Type set to
"text/html" (though it looks like the actual response is pdf), which
is handled by substitutions4nginx by default.
Could you please try to reproduce the problem without the module
in question?
Maxim Dounin
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx