Segfault in nginx 1.0.5

Maxim Dounin mdounin at mdounin.ru
Mon Aug 8 06:48:36 UTC 2011


Hello!

On Mon, Aug 08, 2011 at 06:43:35AM +0000, Kingsley Foreman wrote:

> Would something like this do it?
> 
>                 error_page 403 404 /error.html;

This problem is specific to error_page 400, as 400 means "bad 
request" and request may not have some required parts set (due to 
being actually bad).

Maxim Dounin

> 
>                 location /error.html {
>                         set $args "";
>                         proxy_pass http://squid/;
>                         internal;
>                 }
> 
> Kingsley
> 
> 
> -----Original Message-----
> From: nginx-bounces at nginx.org [mailto:nginx-bounces at nginx.org] On Behalf Of Maxim Dounin
> Sent: Monday, 8 August 2011 4:11 PM
> To: nginx at nginx.org
> Subject: Re: Segfault in nginx 1.0.5
> 
> Hello!
> 
> On Mon, Aug 08, 2011 at 01:50:12AM +0000, Kingsley Foreman wrote:
> 
> > I'm seeing a small segfault in 1.0.5
> > 
> > It is strage there is something triggering it as it happens at 
> > the same time every night. It isn't triggered by crontab as I 
> > have nothing that runs at that time.
> > I'm running the keepalive patch (however this was happening 
> > before I installed it).
> > 
> > Anyway here is the backtrace
> > 
> > 
> > #0  0x00007fd02a58cc9e in memcpy () from /lib/libc.so.6
> > #1  0x000000000049fb4c in ngx_http_proxy_create_request (r=0x19f3d80) at src/http/modules/ngx_http_proxy_module.c:1021
> > #2  0x0000000000470a2b in ngx_http_upstream_init_request (r=0x19f3d80) at src/http/ngx_http_upstream.c:497
> > #3  0x0000000000470868 in ngx_http_upstream_init (r=0x19f3d80) at src/http/ngx_http_upstream.c:438
> > #4  0x0000000000466f5c in ngx_http_read_client_request_body (r=0x19f3d80, post_handler=0x470775 <ngx_http_upstream_init>)
> >     at src/http/ngx_http_request_body.c:58
> > #5  0x000000000049eb49 in ngx_http_proxy_handler (r=0x19f3d80) at src/http/modules/ngx_http_proxy_module.c:655
> > #6  0x000000000044f19b in ngx_http_core_content_phase (r=0x19f3d80, ph=0x1a07a60) at src/http/ngx_http_core_module.c:1339
> > #7  0x000000000044ddc4 in ngx_http_core_run_phases (r=0x19f3d80) at src/http/ngx_http_core_module.c:837
> > #8  0x000000000044dd3b in ngx_http_handler (r=0x19f3d80) at src/http/ngx_http_core_module.c:820
> > #9  0x000000000045159d in ngx_http_internal_redirect (r=0x19f3d80, uri=0x7fff40c440f0, args=0x7fff40c440e0)
> >     at src/http/ngx_http_core_module.c:2347
> > #10 0x0000000000457836 in ngx_http_send_error_page (r=0x19f3d80, err_page=0x19b3168) at src/http/ngx_http_special_response.c:560
> > #11 0x0000000000457430 in ngx_http_special_response_handler (r=0x19f3d80, error=400) at src/http/ngx_http_special_response.c:402
> > #12 0x000000000045c31d in ngx_http_finalize_request (r=0x19f3d80, rc=400) at src/http/ngx_http_request.c:1944
> > #13 0x0000000000459bfe in ngx_http_process_request_line (rev=0x7fd029684de0) at src/http/ngx_http_request.c:907
> 
> Could you please show your config?  It looks like you are using 
> something like
> 
>     error_page  400  @fallback;
> 
>     location @fallback {
>         proxy_pass ...
>     }
> 
> in it.
> 
> This is obviously a bug, though you may easily avoid triggering it 
> by not intercepting error page 400.
> 
> Maxim Dounin
> 
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
> 
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx



More information about the nginx mailing list