unbound-1.19.0 alloc_reg_obtain() core dumps

Sami Kerola kerolasa at iki.fi
Wed Jan 31 13:59:19 UTC 2024


Hello,

I am working for Cloudflare where we seem to have a problem with
unbound-1.19.0.  Estimated time in between crashes is around 450 days on a
single server.  Cloudflare has lots of servers, and reasonable queries going
through systems, which means we see these crashes frequently enough that
this is a real problem.

By quickly looking the backtraces it looks like allocator is receiving a
null pointer and failing to follow ->next via that pointer.  Something
somewhere earlier must have gone a bit wrong the pointer to be what it is.
This is where better expertise would be helpful.

To assist debug here are some backtrace samples.  They do not have
absolutely all frames, but hopefully enough context to figure out how to
move forward with debugging if not even fix the issue.

Some what interestingly the second to last frame is on line
services/mesh.c:568 in three first samples but daemon/worker.c:2395 in last
one.  I wonder if this a concurrency bug.

-- the bt -full samples --

#0  0x00005618c813fb21 in alloc_reg_obtain (alloc=0x5618ca1f3c90) at
util/alloc.c:333
        r = 0x0
#1  mesh_state_create (env=0x5618ca68d218, qinfo=0x7fffef530ba0,
cinfo=0x0, qflags=256, prime=0, valrec=0) at services/mesh.c:824
        region = <optimized out>
        mstate = <optimized out>
        i = <optimized out>
#2  0x00005618c81d2789 in mesh_new_callback.constprop.0
(mesh=0x5618cd665270, qinfo=qinfo at entry=0x7fffef530ba0,
edns=edns at entry=0x7fffef530e40, buf=buf at entry=0x5618cd675b20,
cb=cb at entry=0x5618c817b1f0 <auth_xfer_probe_lookup_callback>,
cb_arg=cb_arg at entry=0x5618ca1f29e0, rpz_passthru=0, qid=0, qflags=256)
at services/mesh.c:568
        s = <optimized out>
        unique = 0
        timeout = 0
        was_detached = 0
        was_noreply = 0
        added = 0
#3  0x00005618c817a683 in xfr_probe_lookup_host (env=0x5618ca68d218,
xfr=0x5618ca1f29e0) at services/authzone.c:6630
        master = 0x5618ca1f2d10
        qinfo = {qname = 0x7fffef530c40 "\001f\froot-servers\003net",
qname_len = 20, qtype = 28, qclass = 1, local_alias = 0x0}
        qflags = 256
        dname =
"\001f\froot-servers\003net\000\001\000\000\000@\fS\357\377\177\000\000\000\000\000\000\000\000\000\000\270\322\205\312\030V\000\000\024\000\000\000\000\000\000\000\004\000\000\000\030V",
'\000' <repeats 18 times>,
"\001\000\205\312\030V\000\000\230\320\205\312\030V\000\000`\017S\357\377\177\000\000X\323\205\312\030V\000\000\230\320\205\312\030V\000\000vl\023\310\030V",
'\000' <repeats 90 times>...
        edns = {ext_rcode = 0 '\000', edns_version = 0 '\000', bits =
32768, udp_size = 65535, opt_list_in = 0x0, opt_list_out = 0x0,
opt_list_inplace_cb_out = 0x0, padding_block_size = 0, edns_present =
1, cookie_present = 0, cookie_valid = 0, cookie_client = 0}
        buf = 0x5618cd675b20
        addr = {ss_family = 2,
          __ss_padding = "\0005", '\000' <repeats 20 times>,
"<\346\022t\003\000\000\000\004\000\000\000\003\000\000\0004\fS\357\377\177\000\000H\320\205\312\030V\000\000\220ch\315\030V\000\000\003\000\000\000\000\000\000\000`\017S\357\377\177\000\000h\017S\357\377\177\000\000X\323\205\312\030V\000\000\000\000\000\000\000\000\000\000\005\b\023\310\030V\000\000\000\000\000\000\002\000\000",
__ss_align = 94664525374352}
        addrlen = 16
        addr = <optimized out>
        addrlen = <optimized out>
        master = <optimized out>
        qinfo = <optimized out>
        qflags = <optimized out>
        dname = <optimized out>
        edns = <optimized out>
        buf = <optimized out>
        buf1 = <optimized out>
        buf2 = <optimized out>
        lockret_err = <optimized out>
        lockret_err = <optimized out>
        lockret_err = <optimized out>
