ПРОЕКТЫ 


  АРХИВ 


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: worker'ы падают



10 сентября 2009 г. 12:08 пользователь Maxim Dounin
<mdounin@xxxxxxxxxx> написал:
> Hello!
>
> On Wed, Sep 09, 2009 at 06:17:57PM +0400, Alexander Kochetov wrote:
>
>> 9 сентября 2009 г. 17:33 пользователь Maxim Dounin (mdounin@xxxxxxxxxx) 
>> написал:
>> > Hello!
>> >
>> > On Tue, Sep 08, 2009 at 11:18:35PM +0400, Alexander Kochetov wrote:
>> >
>> >> Добрый день.
>> >>
>> >> nginx version: nginx/0.7.61
>> >
>> > [...]
>> >
>> >> gdb /usr/local/sbin/nginx core
>> >> bt
>> >>
>> >> говорит:
>> >>
>> >>
>> >> #0  0x0000000000474197 in ngx_http_ssi_get_variable (r=0x60f800,
>> >> name=0x7fffffffd970, key=96204151509981258) at
>> >> src/http/modules/ngx_http_ssi_filter_module.c:1547
>> >> 1547            if (name->len != var[i].name.len) {
>> >> (gdb) bt
>> >> #0  0x0000000000474197 in ngx_http_ssi_get_variable (r=0x60f800,
>> >> name=0x7fffffffd970, key=96204151509981258) at
>> >> src/http/modules/ngx_http_ssi_filter_module.c:1547
>> >
>> > Что показывает
>> >
>> > fr 0
>> > p *ctx->variables->part
>> > p *part
>> > p i
>> >
>> > ?
>>
>> (gdb) fr 0
>> #0  0x0000000000474197 in ngx_http_ssi_get_variable (r=0x60f800,
>> name=0x7fffffffd970, key=96204151509981258) at
>> src/http/modules/ngx_http_ssi_filter_module.c:1547
>> 1547            if (name->len != var[i].name.len) {
>> (gdb) p *ctx->variables->part
>> Structure has no component named operator*.
>> (gdb) p *part
>> $1 = {elts = 0x3339315e7c2e5c5d, nelts = 3543871327464205916, next =
>> 0x2e5c5d372d305b32}
>> (gdb) p i
>> $2 = 0
>
> p ctx
> p *ctx
> p *ctx->variables
>
> ?

(gdb) p ctx
$1 = (ngx_http_ssi_ctx_t *) 0x893120
(gdb) p *ctx
$2 = {buf = 0x893430,
  pos = 0xca73c0 "<!--#set var=\"vu_user_groups\" value=\":archive:\"
--><!--#set var=\"vu_free_ip\" value=\"yes\" --><!--#endif
-->\n<!--#endif -->\n\n<!--#if expr=\"$seemore=/yes/\" --><!--#set
var=\"vu_user_groups\" value=\":archiv"...,
  copy_start = 0xca73c0 "<!--#set var=\"vu_user_groups\"
value=\":archive:\" --><!--#set var=\"vu_free_ip\" value=\"yes\"
--><!--#endif -->\n<!--#endif -->\n\n<!--#if expr=\"$seemore=/yes/\"
--><!--#set var=\"vu_user_groups\" value=\":archiv"...,
  copy_end = 0xca73c0 "<!--#set var=\"vu_user_groups\"
value=\":archive:\" --><!--#set var=\"vu_free_ip\" value=\"yes\"
--><!--#endif -->\n<!--#endif -->\n\n<!--#if expr=\"$seemore=/yes/\"
--><!--#set var=\"vu_user_groups\" value=\":archiv"..., key = 3357,
command = {len = 2,
    data = 0x890c09 "if", '?' <repeats 30 times>, "expr", '?' <repeats
35 times>, "цnК"}, params = {elts = 0x893188, nelts = 1, size = 48,
nalloc = 4,
    pool = 0x653000}, param = 0x893188, params_array = {{hash = 0, key
= {len = 4, data = 0x890c29 "expr", '?' <repeats 35 times>, "цnК"},
value = {len = 1206,
        data = 0x8934e0
"$remote_addr=/^82\\.118\\.6[67]\\.5|^193\\.36\\.24[01]\\.5|^194\\.84\\.222\\.130|^194\\.84\\.222\\.12[89]|^83\\.102\\.235\\.5[01]|^83\\.102\\.235\\.4[89]|^85\\.21\\.100\\.20[0-8]|^85\\.21\\.100\\.19[2-9]|^195\\.94\\.227\\.18[0-"...},
lowcase_key = 0x0}, {hash = 0, key = {len = 5,
        data = 0x890994 "value", '?' <repeats 27 times>, "config", '?'
<repeats 26 times>, "errmsg", '?' <repeats 30 times>, "xnК"}, value =
{len = 1,
        data = 0x6feff8 "1???????"}, lowcase_key = 0x0}, {hash = 0,
key = {len = 0, data = 0x0}, value = {len = 0, data = 0x0},
lowcase_key = 0x0}, {hash = 0,
      key = {len = 0, data = 0x0}, value = {len = 0, data = 0x0},
lowcase_key = 0x0}}, in = 0x0, out = 0x7a1dc0, last_out = 0x890ca8,
busy = 0x893790,
  free = 0x0, state = 0, saved_state = 11, saved = 0, looked = 0,
value_len = 256, variables = 0x893618, blocks = 0x0, conditional = 0,
encoding = 2,
  block = 0, output = 1, output_chosen = 0, wait = 0x0, value_buf =
0x0, timefmt = {len = 24, data = 0x49c2d0 "%A, %d-%b-%Y %H:%M:%S %Z"},
errmsg = {len = 0,
    data = 0x6feffa "??????"}}
(gdb) p *ctx->variables
$3 = {last = 0x392d325b31312e5c, part = {elts = 0x3339315e7c2e5c5d,
nelts = 3543871327464205916, next = 0x2e5c5d372d305b32}, size =
3543871327430663804,
  nalloc = 6643710165920789049, pool = 0x39315e7c3236312e}



О. Здесь стало примерно понятно, какие ssi проверять надо, а то
поймать другими способами что-то никак не получалось.


>
> Maxim Dounin
>
>>
>> >
>> > Было бы также замечательно посмотреть на ssi, c которым
>> > это всё происходит.
>>
>> Попробую отловить.
>>
>> >
>> > Maxim Dounin
>> >
>> >
>>
>>
>>
>> --
>> Alexander Kochetov
>>
>
>



--
Alexander Kochetov



 




Copyright © Lexa Software, 1996-2009.