>Use
>
>gdb /path/to/replicator /path/to/core
>bt full
>
>Aki
>
root at bubba:/var/core# gdb /usr/lib/dovecot/replicator
/var/core/11199.replicator
GNU gdb (Ubuntu 8.1.1-0ubuntu1) 8.1.1
Copyright (C) 2018 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-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to
"word"...
Reading symbols from /usr/lib/dovecot/replicator...Reading symbols from
/usr/lib/debug/.build-id/63/bc9a0e025f7ecba8e4906abc177b978bf6c2ad.debug...done.
done.
[New LWP 11199]
Core was generated by `dovecot/replicator'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig at entry=6) at
../sysdeps/unix/sysv/linux/raise.c:51
51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt full
#0 __GI_raise (sig=sig at entry=6) at
../sysdeps/unix/sysv/linux/raise.c:51
set = {__val = {0, 1459, 1460, 94875967713912, 8,
140599001568843, 153, 140599001377356, 140727459487856, 120,
206158430224,
140727459488192, 140727459487984, 126291299233366272,
94875967713888, 140599001144598}}
pid = <optimized out>
tid = <optimized out>
ret = <optimized out>
#1 0x00007fdfc13a58b1 in __GI_abort () at abort.c:79
save_stage = 1
act = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction =
0x0}, sa_mask = {__val = {94875967711840, 18446744073709551615,
1073741824, 94875967583248, 140599001120139,
140599004035360, 140599001098972, 140599004035360, 126291299233366272,
140599004035336, 140599001376562, 140727459488192,
140599004035360, 140727459488192, 140599001376953, 140599004035360}},
sa_flags = -1048313238, sa_restorer = 0x5}
sigs = {__val = {32, 0 <repeats 15 times>}}
__cnt = <optimized out>
__set = <optimized out>
__cnt = <optimized out>
__set = <optimized out>
#2 0x00007fdfc184e9d1 in default_fatal_finish (status=0,
type=LOG_TYPE_PANIC) at failures.c:459
backtrace = 0x564a085a6a38
"/usr/lib/dovecot/libdovecot.so.0(backtrace_append+0x42)
[0x7fdfc1840142] -> /usr/lib/dovecot/libdovecot.so.0(backtrace_get+0x1e)
[0x7fdfc184025e] -> /usr/lib/dovecot/libdovecot.so.0(+0xf8a1e)
[0x7fdfc"...
backtrace = <optimized out>
recursed = 0
#3 fatal_handler_real (ctx=<optimized out>, format=<optimized out>,
args=<optimized out>) at failures.c:471
status = 0
#4 0x00007fdfc184eac1 in i_internal_fatal_handler (ctx=<optimized out>,
format=<optimized out>, args=<optimized out>) at failures.c:872
No locals.
#5 0x00007fdfc179b4a7 in i_panic (format=format at entry=0x7fdfc18b42d0
"data stack: Out of memory when allocating %zu bytes")
at failures.c:524
ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0,
timestamp_usecs = 0, log_prefix = 0x0, log_prefix_type_pos = 0}
---Type <return> to continue, or q <return> to quit---
args = {{gp_offset = 16, fp_offset = 48, overflow_arg_area =
0x7ffdaa3ba310, reg_save_area = 0x7ffdaa3ba250}}
#6 0x00007fdfc18474e8 in mem_block_alloc
(min_size=min_size at entry=2147483648) at data-stack.c:386
block = <optimized out>
prev_size = <optimized out>
alloc_size = 4294967296
#7 0x00007fdfc1847ae3 in t_malloc_real (size=size at entry=2147483648,
permanent=permanent at entry=true) at data-stack.c:492
block = <optimized out>
ret = <optimized out>
alloc_size = 2147483648
warn = false
#8 0x00007fdfc1847d6a in t_malloc_no0 (size=size at entry=2147483648) at
data-stack.c:543
No locals.
#9 0x00007fdfc1871f28 in pool_data_stack_realloc (pool=<optimized out>,
mem=0x7fdf6bd5c038, old_size=1073741824, new_size=2147483648)
at mempool-datastack.c:173
dpool = <optimized out>
new_mem = <optimized out>
pool = <optimized out>
new_size = 2147483648
mem = 0x7fdf6bd5c038
old_size = 1073741824
dpool = <optimized out>
new_mem = <optimized out>
dpool = <optimized out>
new_mem = <optimized out>
#10 0x00007fdfc1842aa3 in p_realloc (new_size=2147483648,
old_size=<optimized out>, mem=<optimized out>, pool=<optimized
out>)
at mempool.h:120
No locals.
#11 buffer_alloc (buf=buf at entry=0x564a08567838, size=2147483648) at
buffer.c:40
__func__ = "buffer_alloc"
---Type <return> to continue, or q <return> to quit---
#12 0x00007fdfc1842fb4 in buffer_check_limits (data_size=32,
pos=1073741792, buf=0x564a08567838) at buffer.c:85
new_alloc_size = <optimized out>
new_size = 1073741824
new_size = <optimized out>
max = <optimized out>
new_alloc_size = <optimized out>
#13 buffer_check_append_limits (data_size=32, buf=0x564a08567838) at
buffer.c:117
No locals.
#14 buffer_append (_buf=0x564a08567838, data=0x564a08587410,
data_size=32) at buffer.c:235
pos = 1073741792
buf = 0x564a08567838
#15 0x0000564a07e5a846 in array_append_i (count=1, data=0x564a08587410,
array=<synthetic pointer>) at ../../../src/lib/array.h:210
No locals.
#16 replicator_queue_handle_sync_lookups (user=0x564a0858e150,
queue=0x564a08579230) at replicator-queue.c:297
lookups = <optimized out>
i = 0
count = <optimized out>
success = 255
callbacks = <optimized out>
lookups = <optimized out>
callbacks = <optimized out>
i = <optimized out>
count = <optimized out>
success = <optimized out>
lookups_end = <optimized out>
#17 replicator_queue_push (queue=0x564a08579230, user=0x564a0858e150) at
replicator-queue.c:315
_data_stack_cur_id = 3
__func__ = "replicator_queue_push"
#18 0x0000564a07e59f67 in dsync_callback
(reply=reply at entry=DSYNC_REPLY_OK,
---Type <return> to continue, or q <return> to quit---
state=state at entry=0x564a08566810
"AQAAAL8U0AGFGqVhvmwAAJ21rMvByd9Nh6UAAJ9GAQ", 'A' <repeats
17 times>,
"VAAAAYKcGLvjedl0TdQAAnbWsyxHrcV0SHAAAcjg", 'A' <repeats 19
times>,
"ccAACYnq0Rti53XeMxAACdtazLJetxXQYAAAA/", 'A' <repeats 20
times>,
"BgAAAPD3Ggx2JXddiC0AAJ21"...,
context=context at entry=0x564a0858ae40) at replicator-brain.c:125
ctx = 0x564a0858ae40
user = 0x0
#19 0x0000564a07e5954b in dsync_callback (client=0x564a08591f20,
state=0x564a08566810
"AQAAAL8U0AGFGqVhvmwAAJ21rMvByd9Nh6UAAJ9GAQ",
'A' <repeats 17 times>,
"VAAAAYKcGLvjedl0TdQAAnbWsyxHrcV0SHAAAcjg", 'A'
<repeats 19 times>, "ccAACYnq0Rti53XeMxAACdtazLJetxXQYAAAA/",
'A'
<repeats 20 times>, "BgAAAPD3Ggx2JXddiC0AAJ21"...,
reply=DSYNC_REPLY_OK) at dsync-client.c:64
callback = 0x564a07e59ec0 <dsync_callback>
context = 0x564a0858ae40
#20 0x0000564a07e59732 in dsync_input_line (line=0x564a085677f0 "+",
client=0x564a08591f20) at dsync-client.c:131
state = 0x564a08566810
"AQAAAL8U0AGFGqVhvmwAAJ21rMvByd9Nh6UAAJ9GAQ", 'A' <repeats
17 times>,
"VAAAAYKcGLvjedl0TdQAAnbWsyxHrcV0SHAAAcjg", 'A' <repeats 19
times>,
"ccAACYnq0Rti53XeMxAACdtazLJetxXQYAAAA/", 'A' <repeats 20
times>,
"BgAAAPD3Ggx2JXddiC0AAJ21"...
state = <optimized out>
#21 dsync_input (client=0x564a08591f20) at dsync-client.c:154
line = <optimized out>
#22 0x00007fdfc1867699 in io_loop_call_io (io=0x564a08592000) at
ioloop.c:737
ioloop = 0x564a0856de60
t_id = 2
__func__ = "io_loop_call_io"
#23 0x00007fdfc1868ff4 in io_loop_handler_run_internal
(ioloop=ioloop at entry=0x564a0856de60) at ioloop-epoll.c:222
ctx = 0x564a085705c0
events = <optimized out>
event = <optimized out>
list = 0x564a0858a450
io = <optimized out>
tv = {tv_sec = 735, tv_usec = 883759}
events_count = <optimized out>
---Type <return> to continue, or q <return> to quit---
msecs = <optimized out>
ret = <optimized out>
i = 0
j = <optimized out>
call = <optimized out>
__func__ = "io_loop_handler_run_internal"
#24 0x00007fdfc18677a0 in io_loop_handler_run (ioloop=<optimized out>)
at ioloop.c:789
No locals.
#25 0x00007fdfc18679d8 in io_loop_run (ioloop=0x564a0856de60) at
ioloop.c:762
__func__ = "io_loop_run"
#26 0x00007fdfc17cda23 in master_service_run (service=0x564a0856dcc0,
callback=<optimized out>) at master-service.c:863
No locals.
#27 0x0000564a07e5881c in main (argc=<optimized out>, argv=<optimized
out>) at replicator.c:112
set_roots = {0x564a0805d920 <replicator_setting_parser_info>,
0x0}
error = 0x0
>