#4  xfr_probe_send_or_end (xfr=0x5618ca1f29e0, env=0x5618ca68d218) at
services/authzone.c:6646
No locals.
#5  0x00005618c81394b0 in mesh_do_callback (m=m at entry=0x5618ca85d048,
rcode=<optimized out>, rep=rep at entry=0x5618ca85d4c8, r=0x5618ca85d2d0,
start_time=start_time at entry=0x7fffef5310f0) at services/mesh.c:1215
        udp_size = 65535
        secure = <optimized out>
        reason = <optimized out>
        was_ratelimited = 0
        __func__ = "mesh_do_callback"
#6  0x00005618c813a70b in mesh_query_done
(mstate=mstate at entry=0x5618ca85d048) at services/mesh.c:1553
        r = <optimized out>
        prev = <optimized out>
        prev_buffer = <optimized out>
        c = <optimized out>
        rep = <optimized out>
        tv = {tv_sec = 0, tv_usec = 0}
        i = <optimized out>
#7  0x00005618c813ed98 in mesh_continue (ev=<synthetic pointer>,
s=module_finished, mstate=0x5618ca85d048, mesh=0x5618cd665270) at
services/mesh.c:1813
        qinfo = 0x0
        opt_list = 0x0
        qflags = <optimized out>
        rpz_p = 0
        addr = {ss_family = 0, __ss_padding = '\000' <repeats 117
times>, __ss_align = 0}
        __func__ = <optimized out>
#8  mesh_run (mesh=0x5618cd665270, mstate=0x5618ca85d048,
ev=<optimized out>, e=0x0) at services/mesh.c:1874
        s = module_finished
        __func__ = "mesh_run"
#9  0x00005618c81d27af in mesh_new_callback.constprop.0
(mesh=0x5618cd665270, qinfo=qinfo at entry=0x7fffef5312b0,
edns=edns at entry=0x7fffef531550, buf=buf at entry=0x5618cd675b20,
cb=cb at entry=0x5618c817b1f0 <auth_xfer_probe_lookup_callback>,
cb_arg=cb_arg at entry=0x5618ca1f29e0, rpz_passthru=0, qid=0, qflags=256)
at services/mesh.c:623
        s = 0x5618ca85d048
        unique = <optimized out>
        timeout = 0
        was_detached = 1
        was_noreply = 1
        added = 1
#10 0x00005618c817a683 in xfr_probe_lookup_host (env=0x5618ca68d218,
xfr=0x5618ca1f29e0) at services/authzone.c:6630
        master = 0x5618ca1f2d10
        qinfo = {qname = 0x7fffef531350 "\001f\froot-servers\003net",
qname_len = 20, qtype = 1, qclass = 1, local_alias = 0x0}
        qflags = 256
        dname =
"\001f\froot-servers\003net\000\001\000\000\000P\023S\357\377\177\000\000\000\000\000\000\000\000\000\000\260\321\202\312\030V\000\000\024\000\000\000\000\000\000\000\004\000\000\000\030V",
'\000' <repeats 18 times>,
"\001\000\202\312\030V\000\000\220\317\202\312\030V\000\000p\026S\357\377\177\000\000P\322\202\312\030V\000\000\220\317\202\312\030V\000\000vl\023\310\030V",
'\000' <repeats 90 times>...
        edns = {ext_rcode = 0 '\000', edns_version = 0 '\000', bits =
32768, udp_size = 65535, opt_list_in = 0x0, opt_list_out = 0x0,
opt_list_inplace_cb_out = 0x0, padding_block_size = 0, edns_present =
1, cookie_present = 0, cookie_valid = 0, cookie_client = 0}
        buf = 0x5618cd675b20
        addr = {ss_family = 2,
          __ss_padding = "\0005", '\000' <repeats 20 times>,
"<\346\022t\003\000\000\000\004\000\000\000\003\000\000\000D\023S\357\377\177\000\000@\317\202\312\030V\000\000\220ch\315\030V\000\000\003\000\000\000\000\000\000\000p\026S\357\377\177\000\000x\026S\357\377\177\000\000P\322\202\312\030V\000\000\000\000\000\000\000\000\000\000\005\b\023\310\030V\000\000\000\000\000\000\002\000\000",
__ss_align = 94664525374352}
[...]



(gdb) bt -full
#0  0x000055898c582b21 in alloc_reg_obtain (alloc=0x55898dc41ca0) at
util/alloc.c:333
        r = 0x0
