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

Kenneth Marshall ktm at rice.edu
Tue Apr 19 21:41:22 UTC 2011


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



More information about the Pdns-users mailing list