Control: retitle -1 pdns-server: pdns_control list-zones (no filters) segfaults pdns?
An unrelated run with journalctl -f& revealed:
-- >8 --
nabijaczleweli@szarotka:/etc/powerdns$ sudo pdns_control list-zones
nabijaczleweli@szarotka:/etc/powerdns$ Aug 26 23:17:13 szarotka sudo[17695]: nabijaczleweli : TTY=pts/2 ; PWD=/etc/powerdns ; USER=root ; COMMAND=/bin/pdns_control list-zones
Aug 26 23:17:13 szarotka sudo[17695]: pam_unix(sudo:session): session opened for user root(uid=0) by (uid=1000)
Aug 26 23:17:13 szarotka pdns_server[17668]: Got a signal 11, attempting to print trace:
Aug 26 23:17:13 szarotka pdns_server[17668]: /usr/sbin/pdns_server(+0x14d282) [0x56776282]
Aug 26 23:17:13 szarotka pdns_server[17668]: /lib/x86_64-linux-gnux32/libc.so.6(+0x35160) [0xf705f160]
Aug 26 23:17:13 szarotka pdns_server[17668]: /lib/x86_64-linux-gnux32/libc.so.6(+0x166d40) [0xf7190d40]
Aug 26 23:17:13 szarotka pdns_server[17668]: /lib/x86_64-linux-gnux32/libstdc++.so.6(_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci+0x4f) [0xf732387f]
Aug 26 23:17:13 szarotka pdns_server[17668]: /lib/x86_64-linux-gnux32/libstdc++.so.6(_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_i+0x16f) [0xf731648f]
Aug 26 23:17:13 szarotka pdns_server[17668]: /usr/sbin/pdns_server(_Z11DLListZonesRKSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS5_EEi+0x5aa) [0x5682c38a]
Aug 26 23:17:13 szarotka pdns_server[17668]: /usr/sbin/pdns_server(_ZN11DynListener11theListenerEv+0x41a) [0x5683536a]
Aug 26 23:17:13 szarotka pdns_server[17668]: /lib/x86_64-linux-gnux32/libstdc++.so.6(+0xbe2b5) [0xf72be2b5]
Aug 26 23:17:13 szarotka pdns_server[17668]: /lib/x86_64-linux-gnux32/libc.so.6(+0x8215b) [0xf70ac15b]
Aug 26 23:17:13 szarotka pdns_server[17668]: /lib/x86_64-linux-gnux32/libc.so.6(__clone+0x40) [0xf712be10]
Aug 26 23:17:14 szarotka sudo[17695]: pam_unix(sudo:session): session closed for user root
Aug 26 23:17:14 szarotka systemd[1]: pdns.service: Main process exited, code=killed, status=6/ABRT
Aug 26 23:17:14 szarotka systemd[1]: pdns.service: Failed with result 'signal'.
Aug 26 23:17:15 szarotka systemd[1]: pdns.service: Scheduled restart job, restart counter is at 5.
Aug 26 23:17:15 szarotka systemd[1]: Starting pdns.service - PowerDNS Authoritative Server...
Aug 26 23:17:15 szarotka pdns_server[17707]: Loading '/usr/lib/x86_64-linux-gnux32/pdns/libbindbackend.so'
Aug 26 23:17:15 szarotka pdns_server[17707]: This is a standalone pdns
Aug 26 23:17:15 szarotka pdns_server[17707]: Listening on controlsocket in '/run/pdns/pdns.controlsocket'
Aug 26 23:17:15 szarotka pdns_server[17707]: UDP server bound to
0.0.0.0:53
Aug 26 23:17:15 szarotka pdns_server[17707]: TCP server bound to
0.0.0.0:53
Aug 26 23:17:15 szarotka pdns_server[17707]: PowerDNS Authoritative Server 4.7.1 (C) 2001-2022 PowerDNS.COM BV
Aug 26 23:17:15 szarotka pdns_server[17707]: Using 32-bits mode. Built using gcc 12.2.0.
Aug 26 23:17:15 szarotka pdns_server[17707]: PowerDNS comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it according to the terms of the GPL version 2.
Aug 26 23:17:15 szarotka pdns_server[17707]: [bindbackend] Parsing 1 domain(s), will report when done
Aug 26 23:17:15 szarotka pdns_server[17707]: [bindbackend] Done parsing domains, 0 rejected, 1 new, 0 removed
Aug 26 23:17:15 szarotka pdns_server[17707]: Creating backend connection for TCP
Aug 26 23:17:15 szarotka pdns_server[17707]: Only asked for 1 backend thread - operating unthreaded
Aug 26 23:17:15 szarotka systemd[1]: Started pdns.service - PowerDNS Authoritative Server.
-- >8 --
Installed -dbgsyms, attached debugger, got
-- >8 --
Thread 2 "pdns/ctrlListen" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xf5ddc900 (LWP 20241)]
__memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memmove-ssse3.S:90
90 ../sysdeps/x86_64/multiarch/memmove-ssse3.S: No such file or directory.
(gdb) bt
#0 __memcpy_ssse3 () at ../sysdeps/x86_64/multiarch/memmove-ssse3.S:90
#1 0xf732387f in std::char_traits<char>::copy (__n=5, __s2=0x0, __s1=<optimized out>)
at /build/gcc-13-wGgrWt/gcc-13-13.2.0/build/x86_64-linux-gnux32/libstdc++-v3/include/bits/char_traits.h:445
#2 std::basic_streambuf<char, std::char_traits<char> >::xsputn (this=0xf5ddba04, __s=0x0, __n=37)
at /build/gcc-13-wGgrWt/gcc-13-13.2.0/build/x86_64-linux-gnux32/libstdc++-v3/include/bits/streambuf.tcc:90
#3 0xf731648f in std::basic_streambuf<char, std::char_traits<char> >::sputn (__n=37, __s=0x0, this=<optimized out>)
at /build/gcc-13-wGgrWt/gcc-13-13.2.0/build/x86_64-linux-gnux32/libstdc++-v3/include/streambuf:457
#4 std::__ostream_write<char, std::char_traits<char> > (__n=37, __s=0x0, __out=...)
at /build/gcc-13-wGgrWt/gcc-13-13.2.0/build/x86_64-linux-gnux32/libstdc++-v3/include/bits/ostream_insert.h:53
#5 std::__ostream_insert<char, std::char_traits<char> > (__out=..., __s=0x0, __n=37)
at /build/gcc-13-wGgrWt/gcc-13-13.2.0/build/x86_64-linux-gnux32/libstdc++-v3/include/bits/ostream_insert.h:104
#6 0x5676538a in std::operator<< <char, std::char_traits<char>, std::allocator<char> > (__str=..., __os=...)
at /usr/include/c++/12/bits/basic_string.h:233
#7 DLListZones (parts=..., ppid=<optimized out>) at ./pdns/dynhandler.cc:403
#8 0x5676e36a in DynListener::theListener (this=<optimized out>) at ./pdns/dynlistener.cc:347
#9 0xf72be2b5 in std::execute_native_thread_routine (__p=0x58326a10)
at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:104
#10 0xf70ac15b in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:444
#11 0xf712be10 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
-- >8 --
Clearly {ostream} << (char*)nullptr I think? Or << string_view{nullptr, 37}?
Looks like something to that effect.