#1  mesh_state_create (env=0x55898e0db228, qinfo=0x7ffc904b6d30,
cinfo=0x0, qflags=256, prime=0, valrec=0) at services/mesh.c:824
        region = <optimized out>
        mstate = <optimized out>
        i = <optimized out>
#2  0x000055898c615789 in mesh_new_callback.constprop.0
(mesh=0x5589910b3280, qinfo=qinfo at entry=0x7ffc904b6d30,
edns=edns at entry=0x7ffc904b6fd0, buf=buf at entry=0x5589910c3b30,
cb=cb at entry=0x55898c5be1f0 <auth_xfer_probe_lookup_callback>,
cb_arg=cb_arg at entry=0x55898dc409f0, rpz_passthru=0, qid=0, qflags=256)
at services/mesh.c:568
        s = <optimized out>
        unique = 0
        timeout = 0
        was_detached = 0
        was_noreply = 0
        added = 0
#3  0x000055898c5bd683 in xfr_probe_lookup_host (env=0x55898e0db228,
xfr=0x55898dc409f0) at services/authzone.c:6630
        master = 0x55898dc40cc0
        qinfo = {qname = 0x7ffc904b6dd0 "\001e\froot-servers\003net",
qname_len = 20, qtype = 28, qclass = 1, local_alias = 0x0}
        qflags = 256
        dname =
"\001e\froot-servers\003net\000\001\000\000\000\320mK\220\374\177\000\000\000\000\000\000\000\000\000\000\260\270+\216\211U\000\000\024\000\000\000\000\000\000\000\004\000\000\000\211U",
'\000' <repeats 18 times>,
"\001\000+\216\211U\000\000\220\266+\216\211U\000\000\360pK\220\374\177\000\000P\271+\216\211U\000\000\220\266+\216\211U\000\000v\234W\214\211U",
'\000' <repeats 90 times>...
        edns = {ext_rcode = 0 '\000', edns_version = 0 '\000', bits =
32768, udp_size = 65535, opt_list_in = 0x0, opt_list_out = 0x0,
opt_list_inplace_cb_out = 0x0, padding_block_size = 0, edns_present =
1, cookie_present = 0, cookie_valid = 0, cookie_client = 1}
        buf = 0x5589910c3b30
        addr = {ss_family = 2,
          __ss_padding = "\0005", '\000' <repeats 20 times>,
"<\026Wt\003\000\000\000\004\000\000\000\003\000\000\000\304mK\220\374\177\000\000@\266+\216\211U\000\000\240C\r\221\211U\000\000\003\000\000\000\000\000\000\000\360pK\220\374\177\000\000\370pK\220\374\177\000\000P\271+\216\211U\000\000\000\000\000\000\000\000\000\000\0058W\214\211U\000\000\000\000\000\000\002\000\000",
__ss_align = 94049332446112}
        addrlen = 16
        addr = <optimized out>
        addrlen = <optimized out>
        master = <optimized out>
        qinfo = <optimized out>
        qflags = <optimized out>
        dname = <optimized out>
        edns = <optimized out>
        buf = <optimized out>
        buf1 = <optimized out>
        buf2 = <optimized out>
        lockret_err = <optimized out>
        lockret_err = <optimized out>
        lockret_err = <optimized out>
#4  xfr_probe_send_or_end (xfr=0x55898dc409f0, env=0x55898e0db228) at
services/authzone.c:6646
No locals.
#5  0x000055898c57c4b0 in mesh_do_callback (m=m at entry=0x55898e2bb640,
rcode=<optimized out>, rep=rep at entry=0x55898e2bbac0, r=0x55898e2bb8c8,
start_time=start_time at entry=0x7ffc904b7280) at services/mesh.c:1215
        udp_size = 65535
        secure = <optimized out>
        reason = <optimized out>
        was_ratelimited = 0
        __func__ = "mesh_do_callback"
#6  0x000055898c57d70b in mesh_query_done
(mstate=mstate at entry=0x55898e2bb640) at services/mesh.c:1553
        r = <optimized out>
        prev = <optimized out>
        prev_buffer = <optimized out>
        c = <optimized out>
        rep = <optimized out>
        tv = {tv_sec = 0, tv_usec = 0}
        i = <optimized out>
