Package: dnsmasq-base
Version: 2.86-1.1
Severity: important

Hello,

I have been using dnsmasq for ages but it recenty broke, probably with
the ugrade from 2.85. Occassionaly dnsmasq ist stuck at 100% CPU and
does not respond to queries or the TERM signal, only kill -9 seems  to
work.

I have rebuilt locally with nostrip to get some info:
-----
root@argenau:~# gdb /usr/sbin/dnsmasq 563
GNU gdb (Debian 10.1-2) 10.1.90.20210103-git
Copyright (C) 2021 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:
<https://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/sbin/dnsmasq...
Attaching to program: /usr/sbin/dnsmasq, process 563
Reading symbols from /lib/x86_64-linux-gnu/libdbus-1.so.3...
Download failed: Function not implemented.  Continuing without debug info for 
/lib/x86_64-linux-gnu/libdbus-1.so.3.
(No debugging symbols found in /lib/x86_64-linux-gnu/libdbus-1.so.3)
Reading symbols from /usr/lib/x86_64-linux-gnu/libidn2.so.0...
Download failed: Function not implemented.  Continuing without debug info for 
/u--Type <RET> for more, q to quit, c to continue without paging--
sr/lib/x86_64-linux-gnu/libidn2.so.0.
(No debugging symbols found in /usr/lib/x86_64-linux-gnu/libidn2.so.0)
Reading symbols from /usr/lib/x86_64-linux-gnu/libnetfilter_conntrack.so.3...
Download failed: Function not implemented.  Continuing without debug info for 
/usr/lib/x86_64-linux-gnu/libnetfilter_conntrack.so.3.
(No debugging symbols found in 
/usr/lib/x86_64-linux-gnu/libnetfilter_conntrack.so.3)
Reading symbols from /usr/lib/x86_64-linux-gnu/libnettle.so.8...
Download failed: Function not implemented.  Continuing without debug info for 
/usr/lib/x86_64-linux-gnu/libnettle.so.8.
(No debugging symbols found in /usr/lib/x86_64-linux-gnu/libnettle.so.8)
Reading symbols from /usr/lib/x86_64-linux-gnu/libhogweed.so.6...
Download failed: Function not implemented.  Continuing without debug info for 
/usr/lib/x86_64-linux-gnu/libhogweed.so.6.
(No debugging symbols found in /usr/lib/x86_64-linux-gnu/libhogweed.so.6)
Reading symbols from /usr/lib/x86_64-linux-gnu/libgmp.so.10...
Download failed: Function not implemented.  Continuing without debug info for 
/usr/lib/x86_64-linux-gnu/libgmp.so.10.
(No debugging symbols found in /usr/lib/x86_64-linux-gnu/libgmp.so.10)
Reading symbols from /lib/x86_64-linux-gnu/libc.so.6...
Download failed: Function not implemented.  Continuing without debug info for 
/lib/x86_64-linux-gnu/libc.so.6.
(No debugging symbols found in /lib/x86_64-linux-gnu/libc.so.6)
--Type <RET> for more, q to quit, c to continue without paging--
Reading symbols from /lib/x86_64-linux-gnu/libpthread.so.0...
Download failed: Function not implemented.  Continuing without debug info for 
/lib/x86_64-linux-gnu/libpthread.so.0.
(No debugging symbols found in /lib/x86_64-linux-gnu/libpthread.so.0)
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Reading symbols from /usr/lib/x86_64-linux-gnu/libsystemd.so.0...
Download failed: Function not implemented.  Continuing without debug info for 
/usr/lib/x86_64-linux-gnu/libsystemd.so.0.
(No debugging symbols found in /usr/lib/x86_64-linux-gnu/libsystemd.so.0)
Reading symbols from /usr/lib/x86_64-linux-gnu/libunistring.so.2...
Download failed: Function not implemented.  Continuing without debug info for 
/usr/lib/x86_64-linux-gnu/libunistring.so.2.
(No debugging symbols found in /usr/lib/x86_64-linux-gnu/libunistring.so.2)
Reading symbols from /usr/lib/x86_64-linux-gnu/libnfnetlink.so.0...
Download failed: Function not implemented.  Continuing without debug info for 
/usr/lib/x86_64-linux-gnu/libnfnetlink.so.0.
(No debugging symbols found in /usr/lib/x86_64-linux-gnu/libnfnetlink.so.0)
Reading symbols from /usr/lib/x86_64-linux-gnu/libmnl.so.0...
Download failed: Function not implemented.  Continuing without debug info for 
/usr/lib/x86_64-linux-gnu/libmnl.so.0.
(No debugging symbols found in /usr/lib/x86_64-linux-gnu/libmnl.so.0)
Reading symbols from /lib64/ld-linux-x86-64.so.2...
--Type <RET> for more, q to quit, c to continue without paging--
Download failed: Function not implemented.  Continuing without debug info for 
/lib64/ld-linux-x86-64.so.2.
(No debugging symbols found in /lib64/ld-linux-x86-64.so.2)
Reading symbols from /lib/x86_64-linux-gnu/librt.so.1...
Download failed: Function not implemented.  Continuing without debug info for 
/lib/x86_64-linux-gnu/librt.so.1.
(No debugging symbols found in /lib/x86_64-linux-gnu/librt.so.1)
Reading symbols from /lib/x86_64-linux-gnu/liblzma.so.5...
Download failed: Function not implemented.  Continuing without debug info for 
/lib/x86_64-linux-gnu/liblzma.so.5.
(No debugging symbols found in /lib/x86_64-linux-gnu/liblzma.so.5)
Reading symbols from /usr/lib/x86_64-linux-gnu/libzstd.so.1...
Download failed: Function not implemented.  Continuing without debug info for 
/usr/lib/x86_64-linux-gnu/libzstd.so.1.
(No debugging symbols found in /usr/lib/x86_64-linux-gnu/libzstd.so.1)
Reading symbols from /usr/lib/x86_64-linux-gnu/liblz4.so.1...
Download failed: Function not implemented.  Continuing without debug info for 
/usr/lib/x86_64-linux-gnu/liblz4.so.1.
(No debugging symbols found in /usr/lib/x86_64-linux-gnu/liblz4.so.1)
Reading symbols from /lib/x86_64-linux-gnu/libcap.so.2...
Download failed: Function not implemented.  Continuing without debug info for 
/lib/x86_64-linux-gnu/libcap.so.2.
(No debugging symbols found in /lib/x86_64-linux-gnu/libcap.so.2)
--Type <RET> for more, q to quit, c to continue without paging--
Reading symbols from /usr/lib/x86_64-linux-gnu/libgcrypt.so.20...
Download failed: Function not implemented.  Continuing without debug info for 
/usr/lib/x86_64-linux-gnu/libgcrypt.so.20.
(No debugging symbols found in /usr/lib/x86_64-linux-gnu/libgcrypt.so.20)
Reading symbols from /lib/x86_64-linux-gnu/libgpg-error.so.0...
Download failed: Function not implemented.  Continuing without debug info for 
/lib/x86_64-linux-gnu/libgpg-error.so.0.
(No debugging symbols found in /lib/x86_64-linux-gnu/libgpg-error.so.0)
Reading symbols from /lib/x86_64-linux-gnu/libnss_files.so.2...
Download failed: Function not implemented.  Continuing without debug info for 
/lib/x86_64-linux-gnu/libnss_files.so.2.
(No debugging symbols found in /lib/x86_64-linux-gnu/libnss_files.so.2)
Download failed: Function not implemented.  Continuing without debug info for 
/root/system-supplied DSO at 0x7fff061d3000.
forward_query (udpfd=4, udpaddr=udpaddr@entry=0x7fff0613fe30, 
    dst_addr=dst_addr@entry=0x7fff0613fe10, dst_iface=dst_iface@entry=0, 
    header=header@entry=0x5642f3fd61b0, plen=plen@entry=31, 
    limit=0x5642f3fd63b0 "", now=1639290341, forward=0x5642f3fe6d30, 
    ad_reqd=1, do_bit=0) at ./debian/build/no-lua/forward.c:337
