[Pdns-users] DNS resolution problem with pdns-recursor-3.3

Kenneth Marshall ktm at rice.edu
Wed Apr 20 14:39:52 UTC 2011


On Tue, Apr 19, 2011 at 04:41:22PM -0500, Kenneth Marshall wrote:
> On Tue, Apr 19, 2011 at 08:41:46PM +0200, bert hubert wrote:
> > On Tue, Apr 19, 2011 at 01:24:37PM -0500, Kenneth Marshall wrote:
> > > Hi PDNS users,
> > > 
> > > I have been trying to figure out why the following site is
> > > not resolving:
> > > 
> > > > dig cdn4.digitalconcerthall.com
> > 
> > This is a known bug in 3.3: 
> > 
> > Discovered by John J and Robin J, the PowerDNS Recursor did not process
> > packets that were truncated in mid-record, and also did not act on the
> > 'truncated' (TC) flag in that case. This broke a very small number of
> > domains, most of them served by very old versions of the PowerDNS
> > Authoritative Server. Fix in commit 1740.
> > 
> > We will be releasing 3.4 shortly. Meanwhile there is the unreleased version
> > 3.3.1, available on
> > http://svn.powerdns.com/snapshots/pdns-recursor-3.3.1.tar.bz2 which also
> > fixes this issue.
> > 
> > Apologies!
> > y
> > 
> Does the 3.3.1 release not work without lua? I try to run is and it
> core dumps and the strace is:
> 
> [pid 26319] recvfrom(17, "\300!\200\0\0\1\0\0\0\6\0\7\3mit\3edu\0\0\1\0\1\3edu\0"..., 1500, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("199.7.83.42")}, [16]) = 263
> [pid 26319] sigprocmask(SIG_SETMASK, [], []) = 0
> [pid 26319] gettimeofday({530292325351691, 3970204647162122}, NULL) = 0
> [pid 26319] socket(PF_INET6, SOCK_DGRAM, IPPROTO_IP) = 18
> [pid 26319] connect(18, {sa_family=AF_INET6, sin6_port=htons(0), inet_pton(AF_INET6, "2001:503:cc2c::2:36", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ENETUNREACH (Network is unreachable)
> [pid 26319] close(18)                   = 0
> [pid 26319] socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 18
> [pid 26319] bind(18, {sa_family=AF_INET, sin_port=htons(42014), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
> [pid 26319] fcntl64(18, F_GETFL)        = 0x2 (flags O_RDWR)
> [pid 26319] fcntl64(18, F_SETFL, O_RDWR|O_NONBLOCK) = 0
> [pid 26319] connect(18, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.26.92.36")}, 16) = 0
> [pid 26319] epoll_ctl(16, EPOLL_CTL_ADD, 18, {EPOLLIN, {u32=18, u64=18}}) = 0
> [pid 26319] send(18, "Yl\0\0\0\1\0\0\0\0\0\0\3mit\3edu\0\0\1\0\1", 25, 0) = 25
> [pid 26319] sigprocmask(SIG_SETMASK, [], []) = 0
> [pid 26319] epoll_ctl(16, EPOLL_CTL_DEL, 17, {0, {u32=0, u64=0}}) = 0
> [pid 26319] close(17)                   = 0
> [pid 26319] gettimeofday({533805608599819, 0}, NULL) = 0
> [pid 26319] epoll_wait(16, {{EPOLLIN, {u32=18, u64=18}}}, 1024, 500) = 1
> [pid 26319] gettimeofday({741570356576523, 0}, NULL) = 0
> [pid 26319] recvfrom(18, "Yl\200\0\0\1\0\0\0\3\0\3\3mit\3edu\0\0\1\0\1\300\f\0\2"..., 1500, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.26.92.36")}, [16]) = 134
> [pid 26319] sigprocmask(SIG_SETMASK, [], []) = 0
> [pid 26319] gettimeofday({742244666441995, 530292325351691}, NULL) = 0
> [pid 26319] socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 17
> [pid 26319] bind(17, {sa_family=AF_INET, sin_port=htons(44673), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
> [pid 26319] fcntl64(17, F_GETFL)        = 0x2 (flags O_RDWR)
> [pid 26319] fcntl64(17, F_SETFL, O_RDWR|O_NONBLOCK) = 0
> [pid 26319] connect(17, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("18.72.0.3")}, 16) = 0
> [pid 26319] epoll_ctl(16, EPOLL_CTL_ADD, 17, {EPOLLIN, {u32=17, u64=17}}) = 0
> [pid 26319] send(17, "\277\203\0\0\0\1\0\0\0\0\0\0\3mit\3edu\0\0\1\0\1", 25, 0) = 25
> [pid 26319] sigprocmask(SIG_SETMASK, [], []) = 0
> [pid 26319] epoll_ctl(16, EPOLL_CTL_DEL, 18, {0, {u32=0, u64=0}}) = 0
> [pid 26319] close(18)                   = 0
> [pid 26319] gettimeofday({744469459501323, 0}, NULL) = 0
> [pid 26319] epoll_wait(16, {{EPOLLIN, {u32=17, u64=17}}}, 1024, 500) = 1
> [pid 26319] gettimeofday({965613030605067, 0}, NULL) = 0
> [pid 26319] recvfrom(17, "\277\203\204\200\0\1\0\1\0\3\0\3\3mit\3edu\0\0\1\0\1\300"..., 1500, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("18.72.0.3")}, [16]) = 150
> [pid 26319] sigprocmask(SIG_SETMASK, [], []) = 0
> [pid 26319] gettimeofday({966295930405131, 742244666441995}, NULL) = 0
> [pid 26319] write(2, "pdns_recursor: /opt/opt.CORE/pdn"..., 223pdns_recursor: /opt/opt.CORE/pdns-recursor-3.3.1/src/boost_1_39_0/boost/smart_ptr/shared_ptr.hpp:409: T* boost::shared_ptr< <template-parameter-1-1> >::operator->() const [with T = PowerDNSLua]: Assertion `px != 0' failed.
> ) = 223
> [pid 26319] rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0
> [pid 26319] tgkill(26317, 26319, SIGABRT) = 0
> [pid 26319] --- SIGABRT (Aborted) @ 0 (0) ---
> Process 26319 detached
> [pid 26317] <... futex resumed> )       = -1 EINTR (Interrupted system call)
> [pid 26318] <... epoll_wait resumed> 8207c80, 1024, 500) = -1 EINTR (Interrupted system call)
> [pid 26318] +++ killed by SIGABRT (core dumped) +++
> Process 26318 detached
> +++ killed by SIGABRT (core dumped) +++
> Process 26317 detached
> 
> 
> And it has a lua assertion right before dying.
> 
> Regards,
> Ken

Please ignore this problem. I had been using the wrong source code
tree. I re-built from the svn pull and it works, just not for the
case that I am having a problem with:

dig @localhost cdn4.digitalconcerthall.com

; <<>> DiG 9.2.4 <<>> @localhost cdn4.digitalconcerthall.com
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 47994
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;cdn4.digitalconcerthall.com.   IN      A

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Apr 20 09:35:24 2011
;; MSG SIZE  rcvd: 45

> dig @localhost cname cdn4.digitalconcerthall.com

; <<>> DiG 9.2.4 <<>> @localhost cname cdn4.digitalconcerthall.com
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35536
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;cdn4.digitalconcerthall.com.   IN      CNAME

;; ANSWER SECTION:
cdn4.digitalconcerthall.com. 1800 IN    CNAME   cdn4.digitalconcerthall.com.edgesuite.net.

;; Query time: 137 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Apr 20 09:35:32 2011
;; MSG SIZE  rcvd: 100

dig @localhost cdn4.digitalconcerthall.com.edgesuite.net

; <<>> DiG 9.2.4 <<>> @localhost cdn4.digitalconcerthall.com.edgesuite.net
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10695
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;cdn4.digitalconcerthall.com.edgesuite.net. IN A

;; ANSWER SECTION:
cdn4.digitalconcerthall.com.edgesuite.net. 21600 IN CNAME a267.g.akamai.net.
a267.g.akamai.net.      20      IN      A       207.138.126.201
a267.g.akamai.net.      20      IN      A       207.138.126.190

;; Query time: 256 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Apr 20 09:37:35 2011
;; MSG SIZE  rcvd: 119

Version 3.3.1 does not make the jump to the A records but returns
an error. Any other ideas? Does this work for you with 3.3.1?

Regards,
Ken



More information about the Pdns-users mailing list