core dump при обновлении на лету

Andriy Tovstik andriy.tovstik на gmail.com
Ср Ноя 16 14:39:35 UTC 2016


Добрый день!

Столкнулся со следующей ситуацией.
Платформа:
# uname -a
SunOS sunos 5.11 11.3 i86pc i386 i86pc

Пытаюсь обновить бинарник на лету, согласно
http://nginx.org/ru/docs/control.html#upgrade
исходная версия nginx 1.11.3
целевой бинарник nginx 1.11.5

конфигурационный файл - дефолтный, без изменений.

опции сборки:
nginx version: nginx/1.11.3
built by gcc 4.8.2 (GCC)
configure arguments: --with-cc=gcc

nginx version: nginx/1.11.5
built by gcc 4.8.2 (GCC)
configure arguments: --with-cc=gcc

Как указано в мануале, заменяю бинарный файл, делаю
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
после чего nginx падает в core dump:

Backtrace:
GNU gdb (GDB) 7.6
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i386-pc-solaris2.11".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /export/home/at/Build/nginx-1.11.3/objs/nginx...done.
[New LWP 1]
[New LWP 1]
[Thread debugging using libthread_db enabled]
[New Thread 1 (LWP 1)]
Core was generated by `/usr/local/nginx/sbin/nginx -c
/usr/local/nginx/conf/nginx.conf'.
Program terminated with signal 11, Segmentation fault.
#0  0x0808f4c8 in ngx_signal_handler (signo=17) at
src/os/unix/ngx_process.c:329
329    action = "";
(gdb) bt full
#0  0x0808f4c8 in ngx_signal_handler (signo=17) at
src/os/unix/ngx_process.c:329
        action = 0x8068858 "he_key\" for \"scgi_cache\""
        ignore = 0
        err = 0
        sig = <optimized out>
#1  0x075499fe in call_user_handler () from /lib/libc.so.1
No symbol table info available.
#2  <signal handler called>
No symbol table info available.
#3  0x0755b565 in __sigsuspend () from /lib/libc.so.1
No symbol table info available.
#4  0x07547e0b in sigsuspend () from /lib/libc.so.1
No symbol table info available.
#5  0x08091d21 in ngx_master_process_cycle (cycle=cycle на entry=0x8114628) at
src/os/unix/ngx_process_cycle.c:163
        title = <optimized out>
        p = <optimized out>
        size = <optimized out>
        i = <optimized out>
        n = <optimized out>
        sigio = 0
        set = {__sigbits = {0, 0, 0, 0}}
        itv = {it_interval = {tv_sec = 7, tv_usec = 9}, it_value = {tv_sec
= 2, tv_usec = -16781864}}
        live = <optimized out>
        delay = 0
        ls = <optimized out>
        ccf = 0x81153b4
#6  0x08070f4f in main (argc=3, argv=0xfeffecac) at src/core/nginx.c:367
        b = <optimized out>
        log = <optimized out>
        i = <optimized out>
        cycle = 0x8114628
        init_cycle = {conf_ctx = 0x0, pool = 0x8113e00, log = 0x80f50e0
<ngx_log>, new_log = {log_level = 0, file = 0x0, connection = 0,
disk_full_time = 0, handler = 0x0, data = 0x0, writer = 0x0, wdata = 0x0,
action = 0x0, next = 0x0}, log_use_stderr = 0,
          files = 0x0, free_connections = 0x0, free_connection_n = 0,
modules = 0x0, modules_n = 0, modules_used = 0, reusable_connections_queue
= {prev = 0x0, next = 0x0}, listening = {elts = 0x0, nelts = 0, size = 0,
nalloc = 0, pool = 0x0}, paths = {elts = 0x0,
            nelts = 0, size = 0, nalloc = 0, pool = 0x0}, config_dump =
{elts = 0x0, nelts = 0, size = 0, nalloc = 0, pool = 0x0}, open_files =
{last = 0x0, part = {elts = 0x0, nelts = 0, next = 0x0}, size = 0, nalloc =
0, pool = 0x0}, shared_memory = {last = 0x0,
            part = {elts = 0x0, nelts = 0, next = 0x0}, size = 0, nalloc =
0, pool = 0x0}, connection_n = 0, files_n = 0, connections = 0x0,
read_events = 0x0, write_events = 0x0, old_cycle = 0x0, conf_file = {len =
32,
            data = 0xfeffedb7 "l/nginx/sbin/nginx -c
/usr/local/nginx/conf/nginx.conf", ' ' <repeats 146 times>...}, conf_param
= {len = 0, data = 0x0}, conf_prefix = {len = 22,
            data = 0xfeffedb7 "l/nginx/sbin/nginx -c
/usr/local/nginx/conf/nginx.conf", ' ' <repeats 146 times>...}, prefix =
{len = 17, data = 0x8068c39 "tream"}, lock_file = {len = 0, data = 0x0},
hostname = {len = 0, data = 0x0}}
        cd = <optimized out>
        ccf = 0x81153b4

что я делаю не правильно?
-- 
WBR, Andriy Tovstik
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20161116/51c2e918/attachment.html>


Подробная информация о списке рассылки nginx-ru