#7  0x000055898c581d98 in mesh_continue (ev=<synthetic pointer>,
s=module_finished, mstate=0x55898e2bb640, mesh=0x5589910b3280) at
services/mesh.c:1813
        qinfo = 0x0
        opt_list = 0x0
        qflags = <optimized out>
        rpz_p = 0
        addr = {ss_family = 0, __ss_padding = '\000' <repeats 117
times>, __ss_align = 0}
        __func__ = <optimized out>
#8  mesh_run (mesh=0x5589910b3280, mstate=0x55898e2bb640,
ev=<optimized out>, e=0x0) at services/mesh.c:1874
        s = module_finished
        __func__ = "mesh_run"
#9  0x000055898c6157af in mesh_new_callback.constprop.0
(mesh=0x5589910b3280, qinfo=qinfo at entry=0x7ffc904b7440,
edns=edns at entry=0x7ffc904b76e0, buf=buf at entry=0x5589910c3b30,
cb=cb at entry=0x55898c5be1f0 <auth_xfer_probe_lookup_callback>,
cb_arg=cb_arg at entry=0x55898dc409f0, rpz_passthru=0, qid=0, qflags=256)
at services/mesh.c:623
        s = 0x55898e2bb640
        unique = <optimized out>
        timeout = 0
        was_detached = 1
        was_noreply = 1
        added = 1
[...]



(gdb) bt full
#0  0x000055807cd46b21 in alloc_reg_obtain (alloc=0x55807e9089b0) at
util/alloc.c:333
        r = 0x0
#1  mesh_state_create (env=0x55807ed4ed08, qinfo=0x7fffa45fadd0,
cinfo=0x0, qflags=256, prime=0, valrec=0) at services/mesh.c:824
        region = <optimized out>
        mstate = <optimized out>
        i = <optimized out>
#2  0x000055807cdd9789 in mesh_new_callback.constprop.0
(mesh=0x558081d26e00, qinfo=qinfo at entry=0x7fffa45fadd0,
edns=edns at entry=0x7fffa45fb070, buf=buf at entry=0x558081d376b0,
cb=cb at entry=0x55807cd821f0 <auth_xfer_probe_lookup_callback>,
cb_arg=cb_arg at entry=0x55807e914020, rpz_passthru=0, qid=0, qflags=256)
at services/mesh.c:568
        s = <optimized out>
        unique = 0
        timeout = 0
        was_detached = 0
        was_noreply = 0
        added = 0
#3  0x000055807cd81683 in xfr_probe_lookup_host (env=0x55807ed4ed08,
xfr=0x55807e914020) at services/authzone.c:6630
        master = 0x55807e9073c0
        qinfo = {qname = 0x7fffa45fae70 "\001f\froot-servers\003net",
qname_len = 20, qtype = 28, qclass = 1, local_alias = 0x0}
        qflags = 256
        dname =
"\001f\froot-servers\003net\000\001\000\000\000p\256_\244\377\177\000\000\000\000\000\000\000\000\000\000\330\255\362~\200U\000\000\024\000\000\000\000\000\000\000\004\000\000\000\200U",
'\000' <repeats 18 times>,
"\001\000\362~\200U\000\000\270\253\362~\200U\000\000\220\261_\244\377\177\000\000x\256\362~\200U\000\000\270\253\362~\200U\000\000v\334\323|\200U",
'\000' <repeats 90 times>...
        edns = {ext_rcode = 0 '\000', edns_version = 0 '\000', bits =
32768, udp_size = 65535, opt_list_in = 0x0, opt_list_out = 0x0,
opt_list_inplace_cb_out = 0x0, padding_block_size = 0, edns_present =
1, cookie_present = 0, cookie_valid = 0, cookie_client = 0}
        buf = 0x558081d376b0
        addr = {ss_family = 2,
          __ss_padding = "\0005", '\000' <repeats 20 times>,
"<V\323t\003\000\000\000\004\000\000\000\003\000\000\000d\256_\244\377\177\000\000h\253\362~\200U\000\000
\177\324\201\200U\000\000\003\000\000\000\000\000\000\000\220\261_\244\377\177\000\000\230\261_\244\377\177\000\000x\256\362~\200U\000\000\000\000\000\000\000\000\000\000\005x\323|\200U\000\000\000\000\000\000\002\000\000",
__ss_align = 94010422361888}
        addrlen = 16
        addr = <optimized out>
        addrlen = <optimized out>
        master = <optimized out>
        qinfo = <optimized out>
        qflags = <optimized out>
        dname = <optimized out>
        edns = <optimized out>
        buf = <optimized out>
        buf1 = <optimized out>
        buf2 = <optimized out>
        lockret_err = <optimized out>
        lockret_err = <optimized out>
        lockret_err = <optimized out>
