[Pdns-dev] PowerDNS Recursor 3.1.5 snapshot 3 available
James Cloos
cloos at jhcloos.com
Mon Feb 11 23:25:15 CET 2008
I just noticed that the recusror is SEGVing on my laptop, and a test of
3.1.5 snap 3 does as well.
>From a core dump while running in strace(8):
(gdb) where
#0 0xb7c7bb7f in setcontext () from /lib/libc.so.6
#1 0xb7c7bc28 in makecontext () from /lib/libc.so.6
#2 0x08187288 in ?? ()
#3 0x0814b014 in _gm_ ()
#4 0x08152ed0 in ?? ()
#5 0x081871a8 in ?? ()
#6 0x081530b4 in ?? ()
#7 0x00000029 in ?? ()
#8 0x0809e1d8 in serviceMain (argc=3, argv=0xbfc021d4) at pdns_recursor.cc:1741
#9 0x080a380f in main (argc=3, argv=0xbfc021d4) at pdns_recursor.cc:1908
as you can see, something is screwing with the stack. Also, the number
of ?? lines varies run to run.
Box is P3, Gentoo ~x86; libc is glibc-2.7, boost is 1.34.1 and gcc
is 4.2.2. Above bt is from a compile with -ggdb -O0.
The matching strace output ends with:
bind(8, {sa_family=AF_INET, sin_port=htons(17681), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
fcntl64(8, F_GETFL) = 0x2 (flags O_RDWR)
fcntl64(8, F_SETFL, O_RDWR|O_NONBLOCK) = 0
connect(8, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.228.79.201")}, 16) = 0
epoll_ctl(7, EPOLL_CTL_ADD, 8, {EPOLLIN, {u32=8, u64=8}}) = 0
send(8, "\310p\0\0\0\1\0\0\0\0\0\1\0\0\2\0\1\0\0)\4\260\0\0\0\0\0\0", 28, 0) = 28
sigprocmask(SIG_SETMASK, [], []) = 0
gettimeofday({1202771796, 763664}, NULL) = 0
epoll_wait(7, {}, 1024, 500) = 0
gettimeofday({1202771797, 263003}, NULL) = 0
sigprocmask(SIG_SETMASK, [], []) = 0
epoll_ctl(7, EPOLL_CTL_DEL, 8, {0, {u32=0, u64=0}}) = 0
close(8) = 0
time(NULL) = 1202771797
write(2, "Feb 11 18:16:14 ", 16) = 16
write(2, "Failed to update . records, RCODE=2", 35) = 35
write(2, "\n", 1) = 1
brk(0x818b000) = 0x818b000
time(NULL) = 1202771797
send(3, "<27>Feb 11 18:16:14 pdns_recursor[15275]: Failed to update . records, RCODE=2", 77, MSG_NOSIGNAL) = 77
sigprocmask(SIG_SETMASK, [INT QUIT ILL ABRT], NULL) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV (core dumped) +++
but NB that the failed to update . is not relevant; other runs
successfully update . and still hit the SEGV.
Some cores and strace outputs are available is desired, but they don't
seem to shed much light except to point to makecontext(3).
-JimC
--
James Cloos <cloos at jhcloos.com> OpenPGP: 1024D/ED7DAEA6
More information about the Pdns-dev
mailing list