Download failed: Function not implemented.  Continuing without source file 
./debian/build/no-lua/./debian/build/no-lua/forward.c.
337     ./debian/build/no-lua/forward.c: No such file or directory.
(gdb) bt full
#0  forward_query (udpfd=4, udpaddr=udpaddr@entry=0x7fff0613fe30, 
    dst_addr=dst_addr@entry=0x7fff0613fe10, dst_iface=dst_iface@entry=0, 
    header=header@entry=0x5642f3fd61b0, plen=plen@entry=31, 
    limit=0x5642f3fd63b0 "", now=1639290341, forward=0x5642f3fe6d30, 
    ad_reqd=1, do_bit=0) at ./debian/build/no-lua/forward.c:337
        is_sign = -201498161
        pheader = 0x0
        flags = 0
        fwd_flags = <optimized out>
        is_dnssec = 0
        master = <optimized out>
        gotname = 128
        hash = <optimized out>
        oph = 0x0
        old_src = 1
        first = 22082
        last = -201498192
        start = 0
        subnet = 12
        cacheable = 0
        forwarded = 0
        edns0_len = 94845561299407
        pheader = 0x5642f3fd61cf ""
        ede = -1
#1  0x00005642f2923ebe in receive_query (listen=listen@entry=0x5642f3fdec30, 
    now=now@entry=1639290341) at ./debian/build/no-lua/forward.c:1636
        ad_reqd = 1
        header = 0x5642f3fd61b0
        source_addr = {sa = {sa_family = 2, 
            sa_data = "\341\025\177\000\000\001\000\000\000\000\000\000\000"}, 
          in = {sin_family = 2, sin_port = 5601, sin_addr = {
              s_addr = 16777343}, sin_zero = "\000\000\000\000\000\000\000"}, 
          in6 = {sin6_family = 2, sin6_port = 5601, sin6_flowinfo = 16777343, 
            sin6_addr = {__in6_u = {
                __u6_addr8 = "\000\000\000\000\000\000\000\000䕵a\000\000\000", 
__u6_addr16 = {0, 0, 0, 0, 38372, 25013, 0, 0}, __u6_addr32 = {0, 0, 
                  1639290340, 0}}}, sin6_scope_id = 4093500320}}
        pheader = 0x5642f29243b8 <return_reply+376> 