#4  xfr_probe_send_or_end (xfr=0x55807e914020, env=0x55807ed4ed08) at
services/authzone.c:6646
No locals.
#5  0x000055807cd404b0 in mesh_do_callback (m=m at entry=0x55807ef2ab68,
rcode=<optimized out>, rep=rep at entry=0x55807ef2afe8, r=0x55807ef2adf0,
start_time=start_time at entry=0x7fffa45fb320) at services/mesh.c:1215
        udp_size = 65535
        secure = <optimized out>
        reason = <optimized out>
        was_ratelimited = 0
        __func__ = "mesh_do_callback"
#6  0x000055807cd4170b in mesh_query_done
(mstate=mstate at entry=0x55807ef2ab68) at services/mesh.c:1553
        r = <optimized out>
        prev = <optimized out>
        prev_buffer = <optimized out>
        c = <optimized out>
        rep = <optimized out>
        tv = {tv_sec = 0, tv_usec = 0}
        i = <optimized out>
#7  0x000055807cd45d98 in mesh_continue (ev=<synthetic pointer>,
s=module_finished, mstate=0x55807ef2ab68, mesh=0x558081d26e00) at
services/mesh.c:1813
        qinfo = 0x0
        opt_list = 0x0
        qflags = <optimized out>
        rpz_p = 0
        addr = {ss_family = 0, __ss_padding = '\000' <repeats 117
times>, __ss_align = 0}
        __func__ = <optimized out>
#8  mesh_run (mesh=0x558081d26e00, mstate=0x55807ef2ab68,
ev=<optimized out>, e=0x0) at services/mesh.c:1874
        s = module_finished
        __func__ = "mesh_run"
#9  0x000055807cdd97af in mesh_new_callback.constprop.0
(mesh=0x558081d26e00, qinfo=qinfo at entry=0x7fffa45fb4e0,
edns=edns at entry=0x7fffa45fb780, buf=buf at entry=0x558081d376b0,
cb=cb at entry=0x55807cd821f0 <auth_xfer_probe_lookup_callback>,
cb_arg=cb_arg at entry=0x55807e914020, rpz_passthru=0, qid=0, qflags=256)
at services/mesh.c:623
        s = 0x55807ef2ab68
        unique = <optimized out>
        timeout = 0
        was_detached = 1
        was_noreply = 1
        added = 1
#10 0x000055807cd81683 in xfr_probe_lookup_host (env=0x55807ed4ed08,
xfr=0x55807e914020) at services/authzone.c:6630
        master = 0x55807e9073c0
        qinfo = {qname = 0x7fffa45fb580 "\001f\froot-servers\003net",
qname_len = 20, qtype = 1, qclass = 1, local_alias = 0x0}
        qflags = 256
        dname =
"\001f\froot-servers\003net\000\001\000\377\377\200\265_\244\377\177\000\000\000\000\000\000\f\000\000\000\340\354\357~\200U\000\000\024\000\000\000\000\000\000\000\004\000\000\000\200U\000\000@\266_\244\377\177\000\000\377\275\363L\202\177\000\000\001\000\357~\200U\000\000\300\352\357~\200U\000\000\240\270_\244\377\177\000\000\200\355\357~\200U\000\000\300\352\357~\200U\000\000v\334\323|\200U\000\000\034j\371L\202\177\000\000\005\000\000\000\000\000\000\000+\364\326\201\200U\000\000\020\000\000\000\000\000\000\000\377\377\377\377\377\377\377\377+\364\326\201\200U\000\000\340\327\006M\202\177\000\000\020\000\000\000\000\000\000\000\034j\371L\202\177\000\000"...
        edns = {ext_rcode = 0 '\000', edns_version = 0 '\000', bits =
32768, udp_size = 65535, opt_list_in = 0x0, opt_list_out = 0x0,
opt_list_inplace_cb_out = 0x0, padding_block_size = 0, edns_present =
1, cookie_present = 0, cookie_valid = 0, cookie_client = 0}
        buf = 0x558081d376b0
        addr = {ss_family = 2,
          __ss_padding = "\0005", '\000' <repeats 20 times>,
"<V\323t\003\000\000\000\004\000\000\000\003\000\000\000t\265_\244\377\177\000\000p\352\357~\200U\000\000
\177\324\201\200U\000\000\003\000\000\000\000\000\000\000\240\270_\244\377\177\000\000\250\270_\244\377\177\000\000\200\355\357~\200U\000\000\000\000\000\000\000\000\000\000\005x\323|\200U\000\000O\022\367L\002\000\000",
__ss_align = 94010422361888}
        addrlen = 16
        addr = <optimized out>
        addrlen = <optimized out>
        master = <optimized out>
        qinfo = <optimized out>
        qflags = <optimized out>
        dname = <optimized out>
