knot 1.5.0-dev (89fa8efb) stuck in main() when compiled with TSan
It might be problem of ThreadSanitizer, but I think it's worth investigating anyway:
Log file:
Feb 24 13:11:14 pagan.rfc1925.org systemd[1]: Starting Knot DNS server...
Feb 24 13:11:14 pagan.rfc1925.org systemd[1]: Started Knot DNS server.
Feb 24 13:11:14 pagan.rfc1925.org knotd[10125]: 2014-02-24T13:11:14 Reading configuration '/etc/knot/knot.conf' ...
Feb 24 13:11:14 pagan.rfc1925.org knot[10125]: Knot DNS 1.5.0-dev starting.
Feb 24 13:11:14 pagan.rfc1925.org knot[10125]: Binding to interface 89.187.130.14@53.
Feb 24 13:11:14 pagan.rfc1925.org knot[10125]: Binding to interface 2a01:5f0:1006::57ec:c685@53.
Feb 24 13:11:14 pagan.rfc1925.org knot[10125]: Configured 2 interfaces and 20 zones.
thread apply all bt full
:
(gdb) thread apply all bt full
Thread 2 (Thread 0x7f01c1fff700 (LWP 10128)):
#0 0x00007f01c34d0c0d in nanosleep () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1 0x00007f01c34d0ab1 in sleep () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#2 0x00007f01c4fc7314 in __interceptor_sleep () at /home/ondrej/Projects/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:240
No locals.
#3 0x00007f01c501780d in BackgroundThread () at /home/ondrej/Projects/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_rtl.cc:145
No locals.
#4 0x00007f01c40eae0e in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#5 0x00007f01c35000fd in clone () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
Thread 1 (Thread 0x7f01c4e8a600 (LWP 10125)):
#0 0x00007f01c40ea775 in __nptl_setxid () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#1 0x00007f01c34cddda in setgroups () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#2 0x00007f01c50309aa in proc_update_privileges (uid=111, gid=116) at ../../src/knot/ctl/process.c:142
pw = 0x7f01c5024ca4 <_start>
ret = 0
zone = 0x0
#3 0x00007f01c5025bbf in main (argc=3, argv=0x7fff1a0ae9d8) at ../../src/knot/main.c:285
c = -1
li = 0
verbose = 0
daemonize = 0
config_fn = 0x7d080000ef60 "/etc/knot/knot.conf"
daemon_root = 0x0
opts = {{name = 0x7f01c512cab0 <.L.str9> "config", has_arg = 1, flag = 0x0, val = 99}, {name = 0x7f01c512cab7 "daemonize", has_arg = 2, flag = 0x0, val = 100}, {
name = 0x7f01c512cac1 "verbose", has_arg = 0, flag = 0x0, val = 118}, {name = 0x7f01c512cac9 "version", has_arg = 0, flag = 0x0, val = 86}, {name = 0x7f01c512cad1 "help", has_arg = 0,
flag = 0x0, val = 104}, {name = 0x0, has_arg = 0, flag = 0x0, val = 0}}
server = {state = 0, zone_db = 0x0, opt_rr = 0x7d080000d860, tu_size = 4, xfr = 0x7d200000bf80, handler = {{n = {next = 0x0, prev = 0x0}, server = 0x7fff1a0ae6c0, unit = 0x7d3c0000d980,
thread_state = 0x7d040000f200}, {n = {next = 0x0, prev = 0x0}, server = 0x7fff1a0ae6c0, unit = 0x7d3c0000d890, thread_state = 0x7d0c0000e9a0}}, iosched = 0x7d3c0000ef10, sched = {
running = false, last_ev = 0x0, run_lock = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0, __next = 0x0}},
__size = '\000' <repeats 39 times>, __align = 0}, heap_lock = {__data = {__lock = 0, __count = 0, __owner = 0, __nusers = 0, __kind = 0, __spins = 0, __list = {__prev = 0x0,
__next = 0x0}}, __size = '\000' <repeats 39 times>, __align = 0}, notify = {__data = {__lock = 0, __futex = 0, __total_seq = 0, __wakeup_seq = 0, __woken_seq = 0, __mutex = 0x0,
__nwaiters = 0, __broadcast_seq = 0}, __size = '\000' <repeats 47 times>, __align = 0}, heap = {num = 0, max_size = 512, cmp = 0x7f01c5094c70 <compare_event_heap_nodes>,
data = 0x7d840001cc00}, ctx = 0x7fff1a0ae6c0}, ifaces = 0x7d100000df40, rrl = 0x0}
res = 0
emptyset = {__sigaction_handler = {sa_handler = 0x7f01c5024dd0 <interrupt_handle>, sa_sigaction = 0x7f01c5024dd0 <interrupt_handle>}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0,
sa_restorer = 0x0}
conf_ret = 0
pid = 21474836480
pidf = 0x7f01c4f666e8 "\266["
cwd = 0x7f01c3427cf0 ""