"1\366L\211\351\213{8H\213\005\251\210\004"
        type = 1
        udp_size = <optimized out>
        dst_addr = {addr4 = {s_addr = 16777343}, addr6 = {__in6_u = {
              __u6_addr8 = "\177\000\000\001BV\000\000\060\067\376\363BV\000", 
              __u6_addr16 = {127, 256, 22082, 0, 14128, 62462, 22082, 0}, 
              __u6_addr32 = {16777343, 22082, 4093523760, 22082}}}, cname = {
            target = {cache = 0x56420100007f, 
              name = 0x56420100007f <error: Cannot access memory at address 
0x56420100007f>}, uid = 4093523760, is_name_ptr = 22082}, key = {
            keydata = 0x56420100007f, keylen = 14128, flags = 62462, 
            keytag = 22082, algo = 0 '\000'}, ds = {keydata = 0x56420100007f, 
            keylen = 14128, keytag = 62462, algo = 66 'B', digest = 86 'V'}, 
          srv = {target = 0x56420100007f, targetlen = 14128, srvport = 62462, 
            priority = 22082, weight = 0}, log = {keytag = 127, algo = 256, 
            digest = 22082, rcode = 0, ede = -201443536}}
        netmask = {s_addr = <optimized out>}
        dst_addr_4 = {s_addr = 16777343}
        m = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--c
        n = 31
        if_index = 0
        auth_dns = 0
        do_bit = 0
        have_pseudoheader = <optimized out>
        mark = 0
        have_mark = <optimized out>
        is_single_query = <optimized out>
        allowed = <optimized out>
        local_auth = <optimized out>
        iov = {{iov_base = 0x5642f3fd61b0, iov_len = 4096}}
        msg = {msg_name = 0x7fff0613fe30, msg_namelen = 16, msg_iov = 
0x7fff0613fe20, msg_iovlen = 1, msg_control = 0x7fff0613fe50, msg_controllen = 
0, msg_flags = 0}
        cmptr = <optimized out>
        control_u = {align = {cmsg_len = 94845561295840, cmsg_level = 
-225395900, cmsg_type = 16280, __cmsg_data = 0x7fff0613fe60 "\020"}, control6 = 
"\340S\375\363BV\000\000D\273\220\362\230?\000\000\020\000\000\000\003\000\000\000\005",
 '\000' <repeats 14 times>, control = 
"\340S\375\363BV\000\000D\273\220\362\230?\000\000\020\000\000\000\003\000\000\000\005\000\000\000\000\000\000"}
        family = <optimized out>
        check_dst = <optimized out>