[...]



#0  0x00005561119b9be4 in alloc_reg_obtain (alloc=0x556112b209b0) at
util/alloc.c:333
        r = 0x0
#1  outnet_serviced_query (callback=<optimized out>,
was_ratelimited=0x7ffe214998d8, env=0x556112f66d08,
buff=0x5561156a6760, callback_arg=0x556113112460,
qstate=0x55611310eaa0, zonelen=18, zone=0x55611310eed8
"\froot-servers\003net", addrlen=28, addr=0x7ffe214998e0,
tls_auth_name=0x0, ssl_upstream=0, tcp_upstream=0, check_ratelimit=1,
nocaps=0, want_dnssec=0, dnssec=32784,
    flags=0, qinfo=0x55611310ee40, outnet=<optimized out>) at
services/outside_network.c:3410
        sq = <optimized out>
        region = <optimized out>
        timenow = 0
        cb = <optimized out>
        client_string_addr = <optimized out>
        backed_up_opt_list = 0x0
        per_upstream_opt_list = 0x0
        sq = <optimized out>
        cb = <optimized out>
        client_string_addr = <optimized out>
        region = <optimized out>
        backed_up_opt_list = <optimized out>
        per_upstream_opt_list = <optimized out>
        timenow = <optimized out>
#2  worker_send_query (qinfo=0x55611310ee40, flags=<optimized out>,
dnssec=32784, want_dnssec=0, nocaps=0, check_ratelimit=1,
addr=0x7ffe214998e0, addrlen=28, zone=0x55611310eed8
"\froot-servers\003net", zonelen=18, tcp_upstream=0, ssl_upstream=0,
tls_auth_name=0x0, q=0x55611310eaa0, was_ratelimited=0x7ffe214998d8)
at daemon/worker.c:2395
        worker = <optimized out>
        e = 0x556113112460
#3  0x00005561119d46ce in processQueryTargets (qstate=<optimized out>,
iq=0x55611310ed28, ie=<optimized out>, id=<optimized out>) at
iterator/iterator.c:2906
        tf_policy = <optimized out>
        target = <optimized out>
        outq = <optimized out>
        real_addr = {ss_family = 10, __ss_padding =
"\0005\000\000\000\000
\001\005\003\f'\000\000\000\000\000\000\000\002\0000\000\000\000\000\000\000\000\000\000\020
\001\005\003\r-\000\000\000\000\000\000\000\000\0000\021\023aU\000\000\000\020\021\023aU\000\000\220\f\021\023aU\000\000\220\f\021\023aU\000\000\002\000\0005\3000O\036",
'\000' <repeats 31 times>, __ss_align = 0}
        real_addrlen = 28
        auth_fallback = 1
        qout_orig = <optimized out>
        qout_orig_len = <optimized out>
        sq_check_ratelimit = 1
        sq_was_ratelimited = 0
        can_do_promisc = <optimized out>
        __func__ = "processQueryTargets"
#4  0x00005561119da97e in iter_handle (qstate=<optimized out>,
iq=0x55611310ed28, ie=0x556112b2b3d0, id=1) at
iterator/iterator.c:4031
        cont = 1
#5  0x00005561119e6760 in mesh_run (mesh=0x556115f3ee00,
mstate=0x55611310ea50, ev=<optimized out>, e=<optimized out>) at
services/mesh.c:1864
        s = <optimized out>
        __func__ = "mesh_run"
#6  0x0000556111a7a7af in mesh_new_callback.constprop.0
(mesh=0x556115f3ee00, qinfo=qinfo at entry=0x7ffe2149a140,
edns=edns at entry=0x7ffe2149a3e0, buf=buf at entry=0x556115f4f6b0,
cb=cb at entry=0x556111a231f0 <auth_xfer_probe_lookup_callback>,
cb_arg=cb_arg at entry=0x556112b1f6b0, rpz_passthru=0, qid=0, qflags=256)
at services/mesh.c:623
        s = 0x55611310ea50
        unique = <optimized out>
        timeout = 0
        was_detached = 1
        was_noreply = 1
        added = 1
