ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: post_action crash


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: post_action crash
  • From: Kruglov Eugenie <ekruglov@xxxxxxxxx>
  • Date: Thu, 14 Jan 2010 09:09:03 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:message-id:subject:to:content-type; bh=pDVg2dp5R8Tlu7nuwE5Ck/pMzzyUEUFnH6atddzJPNo=; b=hnsZeRWaXBUWxtl6OhJ4op3E4FHLY2jBFjTw3Dx0XxkMZKuUU4M8O0zWVh1OySUsij y0EjPF6Z5b8vkrgwmlbRWdC6OghqpS0qi3/dL9yq6Qcbco5+f6qLa4XJ82VUye68w+oQ dglb8zgn2HqfeBY7KORxBcZHbZtMeViHaKveg=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; b=xGWOBdIYOiIjyRbcL9+QMVTnL9KoDfb2+QoJQcMtsYZVWAKqLbKpu7rptHM9PysB92 t+2T7eGfJuMj98dj/LIf0eUIMRsnPUp1T0lHtGAboCszJuQecYQfxC9RKfDYjNcHqutu tXFfJDjy80kGRt2JpYCGobd1awPSP57qUu6aI=
  • In-reply-to: <c3e77a811001132100r1a0b825l15c44250de4d89d0@xxxxxxxxxxxxxx>
  • References: <c3e77a810812110049s67079591va2058337bc0cd6fd@xxxxxxxxxxxxxx> <c3e77a811001132100r1a0b825l15c44250de4d89d0@xxxxxxxxxxxxxx>

А попробуйте задать его так:
location  @analytics_docview {
   ...
}

2010/1/14 Alexey Kovyrin <alexey@xxxxxxxxxxx>
Доброго всем времени суток,

Вот, больше года спустя, копаясь в конфигах удивился, почему экшн не
internal.... сменил и БАЦ - 5 минут даунтайма :-) Когда заглянул в
кору, сразу вспомнил баг. Вот только чего-то мне думалось, что с
0.6.34 до 0.7.64 его починили. Игорь, личная просьба, глянь на него
плиз :-)