#2  0x00005642f292901b in check_dns_listeners (now=now@entry=1639290341) at 
./debian/build/no-lua/dnsmasq.c:1810
        serverfdp = <optimized out>
        listener = 0x5642f3fdec30
        rfl = <optimized out>
        i = <optimized out>
        pipefd = {1, 0}
#3  0x00005642f2909526 in main (argc=<optimized out>, argv=<optimized out>) at 
./debian/build/no-lua/dnsmasq.c:1237
        timeout = <optimized out>
        bind_fallback = 0
        now = 1639290341
        sigact = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1}, 
sa_mask = {__val = {0, 48, 37, 140265041952771, 10, 249108103209, 0, 
206158430211, 0, 0, 0, 472446402651, 511101108348, 140267950717856, 1, 37}}, 
sa_flags = 0, sa_restorer = 0x0}
        if_tmp = <optimized out>
        piperead = <optimized out>
        pipefd = {9, 10}
        err_pipe = {11, 12}
        ent_pw = 0x7f92ad607420
        script_uid = 0
        script_gid = 0
        gp = <optimized out>
        i = <optimized out>
        max_fd = <optimized out>
        baduser = <optimized out>
        log_err = 0
        chown_warn = 0
        hdr = 0x5642f3fde160
        data = <optimized out>
        need_cap_net_admin = <optimized out>
        need_cap_net_raw = <optimized out>
        need_cap_net_bind_service = <optimized out>
        bound_device = 0x0
        did_bind = 0
        serv = <optimized out>
        netlink_warn = <optimized out>
        context = <optimized out>
        relay = <optimized out>
        tftp_prefix_missing = 0
        capsize = <optimized out>
        fail = <optimized out>
(gdb) info registers
rax            0x5642f3fe6d30      94845561367856
rbx            0x1                 1
rcx            0x5642f3fd53e0      94845561295840
rdx            0x0                 0
rsi            0x7fff0613fe30      140733295361584
rdi            0x5642f3fe5f40      94845561364288
rbp            0x5642f3fe6d30      0x5642f3fe6d30
rsp            0x7fff0613fc70      0x7fff0613fc70
r8             0x1                 1
r9             0x0                 0
r10            0x0                 0
r11            0x0                 0
r12            0x5642f3fe5f40      94845561364288
r13            0x7fff0613fe30      140733295361584
r14            0x7fff0613fe30      140733295361584
r15            0x5642f3fd61b0      94845561299376
rip            0x5642f2922a7a      0x5642f2922a7a <forward_query+314>
eflags         0x206               [ PF IF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0
(gdb) x/16i $pc
=> 0x5642f2922a7a <forward_query+314>:  test   %rax,%rax
   0x5642f2922a7d <forward_query+317>:
    jne    0x5642f2922a70 <forward_query+304>
   0x5642f2922a7f <forward_query+319>:  mov    0x180(%rbp),%rsi
   0x5642f2922a86 <forward_query+326>:  mov    0x178(%rbp),%rdi
   0x5642f2922a8d <forward_query+333>:  mov    %r15,%rdx
   0x5642f2922a90 <forward_query+336>:
    call   0x5642f294fce0 <blockdata_retrieve>
   0x5642f2922a95 <forward_query+341>:
    mov    0x4a1d4(%rip),%rax        # 0x5642f296cc70 <dnsmasq_daemon>
   0x5642f2922a9c <forward_query+348>:  xor    %ecx,%ecx
   0x5642f2922a9e <forward_query+350>:  mov    %r15,%rdi
   0x5642f2922aa1 <forward_query+353>:  mov    0x180(%rbp),%rbx
   0x5642f2922aa8 <forward_query+360>:  mov    0x438(%rax),%rdx
   0x5642f2922aaf <forward_query+367>:  mov    %rbx,%rsi
   0x5642f2922ab2 <forward_query+370>:  mov    %rbx,0x8(%rsp)
   0x5642f2922ab7 <forward_query+375>:  call   0x5642f2910820 <extract_request>
   0x5642f2922abc <forward_query+380>:  xor    %r9d,%r9d
   0x5642f2922abf <forward_query+383>:  xor    %edx,%edx
(gdb) thread apply all backtrace

Thread 1 (Thread 0x7f92acd0ffc0 (LWP 563) "dnsmasq"):
#0  forward_query (udpfd=4, udpaddr=udpaddr@entry=0x7fff0613fe30, 
dst_addr=dst_addr@entry=0x7fff0613fe10, dst_iface=dst_iface@entry=0, 
header=header@entry=0x5642f3fd61b0, plen=plen@entry=31, limit=0x5642f3fd63b0 
"", now=1639290341, forward=0x5642f3fe6d30, ad_reqd=1, do_bit=0) at 
./debian/build/no-lua/forward.c:337
#1  0x00005642f2923ebe in receive_query (listen=listen@entry=0x5642f3fdec30, 
now=now@entry=1639290341) at ./debian/build/no-lua/forward.c:1636
#2  0x00005642f292901b in check_dns_listeners (now=now@entry=1639290341) at 
./debian/build/no-lua/dnsmasq.c:1810
#3  0x00005642f2909526 in main (argc=<optimized out>, argv=<optimized out>) at 
./debian/build/no-lua/dnsmasq.c:1237
(gdb) info program
        Using the running image of attached Thread 0x7f92acd0ffc0 (LWP 563).
