nginx-0.8.53 segfault
    Maxim Dounin 
    mdounin at mdounin.ru
       
    Fri Jan 14 21:55:35 MSK 2011
    
    
  
Hello!
On Fri, Jan 14, 2011 at 06:15:50PM +0100, Maxim C. wrote:
> Maxim, thanks for your help. I saved fresh core :) to anothe directory 
> and ran gdb, output of the commands that you provided is:
> 
> (gdb) fr 0
> #0  0x080aaca8 in ngx_http_file_cache_update (r=0x8200528, tf=0x8201570) 
> at src/http/ngx_http_file_cache.c:790
> 790      if (c->updated) {
> (gdb) p c
> $1 = (ngx_http_cache_t *) 0x0
> (gdb) p *r
> $2 = {signature = 1347703880, connection = 0x8133e88, ctx = 0x82009d8, 
[...]
>   http_version = 1001, request_line = {len = 30, data = 0x81fbfa8 "GET 
> /preview/x045.jpg HTTP/1.1\r\nHost"}, uri = {len = 6, data = 0x8113d6c 
> "/empty"},
[...]
> filter_finalize = 1, post_action = 0, request_complete = 0, 
Ah, understood, it's image filter which triggers the problem.  I'm 
able to reproduce the problem here with the following config:
    server {
        listen 127.0.0.1:8080;
        location / {
            proxy_pass http://127.0.0.1:8080/bad/;
            proxy_cache one;
            proxy_cache_valid any 1h;
            image_filter   resize  150 100;
            error_page     415   = /empty;
        }
        location /empty {
            return 204;
        }
        location /bad/ {
            return 404;
        }
    }
Right now I think correct solution would be to move r->cache into 
upstream's private data (r->upstream).  Igor?
Maxim Dounin
    
    
More information about the nginx
mailing list