#7  0x0000556111a22683 in xfr_probe_lookup_host (env=0x556112f66d08,
xfr=0x556112b1f6b0) at services/authzone.c:6630
        master = 0x556112b1f980
        qinfo = {qname = 0x7ffe2149a1e0 "\001e\froot-servers\003net",
qname_len = 20, qtype = 1, qclass = 1, local_alias = 0x0}
        qflags = 256
        dname =
"\001e\froot-servers\003net\000aU\000\000S%\241\021aU\000\000\340\355\362\025aU\000\000
\356\362\025\000\000\000\000`\244I!\376\177", '\000' <repeats 18
times>, " \356\362\025aU\000\000\020\257\020\023aU\000\000
\242I!\376\177\000\000\260\366\364\025aU\000\0000\242I!\376\177\000\000\000\000\000\000\000\000\000\0008\261\020\023aU\000\000\000\000\000\000\000\000\000\000\020\257\020\023aU\000\000
\356\362\025aU\000\000\027)\241\021aU\000\000
\356\362\025aU\000\000`\262\020\023aU\000\000X\262\020\023aU\000\000\227K\241\021aU\000\000,\243I!\376\177\000\000"...
        edns = {ext_rcode = 0 '\000', edns_version = 0 '\000', bits =
32768, udp_size = 65535, opt_list_in = 0x0, opt_list_out = 0x0,
opt_list_inplace_cb_out = 0x0, padding_block_size = 0, edns_present =
1, cookie_present = 0, cookie_valid = 0, cookie_client = 0}
        buf = 0x556115f4f6b0
        addr = {ss_family = 2,
          __ss_padding = "\0005", '\000' <repeats 12 times>, "
\356\362\025aU\000\000\300\356\362\025aU\000\000
\356\362\025aU\000\0000\242I!\376\177\000\0000\242I!\376\177\000\000\200\306\257\021aU\000\000(\242I!\376\177\000\000\t#\241\021aU\000\000`\244I!\376\177\000\000
\356\362\025aU\000\000`\244I!\376\177\000\000Zy\237\021aU\000\000\000\000\000\000\000\000\000",
          __ss_align = 93875420049720}
        addrlen = 16
        addr = <optimized out>
        addrlen = <optimized out>
        master = <optimized out>
        qinfo = <optimized out>
        qflags = <optimized out>
        dname = <optimized out>
        edns = <optimized out>
        buf = <optimized out>
        buf1 = <optimized out>
        buf2 = <optimized out>
        lockret_err = <optimized out>
        lockret_err = <optimized out>
        lockret_err = <optimized out>
#8  xfr_probe_send_or_end (xfr=0x556112b1f6b0, env=0x556112f66d08) at
services/authzone.c:6646
No locals.

#9  0x00005561119e14b0 in mesh_do_callback (m=m at en=0x556113102a20,
# rcode=<optimized out>, rep=rep at entry=0x556113106688, r=0x556113102ca8,
# start_time=start_time at entry=0x7ffe2149a690) at services/mesh.c:1215

        udp_size = 65535
        secure = <optimized out>
        reason = <optimized out>
        was_ratelimited = 0
        __func__ = "mesh_do_callback"
#10 0x00005561119e270b in mesh_query_done
(mstate=mstate at entry=0x556113102a20) at services/mesh.c:1553
        r = <optimized out>
        prev = <optimized out>
        prev_buffer = <optimized out>
        c = <optimized out>
        rep = <optimized out>
        tv = {tv_sec = 0, tv_usec = 0}
        i = <optimized out>
#11 0x00005561119e6d98 in mesh_continue (ev=<synthetic pointer>,
s=module_finished, mstate=0x556113102a20, mesh=0x556115f3ee00) at
services/mesh.c:1813
        qinfo = 0x0
        opt_list = 0x0
        qflags = <optimized out>
        rpz_p = 0
        addr = {ss_family = 0, __ss_padding = '\000' <repeats 117
times>, __ss_align = 0}
        __func__ = <optimized out>
[...]

Cheers, Sami

--
Sami Kerola
https://kerolasa.iki.fi/


More information about the Unbound-users mailing list