Program stopped at 0x5642f2922a7a.
Type "info stack" or "info registers" for more information.
(gdb) info stack
#0  forward_query (udpfd=4, udpaddr=udpaddr@entry=0x7fff0613fe30, 
    dst_addr=dst_addr@entry=0x7fff0613fe10, dst_iface=dst_iface@entry=0, 
    header=header@entry=0x5642f3fd61b0, plen=plen@entry=31, 
    limit=0x5642f3fd63b0 "", now=1639290341, forward=0x5642f3fe6d30, 
    ad_reqd=1, do_bit=0) at ./debian/build/no-lua/forward.c:337
#1  0x00005642f2923ebe in receive_query (listen=listen@entry=0x5642f3fdec30, 
    now=now@entry=1639290341) at ./debian/build/no-lua/forward.c:1636
#2  0x00005642f292901b in check_dns_listeners (now=now@entry=1639290341)
    at ./debian/build/no-lua/dnsmasq.c:1810
#3  0x00005642f2909526 in main (argc=<optimized out>, argv=<optimized out>)
    at ./debian/build/no-lua/dnsmasq.c:1237
(gdb) info registers
rax            0x5642f3fe6d30      94845561367856
rbx            0x1                 1
rcx            0x5642f3fd53e0      94845561295840
rdx            0x0                 0
rsi            0x7fff0613fe30      140733295361584
rdi            0x5642f3fe5f40      94845561364288
rbp            0x5642f3fe6d30      0x5642f3fe6d30
rsp            0x7fff0613fc70      0x7fff0613fc70
r8             0x1                 1
r9             0x0                 0
r10            0x0                 0
r11            0x0                 0
r12            0x5642f3fe5f40      94845561364288
r13            0x7fff0613fe30      140733295361584
r14            0x7fff0613fe30      140733295361584
r15            0x5642f3fd61b0      94845561299376
rip            0x5642f2922a7a      0x5642f2922a7a <forward_query+314>
eflags         0x206               [ PF IF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0
(gdb) continue
Continuing.
Program terminated with signal SIGKILL, Killed.
The program no longer exists.

-----

cu Andreas

-- System Information:
Debian Release: bookworm/sid
  APT prefers testing-debug
  APT policy: (500, 'testing-debug'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.15.0-2-amd64 (SMP w/4 CPU threads)
Locale: LANG=de_AT.UTF-8, LC_CTYPE=de_AT.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages dnsmasq-base depends on:
ii  adduser                  3.118
ii  libc6                    2.32-5
ii  libdbus-1-3              1.12.20-3
ii  libgmp10                 2:6.2.1+dfsg-3
ii  libhogweed6              3.7.3-1
ii  libidn2-0                2.3.2-2
ii  libnetfilter-conntrack3  1.0.8-3
ii  libnettle8               3.7.3-1

Versions of packages dnsmasq-base recommends:
ii  dns-root-data  2021011101

dnsmasq-base suggests no packages.

-- debconf-show failed
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'

Reply via email to