nginx 0.7.62/0.8.20 ssl and "worker process ... exited on signal 11"
Maxim Dounin
mdounin at mdounin.ru
Fri Oct 23 11:25:57 MSD 2009
Hello!
On Fri, Oct 23, 2009 at 10:33:26AM +0400, Andrey Y. Ostanovsky wrote:
> Maxim Dounin пишет:
> > Пересобрать с дебагом, получить корку и debug log. Дальше будем
> > смотреть.
> >
> > Хотя я бы для начала проверил проявляется ли проблема в 0.8.*,
> > очень может быть что это уже что-то исправленное но ещё не
> > попавшее в stable. Если проблема ssl-specific, то возможно это
> > вот это (0.8.7):
> >
> > *) Bugfix: the $ssl_client_cert variable usage corrupted memory; the
> > bug had appeared in 0.7.7.
> > Thanks to Sergey Zhuravlev.
> >
> > Если верить CHANGES - в stable этого исправления пока нет.
> >
> И десяти минут не проработало. :(
>
> Oct 23 10:27:15 noc kernel: pid 74051 (nginx-0.8.20), uid 80: exited on
> signal 11 (core dumped)
Было бы замечательно ещё и debug log. Ну и корку либо ещё одну,
либо из этой правильно backtrace вынуть.
Хотелось бы также знать что за openssl используется.
Да, если вдруг используются сторонние патчи/модули - крайне
желательно откатить и воспроизвести проблему без них.
> # gdb /usr/local/sbin/nginx /var/tmp/80.nginx.core
Так nginx или nginx-0.8.20?
> GNU gdb 6.1.1 [FreeBSD]
> Copyright 2004 Free Software Foundation, Inc.
> GDB is free software, covered by the GNU General Public License,
> and you are
> welcome to change it and/or distribute copies of it under certain
> conditions.
> Type "show copying" to see the conditions.
> There is absolutely no warranty for GDB. Type "show warranty" for
> details.
> This GDB was configured as "i386-marcel-freebsd"...
> Core was generated by `nginx'.
> Program terminated with signal 11, Segmentation fault.
> #0 0x283de8a3 in ?? ()
> (gdb) bt
> #0 0x283de8a3 in ?? ()
> #1 0x00000000 in ?? ()
> #2 0x000007dc in ?? ()
> #3 0x08076de1 in ngx_ssl_handshake (c=0x28597180) at
> src/event/ngx_event_openssl.c:585
> #4 0x0808e674 in ngx_http_header_filter (r=0x2851e400)
> at src/http/ngx_http_header_filter_module.c:432
> #5 0x080a4156 in ngx_http_parse_time (value=0x2851e400 "\220╧-(ю&Q(К",
> len=0)
> at src/http/ngx_http_parse_time.c:195
Либо это совсем плохой, негодный стек, либо gdb запускали не с тем
бинарником.
Я склоняюсь ко второму варианту - адреса переменных вполне похожи
на правду, между тем как имена функций и файлы/строки - абсолютно
левые.
Maxim Dounin
> #6 0x080ab645 in ngx_http_file_cache_expire (cache=0x2851e400)
> at src/http/ngx_http_file_cache.c:1043
> #7 0x080ad06b in ngx_http_gzip_header_filter (r=0x2851e400)
> at src/http/modules/ngx_http_gzip_filter_module.c:288
> #8 0x080adbf3 in ngx_http_gzip_filter_get_buf (r=0x2851e400, ctx=0x0)
> at src/http/modules/ngx_http_gzip_filter_module.c:718
> #9 0x080b00b5 in ngx_http_charset_recode_from_utf8 (pool=0x2851e400,
> buf=0x0, ctx=0x285973c0)
> at src/http/modules/ngx_http_charset_filter_module.c:858
> #10 0x08050c0e in ngx_chain_update_chains (free=0x28679238, busy=0x0,
> out=0xbfbfeb38,
> tag=0x80593b7) at src/core/ngx_buf.c:205
> #11 0x0808ec95 in ngx_http_header_filter (r=0x2851e400)
> at src/http/ngx_http_header_filter_module.c:557
> #12 0x080a5401 in ngx_http_index_test_dir (r=0x2851e400, clcf=0x0,
> path=0x7d9 <Address 0x7d9 out of bounds>, last=0x5 <Address 0x5 out
> of bounds>)
> at src/http/modules/ngx_http_index_module.c:313
> #13 0x0807e775 in ngx_http_core_try_files_phase (r=0x2851e400, ph=0x0)
> at src/http/ngx_http_core_module.c:1264
> #14 0x08088ff1 in ngx_http_process_request (r=0x2851e400) at
> src/http/ngx_http_request.c:1569
> #15 0x08088488 in ngx_http_alloc_large_header_buffer (r=0x2863d0f0,
> request_line=677630220)
> at src/http/ngx_http_request.c:1247
> #16 0x08068443 in ngx_events_block (cf=0x2855a028, cmd=0x6, conf=0x1) at
> src/event/ngx_event.c:899
> #17 0x08066766 in ngx_open_and_stat_file (name=0x2855a028 '╔' <repeats
> 200 times>..., of=0x1,
> log=0xbfbfec04) at src/core/ngx_open_file_cache.c:528
> #18 0x08071894 in ngx_signal_worker_processes (cycle=0x2855a028, signo=0)
> at src/os/unix/ngx_process_cycle.c:477
> #19 0x0806efda in ngx_write_channel (s=676700200, ch=0x8071730, size=0,
> log=0x80d0c05)
> at src/os/unix/ngx_channel.c:74
> #20 0x08071348 in ngx_single_process_cycle (cycle=0x2855a028)
> at src/os/unix/ngx_process_cycle.c:294
> #21 0x080703eb in ngx_process_get_status () at src/os/unix/ngx_process.c:537
> #22 0x0804bc49 in main (argc=5, argv=0xbfbfee98) at src/core/nginx.c:337
> (gdb)
>
>
> --
> Best regards, Andrey Y. Ostanovsky
> jabberID: aost at jabber.spb.ru
> St. Petersburg, Russia
>
>
More information about the nginx-ru
mailing list