Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IXfrdist serial does not fit in 31 bits #11829

Open
spirillen opened this issue Aug 4, 2022 · 1 comment
Open

IXfrdist serial does not fit in 31 bits #11829

spirillen opened this issue Aug 4, 2022 · 1 comment
Assignees
Milestone

Comments

@spirillen
Copy link
Contributor

spirillen commented Aug 4, 2022

  • Program: ixfrdist
  • Issue type: Bug report

Short description

Ixfrdist fails to load as serial does not fit in 31 bits

Environment

  • Operating system: Jammy
  • Software version: IXFR distributor version 4.6.3
  • Software source: PowerDNS repository

Steps to reproduce

  1. See ixfrdist.conf
  2. start and watch the log

Expected behaviour

Really 😃

Actual behaviour

Other information

The debug log
sudo gdb ixfrdist
GNU gdb (Ubuntu 12.0.90-0ubuntu1) 12.0.90
Copyright (C) 2022 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 ixfrdist...
Reading symbols from /usr/lib/debug/.build-id/fb/32bdfde9ec76431d36d59aaeec134a48cd88cd.debug...
(gdb) run
Starting program: /usr/bin/ixfrdist 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[NOTICE] IXFR distributor version 4.6.3 starting up!
[NOTICE] ACL set to 0.0.0.0/0.
[NOTICE] Dropping effective group-id to 142
[NOTICE] Dropping effective user-id to 132
[New Thread 0x7ffff7332640 (LWP 600079)]
[New Thread 0x7ffff6b31640 (LWP 600080)]
[New Thread 0x7ffff6330640 (LWP 600081)]
[New Thread 0x7ffff5b2f640 (LWP 600082)]
[New Thread 0x7ffff532e640 (LWP 600083)]
[New Thread 0x7ffff4b2d640 (LWP 600084)]
[New Thread 0x7fffdffff640 (LWP 600085)]
[New Thread 0x7fffdf7fe640 (LWP 600086)]
[New Thread 0x7fffdeffd640 (LWP 600087)]
[New Thread 0x7fffde7fc640 (LWP 600088)]
[New Thread 0x7fffddffb640 (LWP 600089)]
[NOTICE] Loaded zone rpz.mypdns.cloud with serial 2021043012
[NOTICE] Loaded zone rpz.urlhaus.abuse.ch with serial 2208021133
terminate called after throwing an instance of 'std::out_of_range'
  what():  stoi

Thread 2 "ixfrdist/update" received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff7332640 (LWP 600079)]
__pthread_kill_implementation (no_tid=0, signo=6, threadid=140737340712512) at ./nptl/pthread_kill.c:44
44      ./nptl/pthread_kill.c: No such file or directory.
(gdb) bt all threads
No symbol "all" in current context.
(gdb) thread apply all bt

