Welcome! Log In Create A New Profile

Advanced

Nginx Core dump(corrupted double-linked list)

Posted by heijiu 
heijiu
Nginx Core dump(corrupted double-linked list)
December 27, 2016 01:20PM
gdb /opt/nginx/sbin/nginx /tmp/core.29382
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-80.el7
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 "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
http://www.gnu.org/software/gdb/bugs/...
Reading symbols from /opt/nginx/sbin/nginx...done.
[New LWP 29382]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `nginx: worker process'.
Program terminated with signal 6, Aborted.
#0 0x00007f72fa7f41d7 in __GI_raise (sig=sig@entry=6) at
.../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
Missing separate debuginfos, use: debuginfo-install
keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.13.2-12.el7_2.x86_64
libcom_err-1.42.9-7.el7.x86_64 libgcc-4.8.5-4.el7.x86_64
libselinux-2.5-6.el7.x86_64 nss-softokn-freebl-3.16.2.3-14.2.el7_2.x86_64
openssl-libs-1.0.1e-51.el7_2.7.x86_64 pcre-8.32-15.el7_2.1.x86_64
zlib-1.2.7-15.el7.x86_64
(gdb) backtrace full
#0 0x00007f72fa7f41d7 in __GI_raise (sig=sig@entry=6) at
.../nptl/sysdeps/unix/sysv/linux/raise.c:56
resultvar = 0
pid = 29382
selftid = 29382
#1 0x00007f72fa7f58c8 in __GI_abort () at abort.c:90
save_stage = 2
act = {__sigaction_handler = {sa_handler = 0x7fff690e197a,
sa_sigaction = 0x7fff690e197a}, sa_mask = {__val = {6, 140131806992327, 2,
140734955919758, 2, 140131806983591, 1,
140131806992323, 3, 140734955919732, 12, 140131806992327, 2,
140734955920544, 140734955920544, 140734955922304}}, sa_flags = 23,
sa_restorer = 0x7fff690e1ea0}
sigs = {__val = {32, 0 <repeats 15 times>}}
#2 0x00007f72fa833f07 in __libc_message (do_abort=do_abort@entry=2,
fmt=fmt@entry=0x7f72fa93eb48 "*** Error in `%s': %s: 0x%s ***\n") at
.../sysdeps/unix/sysv/linux/libc_fatal.c:196
ap = {{gp_offset = 40, fp_offset = 48, overflow_arg_area =
0x7fff690e2390, reg_save_area = 0x7fff690e22a0}}
ap_copy = {{gp_offset = 16, fp_offset = 48, overflow_arg_area =
0x7fff690e2390, reg_save_area = 0x7fff690e22a0}}
fd = 2
on_2 = <optimized out>
list = <optimized out>
nlist = <optimized out>
cp = <optimized out>
written = <optimized out>
#3 0x00007f72fa839da4 in malloc_printerr (action=<optimized out>,
str=0x7f72fa93c1f7 "corrupted double-linked list", ptr=<optimized out>,
ar_ptr=<optimized out>) at malloc.c:5013
buf = "0000000001604b80"
cp = <optimized out>
ar_ptr = <optimized out>
ptr = <optimized out>
str = 0x7f72fa93c1f7 "corrupted double-linked list"
action = <optimized out>
#4 0x00007f72fa83b595 in _int_free (av=0x7f72fab79760 <main_arena>,
p=0x1602b70, have_lock=0) at malloc.c:3993
size = 8208
fb = <optimized out>
nextchunk = 0x1604b80
nextsize = 608
nextinuse = <optimized out>
prevsize = <optimized out>
---Type <return> to continue, or q <return> to quit---
bck = <optimized out>
fwd = <optimized out>
errstr = 0x0
locked = <optimized out>
#5 0x0000000000413fa5 in ngx_destroy_pool (pool=0x169a730) at
src/core/ngx_palloc.c:90
p = 0x1602b80
n = 0x0
l = 0x0
c = 0x0
#6 0x0000000000470260 in ngx_http_free_request (r=0x169a780, rc=0) at
src/http/ngx_http_request.c:3494
log = 0x1605420
pool = 0x169a730
linger = {l_onoff = 1762534672, l_linger = 32767}
cln = 0x0
ctx = 0x16054c8
clcf = 0x16044b0
#7 0x000000000046edfa in ngx_http_set_keepalive (r=0x169a780) at
src/http/ngx_http_request.c:2896
tcp_nodelay = 32767
i = 4830762
b = 0x153b120
f = 0x7fff690e2540
rev = 0x15c9d70
wev = 0x169a780
c = 0x1596de0
hc = 0x1605480
cscf = 0x0
clcf = 0x155f2f0
#8 0x000000000046e2a9 in ngx_http_finalize_connection (r=0x169a780) at
src/http/ngx_http_request.c:2545
clcf = 0x155f2f0
#9 0x000000000046def5 in ngx_http_finalize_request (r=0x169a780, rc=0) at
src/http/ngx_http_request.c:2441
c = 0x1596de0
pr = 0x1
---Type <return> to continue, or q <return> to quit---
clcf = 0x0
#10 0x000000000048b2d2 in ngx_http_upstream_finalize_request (r=0x169a780,
u=0x169b8f0, rc=0) at src/http/ngx_http_upstream.c:4217
flush = 0
#11 0x000000000048a360 in ngx_http_upstream_process_request (r=0x169a780,
u=0x169b8f0) at src/http/ngx_http_upstream.c:3806
tf = 0x15cac10
p = 0x169bd60
#12 0x000000000048a09e in ngx_http_upstream_process_upstream (r=0x169a780,
u=0x169b8f0) at src/http/ngx_http_upstream.c:3733
rev = 0x15cac10
p = 0x169bd60
c = 0x1599000
#13 0x00000000004887d4 in ngx_http_upstream_send_response (r=0x169a780,
u=0x169b8f0) at src/http/ngx_http_upstream.c:3001
tcp_nodelay = 0
n = 7382200
rc = 0
p = 0x169bd60
c = 0x1596de0
clcf = 0x155f2f0
#14 0x00000000004868f1 in ngx_http_upstream_process_header (r=0x169a780,
u=0x169b8f0) at src/http/ngx_http_upstream.c:2190
n = 2168
rc = 0
c = 0x1599000
#15 0x0000000000484566 in ngx_http_upstream_handler (ev=0x15cac10) at
src/http/ngx_http_upstream.c:1117
c = 0x1596de0
r = 0x169a780
u = 0x169b8f0
#16 0x000000000044d9fe in ngx_epoll_process_events (cycle=0x1536c30,
timer=500, flags=1) at src/event/modules/ngx_epoll_module.c:822
events = 1
revents = 8197
instance = 0
i = 0
level = 4462210
err = 0
---Type <return> to continue, or q <return> to quit---
rev = 0x15cac10
wev = 0x15e1cc0
queue = 0x717f80 <ngx_event_timer_sentinel>
c = 0x1599000
#17 0x000000000043db8d in ngx_process_events_and_timers (cycle=0x1536c30) at
src/event/ngx_event.c:242
flags = 1
timer = 500
delta = 1482827685782
#18 0x000000000044b547 in ngx_worker_process_cycle (cycle=0x1536c30,
data=0x1) at src/os/unix/ngx_process_cycle.c:753
worker = 1
#19 0x0000000000447e43 in ngx_spawn_process (cycle=0x1536c30, proc=0x44b452
<ngx_worker_process_cycle>, data=0x1, name=0x4e2ef3 "worker process",
respawn=1) at src/os/unix/ngx_process.c:198
on = 1
pid = 0
s = 1
#20 0x000000000044aff3 in ngx_reap_children (cycle=0x1536c30) at
src/os/unix/ngx_process_cycle.c:621
i = 1
n = 8
live = 1
ch = {command = 2, pid = 22219, slot = 1, fd = -1}
ccf = 0x716d24 <cached_http_log_time+324>
#21 0x0000000000449c10 in ngx_master_process_cycle (cycle=0x1536c30) at
src/os/unix/ngx_process_cycle.c:174
title = 0x158bd1c "master process /opt/nginx/sbin/nginx"
p = 0x158bd40 ""
size = 37
i = 1
n = 140734955924112
sigio = 0
set = {__val = {0 <repeats 16 times>}}
itv = {it_interval = {tv_sec = 140734955924112, tv_usec =
140131829646774}, it_value = {tv_sec = 14, tv_usec = 25}}
live = 1
delay = 0
ls = 0x0
---Type <return> to continue, or q <return> to quit---
ccf = 0x1538738
#22 0x00000000004101d9 in main (argc=1, argv=0x7fff690e2df8) at
src/core/nginx.c:367
b = 0x0
log = 0x715880 <ngx_log>
i = 0
cycle = 0x1536c30
init_cycle = {conf_ctx = 0x0, pool = 0x1535f50, log = 0x715880
<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 = 26, data = 0x1535fa0 "\002"}, conf_param
= {len = 0, data = 0x0}, conf_prefix = {
len = 16, data = 0x1535fa0 "\002"}, prefix = {len = 11, data =
0x4de686 "/opt/nginx/"}, lock_file = {len = 0, data = 0x0}, hostname = {len
= 0, data = 0x0}}
cd = 0x4dda40 <__libc_csu_init>
ccf = 0x1538738

Posted at Nginx Forum: https://forum.nginx.org/read.php?2,271720,271720#msg-271720

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Maxim Dounin
Re: Nginx Core dump(corrupted double-linked list)
December 27, 2016 02:30PM
Hello!

On Tue, Dec 27, 2016 at 07:11:00AM -0500, heijiu wrote:

> gdb /opt/nginx/sbin/nginx /tmp/core.29382
> GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-80.el7
> 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 "x86_64-redhat-linux-gnu".
> For bug reporting instructions, please see:
> http://www.gnu.org/software/gdb/bugs/...
> Reading symbols from /opt/nginx/sbin/nginx...done.
> [New LWP 29382]
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib64/libthread_db.so.1".
> Core was generated by `nginx: worker process'.
> Program terminated with signal 6, Aborted.

[...]

What "nginx -V" shows?
What's in the configuration?

Hint: the very first step is to make sure the problem is not
introduced by a 3rd party module.

--
Maxim Dounin
http://nginx.org/
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Sorry, only registered users may post in this forum.

Click here to login