2008/12/11 Alexey Kovyrin <alexey@xxxxxxxxxxx>:
> Решил тут заюзать post_action, чтобы после отдачи страницы документа
> юзеру дергать наш сервер аналитики (раньше дергал с бекенда, но щас
> приделали squid перед ним - не выходит, так как 90% запросов отдаются
> из кеша).
>
> Сделал вот так:
>
>    location = @analytics_docview {
>        internal;
>
>        proxy_set_header  X-Analytics-page_type 'document';
>        proxy_set_header  X-Analytics-docview_uri $docview_uri;
>        proxy_set_header  X-Analytics-referer $http_referer;
>        proxy_set_header  X-Analytics-user_agent $http_user_agent;
>        proxy_set_header  X-Analytics-user_ip $remote_addr;
>
>        proxy_connect_timeout 5;
>        proxy_read_timeout 5;
>        proxy_send_timeout 5;
>
>        access_log logs/analytics-api.log main;
>        error_log logs/analytics-api.error.log debug;
>
>        proxy_pass http://XXXXXXX:4000/collector/register_hit;
>    }
>
>    # Distribute queries among different mongrel packs
>    # DOCVIEW page - with caching
>    location /doc/ {
>        access_log logs/scribd.analytics.log analytics;
>        add_header X-Served-By backend;
>
>        set $docview_uri $uri;
>        post_action @analytics_docview;
>        ..........................................
>        ... много всего, в основном
>        ... proxy_pass'ы всякие
>        ..........................................
>    }
>
>
>
> Результат оказался странным:
>
> 1) В еррор логе:
>
> 2008/12/11 02:20:38 [error] 7402#0: *36 could not find named location
> "@analytics_docview" while sending to client, client: 66.249.90.136, s
> erver: *.scribd.com, request: "GET
> /doc/10536/PAN-F49A?query2=WWW.tininfo%40nsdl.co.in HTTP/1.0",
> upstream: "http://10.10.170.18:8080/doc/10
> 536/PAN-F49A?query2=WWW.tininfo%40nsdl.co.in", host: "www.scribd.com"
>
> 2) проверял на трафике в 50+ QPS и за 10-15 секунд получил десяток
> core-файлов :-/
>
> Core was generated by `nginx: worker process       '.
> Program terminated with signal 11, Segmentation fault.
> #0  0x0000000000409e3c in ngx_vsnprintf (buf=0x7fff5291f12c "?*",
> max=<value optimized out>, fmt=<value optimized out>,
>    args=0x7fff5291f030) at src/core/ngx_string.c:426
> 426                         *--p = (u_char) (ui32 % 10 + '0');
> (gdb) bt
> #0  0x0000000000409e3c in ngx_vsnprintf (buf=0x7fff5291f12c "?*",
> max=<value optimized out>, fmt=<value optimized out>,
>    args=0x7fff5291f030) at src/core/ngx_string.c:426
> #1  0x000000000040a219 in ngx_snprintf (buf=0x7fff5291f12c "?*",
> max=140734578683891, fmt=0x2ff <Address 0x2ff out of bounds>)
>    at src/core/ngx_string.c:100
> #2  0x0000000000406353 in ngx_log_error_core (level=4, log=0x7d2f00,
> err=0, fmt=0x45e090 "could not find named location \"%V\"")
>    at src/core/ngx_log.c:98
> #3  0x000000000042901b in ngx_http_named_location (r=0x700640,
> name=0x671d40) at src/http/ngx_http_core_module.c:1934
> #4  0x000000000042b560 in ngx_http_post_action (r=0x700640) at
> src/http/ngx_http_request.c:2560
> #5  0x000000000042cd35 in ngx_http_finalize_request (r=0x700640,
> rc=500) at src/http/ngx_http_request.c:1706
> #6  0x0000000000429028 in ngx_http_named_location (r=0x700640,
> name=0x671d40) at src/http/ngx_http_core_module.c:1937
> #7  0x000000000042b560 in ngx_http_post_action (r=0x700640) at
> src/http/ngx_http_request.c:2560
> #8  0x000000000042cd35 in ngx_http_finalize_request (r=0x700640,
> rc=500) at src/http/ngx_http_request.c:1706
> #9  0x0000000000429028 in ngx_http_named_location (r=0x700640,
> name=0x671d40) at src/http/ngx_http_core_module.c:1937
> #10 0x000000000042b560 in ngx_http_post_action (r=0x700640) at
> src/http/ngx_http_request.c:2560
> #11 0x000000000042cd35 in ngx_http_finalize_request (r=0x700640,
> rc=500) at src/http/ngx_http_request.c:1706
> #12 0x0000000000429028 in ngx_http_named_location (r=0x700640,
> name=0x671d40) at src/http/ngx_http_core_module.c:1937
> #13 0x000000000042b560 in ngx_http_post_action (r=0x700640) at
> src/http/ngx_http_request.c:2560
> #14 0x000000000042cd35 in ngx_http_finalize_request (r=0x700640,
> rc=500) at src/http/ngx_http_request.c:1706
> #15 0x0000000000429028 in ngx_http_named_location (r=0x700640,
> name=0x671d40) at src/http/ngx_http_core_module.c:1937
> #16 0x000000000042b560 in ngx_http_post_action (r=0x700640) at
> src/http/ngx_http_request.c:2560
> #17 0x000000000042cd35 in ngx_http_finalize_request (r=0x700640,
> rc=500) at src/http/ngx_http_request.c:1706
> #18 0x0000000000429028 in ngx_http_named_location (r=0x700640,
> name=0x671d40) at src/http/ngx_http_core_module.c:1937
> #19 0x000000000042b560 in ngx_http_post_action (r=0x700640) at
> src/http/ngx_http_request.c:2560
> .............
> ............тут очень много одинаковых блоков вызовов (злобная такая рекурсия)
> ............
> #39500 0x000000000042cd35 in ngx_http_finalize_request (r=0x700640,
> rc=500) at src/http/ngx_http_request.c:1706
> #39501 0x0000000000429028 in ngx_http_named_location (r=0x700640,
> name=0x671d40) at src/http/ngx_http_core_module.c:1937
> #39502 0x000000000042b560 in ngx_http_post_action (r=0x700640) at
> src/http/ngx_http_request.c:2560
> #39503 0x000000000042cd35 in ngx_http_finalize_request (r=0x700640,
> rc=500) at src/http/ngx_http_request.c:1706
> ---Type <return> to continue, or q <return> to quit---
>
> Дальше мне надоело жать ентер :-)
>
> Внимание, вопрос: что делать? :-(
>
> --
> Alexey Kovyrin
> http://kovyrin.info/
>



--
Alexey Kovyrin
http://kovyrin.net/
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru



--
Faithfully yours, Eugenie
ICQ #701217
GTalk ekruglov@xxxxxxxxx
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.