Thread 12 (Thread 0x7fffddffb640 (LWP 600089) "ixfrdist/tcpWor"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5555556f5aa8 <g_tcpHandlerCV+40>, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007ffff747bac1 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>, cond=0x5555556f5a80 <g_tcpHandlerCV>) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5555556f5a80 <g_tcpHandlerCV>, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>) at ./nptl/pthread_cond_wait.c:627
#5  0x0000555555611d65 in std::condition_variable::wait<tcpWorker(int)::<lambda()> > (this=<optimised out>, __p=..., __lock=...) at /usr/include/c++/11/condition_variable:103
#6  tcpWorker (tid=<optimised out>) at ./pdns/ixfrdist.cc:861
#7  0x00007ffff77f32c3 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007ffff747cb43 in start_thread (arg=<optimised out>) at ./nptl/pthread_create.c:442
#9  0x00007ffff750ea00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 11 (Thread 0x7fffde7fc640 (LWP 600088) "ixfrdist/tcpWor"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5555556f5aa8 <g_tcpHandlerCV+40>, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007ffff747bac1 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>, cond=0x5555556f5a80 <g_tcpHandlerCV>) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5555556f5a80 <g_tcpHandlerCV>, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>) at ./nptl/pthread_cond_wait.c:627
#5  0x0000555555611d65 in std::condition_variable::wait<tcpWorker(int)::<lambda()> > (this=<optimised out>, __p=..., __lock=...) at /usr/include/c++/11/condition_variable:103
#6  tcpWorker (tid=<optimised out>) at ./pdns/ixfrdist.cc:861
#7  0x00007ffff77f32c3 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007ffff747cb43 in start_thread (arg=<optimised out>) at ./nptl/pthread_create.c:442
#9  0x00007ffff750ea00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 10 (Thread 0x7fffdeffd640 (LWP 600087) "ixfrdist/tcpWor"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5555556f5aa8 <g_tcpHandlerCV+40>, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007ffff747bac1 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>, cond=0x5555556f5a80 <g_tcpHandlerCV>) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5555556f5a80 <g_tcpHandlerCV>, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>) at ./nptl/pthread_cond_wait.c:627
#5  0x0000555555611d65 in std::condition_variable::wait<tcpWorker(int)::<lambda()> > (this=<optimised out>, __p=..., __lock=...) at /usr/include/c++/11/condition_variable:103
#6  tcpWorker (tid=<optimised out>) at ./pdns/ixfrdist.cc:861
#7  0x00007ffff77f32c3 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007ffff747cb43 in start_thread (arg=<optimised out>) at ./nptl/pthread_create.c:442
#9  0x00007ffff750ea00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 9 (Thread 0x7fffdf7fe640 (LWP 600086) "ixfrdist/tcpWor"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5555556f5aa8 <g_tcpHandlerCV+40>, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007ffff747bac1 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>, cond=0x5555556f5a80 <g_tcpHandlerCV>) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5555556f5a80 <g_tcpHandlerCV>, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>) at ./nptl/pthread_cond_wait.c:627
#5  0x0000555555611d65 in std::condition_variable::wait<tcpWorker(int)::<lambda()> > (this=<optimised out>, __p=..., __lock=...) at /usr/include/c++/11/condition_variable:103
#6  tcpWorker (tid=<optimised out>) at ./pdns/ixfrdist.cc:861
#7  0x00007ffff77f32c3 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007ffff747cb43 in start_thread (arg=<optimised out>) at ./nptl/pthread_create.c:442
#9  0x00007ffff750ea00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
--Type <RET> for more, q to quit, c to continue without paging--c

