Just a follow-up to this dated issue: we just compiled the (seemingly silently refreshed) pdns-recursor-3.1.5-snapshot dated 15-Nov-2007 from source, and the issue with the disappearing control socket has been resolved - we are now doing the lookups against asn.routeviews.org out of the Recursor: with up to 120 lookups per minute, we'd sure like to forgot the memory bleed of BIND :)
Thanks. On 8/18/2007 at 11:18 PM, "J Knight" <[EMAIL PROTECTED]> wrote: > On 8/18/2007 at 7:17 AM, "bert hubert" <[EMAIL PROTECTED]> wrote: >> On Fri, Aug 17, 2007 at 12:42:56PM -0400, J Knight wrote: >>> After stumbling into the HACKING section of the Wiki, I find: >>> http://svn.powerdns.com/snapshots/ - but there's no 3.1.5 snapshot, >>> there's pre-relesase 3.1.4 snapshots only. >>> Is there another HTTP/FTP-accessible location? >> I've uploaded a 3.1.5 snapshot here: >> http://svn.powerdns.com/snapshots/pdns-recursor-3.1.5-snapshot.tar.bz2 >>> http://downloads.powerdns.com/releases/rpm/ have not seen an update since >>> 12-Nov-2006 (9 months ago!). >> And for good reason - we've only found 1 important bug in 3.1.4, and there >> are no (urgent) feature requests. There will be a 3.1.5 of course, but so >> far there have not been pressing reasons for it. >> Please let us know how the 3.1.5 snapshot works for you! > Thank you! > Yes, I can confirm that all (3) TXT records are returned. > Unfortunately, something rather significant broke: > The pdns_recursor.controlsocket gets unlink'd the moment pdns_recursor > daemonizes - and the fork'd child somehow never re-creates it - e.g.: > no control socket. > If I interpret the strace right, under the official > pdns-recursor-3.1.4-1.i386.rpm > recursor, the controlsocket never gets unlinked before the parent process > exits! > Environment: Linux RedHat ES3 > Boost: boost_1_34_1 (not compiled) > builds ok with one warning: > CXXFLAGS=-I../boost_1_34_1/ ./configure > CXXFLAGS=-I../boost_1_34_1/ make clean > CXXFLAGS=-I../boost_1_34_1/ make all > ... > g++ -I../boost_1_34_1/ -Wall -DBOOST_SP_DISABLE_THREADS -O3 -D_GNU_SOURCE > -c -o dnsparser.o dnsparser.cc > dnsparser.cc: In member function `void PacketReader::copyRecord(unsigned > char*, > short unsigned int)': > dnsparser.cc:309: warning: comparison between signed and unsigned > integer > expressions > .... > CXXFLAGS=-I../boost_1_34_1/ make install > (may I suggest an uninstall: target in the Makefile :) ?) > Tried it with suid/sgid and without - no effect. > Tried with chroot and without - no effect. > (machine heavily loaded with disk activity at this time (LA>4), it can take a > minute for the > recursor to come up, but one can nicely observe the control socket in > /var/run/ getting > created and unlink'd the moment PID 16099 (below) disappears!) > Aug 18 23:04:05 pascal pdns_recursor[16099]: PowerDNS recursor 3.1.5-snapshot > (C) 2001-2007 PowerDNS.COM BV (Aug 18 > 2007, 21:57:19, gcc 3.2.3 20030502 (Red Hat Linux 3.2.3-49)) starting up > Aug 18 23:04:06 pascal pdns_recursor[16099]: 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 18 23:04:07 pascal pdns_recursor[16099]: Operating in 32 bits mode > Aug 18 23:04:08 pascal pdns_recursor[16099]: Only allowing queries from: > 127.0.0.0/8, .... > Aug 18 23:04:09 pascal pdns_recursor[16099]: Will not send queries to: > 127.0.0.0/8, 10.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, ::1/128, fe80::/10 > Aug 18 23:04:18 pascal pdns_recursor[16099]: Inserting rfc 1918 private space > zones > Aug 18 23:04:19 pascal pdns_recursor[16099]: Listening for UDP queries on > 67.18.254.X:53 > Aug 18 23:04:20 pascal pdns_recursor[16099]: Listening for UDP queries on > 127.0.0.1:5353 > Aug 18 23:04:21 pascal pdns_recursor[16099]: Listening for TCP queries on > 67.18.254.X:53 > Aug 18 23:04:22 pascal pdns_recursor[16099]: Listening for TCP queries on > 127.0.0.1:5353 > Aug 18 23:04:23 pascal pdns_recursor[16099]: Done priming cache with root > hints > Aug 18 23:04:24 pascal pdns_recursor[16099]: Calling daemonize, going to > background > Aug 18 23:04:25 pascal pdns_recursor[16124]: Non-fatal error initializing > possible multiplexer (Setting up epoll: Function not implemented), falling > back > Aug 18 23:04:26 pascal pdns_recursor[16124]: Enabled 'select' multiplexer > Aug 18 23:04:27 pascal pdns_recursor[16124]: Set effective group id to 513 > Aug 18 23:04:28 pascal pdns_recursor[16124]: Set effective user id to 512 > Aug 18 23:04:30 pascal pdns_recursor[16124]: Refreshed . records > Note: the "Non-Fatal error" appears with the official > pdns-recursor-3.1.4-1.i386.rpm as well. > strace'ing the process (and the output below is not from the log msgs above > strictly, but some other run - I did too many to count): > rt_sigaction(SIGPIPE, {0x272140, [], SA_RESTORER, 0x1c0ec8}, {SIG_DFL}, 8) = 0 > send(3, "<27>Aug 18 23:27:47 pdns_recurso"..., 85, 0) = 85 > rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0 > socket(PF_FILE, SOCK_DGRAM, 0) = 8 > setsockopt(8, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 > unlink("/var/run/powerdns/pdns_recursor.controlsocket") = -1 ENOENT (No such > file or directory) > bind(8, {sa_family=AF_FILE, > path="/var/run/powerdns/pdns_recursor.controlsocket"}, 110) = 0 > time(NULL) = 1187494068 > time(NULL) = 1187494068 > time(NULL) = 1187494068 > ..... > write(2, " ", 1 ) = 1 > write(2, "t", 1t) = 1 > write(2, "o", 1o) = 1 > write(2, " ", 1 ) = 1 > write(2, "b", 1b) = 1 > write(2, "a", 1a) = 1 > write(2, "c", 1c) = 1 > write(2, "k", 1k) = 1 > write(2, "g", 1g) = 1 > write(2, "r", 1r) = 1 > write(2, "o", 1o) = 1 > write(2, "u", 1u) = 1 > write(2, "n", 1n) = 1 > write(2, "d", 1d) = 1 > write(2, "\n", 1 > ) = 1 > time([1187494068]) = 1187494068 > getpid() = 19513 > rt_sigaction(SIGPIPE, {0x272140, [], SA_RESTORER, 0x1c0ec8}, {SIG_DFL}, 8) = 0 > send(3, "<28>Aug 18 23:27:48 pdns_recurso"..., 80, 0) = 80 > rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0 > clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, > child_tidptr=0xb75f00c8) = 19557 > close(8) = 0 > unlink("/var/run/powerdns/pdns_recursor.controlsocket") = 0 > exit_group(0) = ? > I also ran this with strace -f , and the child never does a bind() call > for the socket (sa_family=AF_FILE). > Thanks - Jamie > _______________________________________________ > Pdns-users mailing list > [email protected] > http://mailman.powerdns.com/mailman/listinfo/pdns-users _______________________________________________ Pdns-users mailing list [email protected] http://mailman.powerdns.com/mailman/listinfo/pdns-users