Thread 8 (Thread 0x7fffdffff640 (LWP 600085) "ixfrdist/tcpWor"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5555556f5aa8 <g_tcpHandlerCV+40>, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007ffff747bac1 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>, cond=0x5555556f5a80 <g_tcpHandlerCV>) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5555556f5a80 <g_tcpHandlerCV>, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>) at ./nptl/pthread_cond_wait.c:627
#5  0x0000555555611d65 in std::condition_variable::wait<tcpWorker(int)::<lambda()> > (this=<optimised out>, __p=..., __lock=...) at /usr/include/c++/11/condition_variable:103
#6  tcpWorker (tid=<optimised out>) at ./pdns/ixfrdist.cc:861
#7  0x00007ffff77f32c3 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007ffff747cb43 in start_thread (arg=<optimised out>) at ./nptl/pthread_create.c:442
#9  0x00007ffff750ea00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 7 (Thread 0x7ffff4b2d640 (LWP 600084) "ixfrdist/tcpWor"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5555556f5aa8 <g_tcpHandlerCV+40>, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007ffff747bac1 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>, cond=0x5555556f5a80 <g_tcpHandlerCV>) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5555556f5a80 <g_tcpHandlerCV>, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>) at ./nptl/pthread_cond_wait.c:627
#5  0x0000555555611d65 in std::condition_variable::wait<tcpWorker(int)::<lambda()> > (this=<optimised out>, __p=..., __lock=...) at /usr/include/c++/11/condition_variable:103
#6  tcpWorker (tid=<optimised out>) at ./pdns/ixfrdist.cc:861
#7  0x00007ffff77f32c3 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007ffff747cb43 in start_thread (arg=<optimised out>) at ./nptl/pthread_create.c:442
#9  0x00007ffff750ea00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 6 (Thread 0x7ffff532e640 (LWP 600083) "ixfrdist/tcpWor"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5555556f5aa8 <g_tcpHandlerCV+40>, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007ffff747bac1 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>, cond=0x5555556f5a80 <g_tcpHandlerCV>) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5555556f5a80 <g_tcpHandlerCV>, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>) at ./nptl/pthread_cond_wait.c:627
#5  0x0000555555611d65 in std::condition_variable::wait<tcpWorker(int)::<lambda()> > (this=<optimised out>, __p=..., __lock=...) at /usr/include/c++/11/condition_variable:103
#6  tcpWorker (tid=<optimised out>) at ./pdns/ixfrdist.cc:861
#7  0x00007ffff77f32c3 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007ffff747cb43 in start_thread (arg=<optimised out>) at ./nptl/pthread_create.c:442
#9  0x00007ffff750ea00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 5 (Thread 0x7ffff5b2f640 (LWP 600082) "ixfrdist/tcpWor"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5555556f5aa8 <g_tcpHandlerCV+40>, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007ffff747bac1 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>, cond=0x5555556f5a80 <g_tcpHandlerCV>) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5555556f5a80 <g_tcpHandlerCV>, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>) at ./nptl/pthread_cond_wait.c:627
#5  0x0000555555611d65 in std::condition_variable::wait<tcpWorker(int)::<lambda()> > (this=<optimised out>, __p=..., __lock=...) at /usr/include/c++/11/condition_variable:103
#6  tcpWorker (tid=<optimised out>) at ./pdns/ixfrdist.cc:861
#7  0x00007ffff77f32c3 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007ffff747cb43 in start_thread (arg=<optimised out>) at ./nptl/pthread_create.c:442
#9  0x00007ffff750ea00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 4 (Thread 0x7ffff6330640 (LWP 600081) "ixfrdist/tcpWor"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5555556f5aa8 <g_tcpHandlerCV+40>, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007ffff747bac1 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>, cond=0x5555556f5a80 <g_tcpHandlerCV>) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5555556f5a80 <g_tcpHandlerCV>, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>) at ./nptl/pthread_cond_wait.c:627
#5  0x0000555555611d65 in std::condition_variable::wait<tcpWorker(int)::<lambda()> > (this=<optimised out>, __p=..., __lock=...) at /usr/include/c++/11/condition_variable:103
#6  tcpWorker (tid=<optimised out>) at ./pdns/ixfrdist.cc:861
#7  0x00007ffff77f32c3 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007ffff747cb43 in start_thread (arg=<optimised out>) at ./nptl/pthread_create.c:442
#9  0x00007ffff750ea00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 3 (Thread 0x7ffff6b31640 (LWP 600080) "ixfrdist/tcpWor"):
#0  __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:57
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0x5555556f5aa8 <g_tcpHandlerCV+40>) at ./nptl/futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5555556f5aa8 <g_tcpHandlerCV+40>, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
#3  0x00007ffff747bac1 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>, cond=0x5555556f5a80 <g_tcpHandlerCV>) at ./nptl/pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5555556f5a80 <g_tcpHandlerCV>, mutex=0x5555556f59e0 <g_tcpRequestFDsMutex>) at ./nptl/pthread_cond_wait.c:627
#5  0x0000555555611d65 in std::condition_variable::wait<tcpWorker(int)::<lambda()> > (this=<optimised out>, __p=..., __lock=...) at /usr/include/c++/11/condition_variable:103
#6  tcpWorker (tid=<optimised out>) at ./pdns/ixfrdist.cc:861
#7  0x00007ffff77f32c3 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007ffff747cb43 in start_thread (arg=<optimised out>) at ./nptl/pthread_create.c:442
#9  0x00007ffff750ea00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 2 (Thread 0x7ffff7332640 (LWP 600079) "ixfrdist/update"):
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737340712512) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=140737340712512) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=140737340712512, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007ffff742a476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff74107f3 in __GI_abort () at ./stdlib/abort.c:79
#5  0x00007ffff77b9bfe in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007ffff77c528c in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007ffff77c52f7 in std::terminate() () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8  0x00007ffff77c5558 in __cxa_throw () from /lib/x86_64-linux-gnu/libstdc++.so.6
#9  0x00007ffff77bc526 in std::__throw_out_of_range(char const*) () from /lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x0000555555614315 in __gnu_cxx::__stoa<long, int, char, int> (__idx=0x0, __str=0x7ffff73313a0 "2208021133", __name=0x5555556a4917 "stoi", __convf=<optimised out>) at /usr/include/c++/11/ext/string_conversions.h:86
#11 std::__cxx11::stoi (__base=10, __idx=0x0, __str="2208021133") at /usr/include/c++/11/bits/basic_string.h:6620
#12 cleanUpDomain (domain=..., keep=@0x5555557564e0: 2, workdir=...) at ./pdns/ixfrdist.cc:205
#13 0x0000555555614a93 in updateThread (workdir="/var/lib/ixfrdist", keep=@0x5555557564e0: 2, axfrTimeout=@0x5555557564de: 700, soaRetry=@0x5555557564dc: 10, axfrMaxRecords=0) at ./pdns/ixfrdist.cc:305
#14 0x00007ffff77f32c3 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#15 0x00007ffff747cb43 in start_thread (arg=<optimised out>) at ./nptl/pthread_create.c:442
#16 0x00007ffff750ea00 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

Thread 1 (Thread 0x7ffff73d6bc0 (LWP 600044) "ixfrdist"):
#0  0x00007ffff750dfde in epoll_wait (epfd=4, events=0x55555574b2e0, maxevents=1024, timeout=500) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1  0x00005555556846ef in EpollFDMultiplexer::run (this=0x555555743060, now=0x7fffffffe040, timeout=<optimised out>) at ./pdns/epollmplexer.cc:176
#2  0x000055555559913b in main (argc=<optimised out>, argv=<optimised out>) at ./pdns/ixfrdist.cc:1373
(gdb) find /var/lib/ixfrdist -ls
Invalid size granularity.
(gdb) quit
A debugging session is active.

        Inferior 1 [process 600044] will be killed.

Quit anyway? (y or n) y
the config
grep -vE "^(#|$)" /etc/powerdns/ixfrdist.yml 
work-dir: '/var/lib/ixfrdist'
uid: _ixfrdist
gid: _ixfrdist
listen:
  - '127.0.0.1:5303'
acl:
  - '0.0.0.0/0'
axfr-max-records: 0
axfr-timeout: 700
failed-soa-retry: 10
keep: 2
tcp-in-threads: 10
domains:
  - domain: rpz.mypdns.cloud
    master: 127.0.0.1:5300
  - domain: rpz.urlhaus.abuse.ch
    master: 127.0.0.1:5300
find /var/lib/ixfrdist -ls
find /var/lib/ixfrdist -ls
  1837474      4 drwxr-xr-x   4 _ixfrdist _ixfrdist     4096 Aug  4 10:40 /var/lib/ixfrdist
  1835157      4 drwxr-xr-x   2 _ixfrdist _ixfrdist     4096 Aug  4 10:40 /var/lib/ixfrdist/rpz.mypdns.cloud.
  1836255  17136 -rw-r--r--   1 _ixfrdist _ixfrdist 17546644 Aug  4 10:40 /var/lib/ixfrdist/rpz.mypdns.cloud./2021043012
  1835458      4 drwxr-xr-x   2 _ixfrdist _ixfrdist     4096 Aug  4 10:40 /var/lib/ixfrdist/rpz.urlhaus.abuse.ch.
  1836276     28 -rw-r--r--   1 _ixfrdist _ixfrdist    27256 Aug  4 10:40 /var/lib/ixfrdist/rpz.urlhaus.abuse.ch./2208021133
@Habbie
Copy link
Member

Habbie commented Aug 4, 2022

The crash appears to be because the serial of one of the zones is larger than 31 bits.

@Habbie Habbie added this to the auth-4.7.0 milestone Aug 4, 2022
@Habbie Habbie modified the milestones: auth-4.7.0, auth-4.8.0 Sep 8, 2022
@Habbie Habbie modified the milestones: auth-4.8.0, auth-4.9.0 Apr 14, 2023
@Habbie Habbie modified the milestones: auth-4.9.0, auth-4.9.0-beta1 Jan 23, 2024
@Habbie Habbie modified the milestones: auth-4.9.0-beta1, auth-5 Feb 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants