[Pdns-users] difference in timing?
Remco Post
remco at pipsworld.nl
Sun Feb 29 18:03:24 UTC 2004
On Feb 29, 2004, at 18:31, Norbert Sendetzky wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On Sunday 29 February 2004 00:15, Remco Post wrote:
>> ; <<>> DiG 8.3 <<>> @localhost -p -t pipsworld.nl +norecurse
>> ;; Total query time: 5116 msec
>> ;; FROM: dinkie to SERVER: localhost ::1
>>
>> As you all can see, ipv6 is a bit slower than ipv4 :(
>
> Do you get the same if you use ::1 instead of localhost?
>
> dinkie# dig @::1 -p 5300 -t NS pipsworld.nl +norecurse
>
>
I guess this doesn't make any difference. The problem has been tracked
to somewhere in the UDPNameserver::receive, the time of 5 sec is
actually achieved as the time needed to dump core and then restart pdns
in a state where it does answer the query (once):
dinkie# gdb ~remco/pdns-2.9.16/pdns/pdns_server core
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and
you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "sparc-sun-solaris2.8"...
Core was generated by `/home/remco/pdns-2.9.16/pdns/pdns_server'.
Program terminated with signal 9, Killed.
Reading symbols from /usr/local/lib/libldap.so.2...done.
Loaded symbols for /usr/local/lib/libldap.so.2
Reading symbols from /usr/local/lib/liblber.so.2...done.
Loaded symbols for /usr/local/lib/liblber.so.2
Reading symbols from /usr/lib/libgen.so.1...done.
Loaded symbols for /usr/lib/libgen.so.1
Reading symbols from /opt/local/ssl/lib/libssl.so.0.9.7...done.
Loaded symbols for /opt/local/ssl/lib/libssl.so.0.9.7
Reading symbols from /opt/local/ssl/lib/libcrypto.so.0.9.7...done.
Loaded symbols for /opt/local/ssl/lib/libcrypto.so.0.9.7
Reading symbols from /usr/lib/libdl.so.1...done.
Loaded symbols for /usr/lib/libdl.so.1
Reading symbols from /usr/lib/librt.so.1...done.
Loaded symbols for /usr/lib/librt.so.1
Reading symbols from /usr/lib/libresolv.so.2...done.
Loaded symbols for /usr/lib/libresolv.so.2
Reading symbols from /usr/lib/libnsl.so.1...done.
Loaded symbols for /usr/lib/libnsl.so.1
Reading symbols from /usr/lib/libsocket.so.1...done.
Loaded symbols for /usr/lib/libsocket.so.1
Reading symbols from /usr/lib/libpthread.so.1...done.
Loaded symbols for /usr/lib/libpthread.so.1
Reading symbols from /usr/local/lib/libstdc++.so.5...done.
Loaded symbols for /usr/local/lib/libstdc++.so.5
Reading symbols from /usr/lib/libm.so.1...done.
Loaded symbols for /usr/lib/libm.so.1
Reading symbols from /usr/local/lib/libgcc_s.so.1...done.
Loaded symbols for /usr/local/lib/libgcc_s.so.1
---Type <return> to continue, or q <return> to quit---
Reading symbols from /usr/lib/libc.so.1...done.
Loaded symbols for /usr/lib/libc.so.1
Reading symbols from /usr/lib/libaio.so.1...done.
Loaded symbols for /usr/lib/libaio.so.1
Reading symbols from /usr/lib/libmd5.so.1...done.
Loaded symbols for /usr/lib/libmd5.so.1
Reading symbols from /usr/lib/libmp.so.2...done.
Loaded symbols for /usr/lib/libmp.so.2
Reading symbols from
/usr/platform/SUNW,Ultra-1/lib/libc_psr.so.1...done.
Loaded symbols for /usr/platform/SUNW,Ultra-1/lib/libc_psr.so.1
Reading symbols from /usr/lib/libthread.so.1...done.
Loaded symbols for /usr/lib/libthread.so.1
#0 0xfee1e71c in _lwp_kill () from /usr/lib/libc.so.1
(gdb) bt full
#0 0xfee1e71c in _lwp_kill () from /usr/lib/libc.so.1
No symbol table info available.
#1 0xfedcd75c in raise () from /usr/lib/libc.so.1
No symbol table info available.
#2 0xfedb69f0 in abort () from /usr/lib/libc.so.1
No symbol table info available.
#3 0xfef5a800 in ?? () at dyn-string.c:70 from
/usr/local/lib/libstdc++.so.5
No locals.
#4 0xfef5a850 in ?? () at dyn-string.c:70 from
/usr/local/lib/libstdc++.so.5
No locals.
#5 0xfef5a9c4 in ?? () at dyn-string.c:70 from
/usr/local/lib/libstdc++.so.5
No locals.
#6 0xf8a6c in _ZN13UDPNameserver7receiveEP9DNSPacket (this=0xfe3fbf30,
prefilled=0xfe3fbf30) at dnspacket.hh:318
socklen = 32
remote = "\000\032\233?", '\000' <repeats 19 times>,
"\001\000\000\000\000\000\000\000\003", '\000' <repeats 30 times>
addrlen = 32
len = -29377904
mesg =
"\000\004\001\000\000\001\000\000\000\000\000\000\tpipsworld\002nl\000\0
00\002\000\001", '\000' <repeats 92 times>, "\004", '\000' <repeats 25
times>,
"??>?\000\000\000\030\000\000\000\b\000\024??
\000\000\000\037\000\000\000\000\000\000\000\000???0??D\030", '\000'
<repeats 75 times>, "\013\000\000\000\01---Type <return> to continue,
or q <return> to quit---
3\000\000\000\013\000\000\000\020\000\000\000\013\000\000\000\000\000\00
0\000\001", '\000' <repeats 12 times>, "????\000\r?\004", '\000'
<repeats 48 times>, "????", '\000' <repeats 37 times>,
"\020\233\b\000\000\000\013???????\207\201\001\001\000\000\000?
\000\000\000\000\013\000\000\000\013", '\000' <repeats 57 times>...
sock = 5
packet = (DNSPacket *) 0xfe3fbf30
#7 0x94e00 in _Z7qthreadPv (p=0x197848) at common_startup.cc:201
P = (DNSPacket *) 0x0
question = {d_dt = {d_set = {tv_sec = 1078067662, tv_usec =
36390}},
remote = '\000' <repeats 27 times>, d_socklen = 0, len = 0, qclass =
0, d = {
id = 0, qr = 0, opcode = 0, aa = 0, tc = 0, rd = 0, ra = 0, unused
= 0,
ad = 0, cd = 0, rcode = 0, qdcount = 0, ancount = 0, nscount = 0,
arcount = 0}, qtype = {types = 0, code = 0,
static names = {<_Vector_base<std::pair<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
int>,std::allocator<std::pair<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, int> > >> =
{<_Vector_alloc_base<std::pair<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
int>,std::allocator<std::pair<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, int> >,true>> =
{_M_start = 0x153710,
_M_finish = 0x1537b8,
_M_end_of_storage = 0x153810}, <No data fields>}, <No data
fields>},
static uninit = false}, qdomain = {static npos = <incomplete type>,
---Type <return> to continue, or q <return> to quit---
_M_dataplus = {<allocator<char>> = {<No data fields>},
_M_p = 0x149d7c ""}, static _S_empty_rep_storage = {0, 0, 90032,
0}},
d_wrapped = false, d_compress = true, d_qlen = 0, d_socket = 5,
stringbuffer = {static npos = <incomplete type>,
_M_dataplus = {<allocator<char>> = {<No data fields>},
_M_p = 0x149d7c ""}, static _S_empty_rep_storage = {0, 0, 90032,
0}},
rrs =
{<_Vector_base<DNSResourceRecord,std::allocator<DNSResourceRecord> >> =
{<_Vector_alloc_base<DNSResourceRecord,std::
allocator<DNSResourceRecord>,true>> = {_M_start = 0x0, _M_finish = 0x0,
_M_end_of_storage = 0x0}, <No data fields>}, <No data fields>}}
cached = {d_dt = {d_set = {tv_sec = 0, tv_usec = 0}},
remote = '\000' <repeats 27 times>, d_socklen = 0, len = 0, qclass =
0, d = {
id = 0, qr = 0, opcode = 0, aa = 0, tc = 0, rd = 0, ra = 0, unused
= 0,
ad = 0, cd = 0, rcode = 0, qdcount = 0, ancount = 0, nscount = 0,
arcount = 0}, qtype = {types = 0, code = 0,
static names = {<_Vector_base<std::pair<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
int>,std::allocator<std::pair<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, int> > >> =
{<_Vector_alloc_base<std::pair<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >,
int>,std::allocator<std::pair<std::basic_string<char,
std::char_traits<char>, std::allocator<char> >, int> >,true>> =
{_M_start = 0x153710,
_M_finish = 0x1537b8,
_M_end_of_storage = 0x153810}, <No data fields>}, <No data
fields>},
---Type <return> to continue, or q <return> to quit---
static uninit = false}, qdomain = {static npos = <incomplete type>,
_M_dataplus = {<allocator<char>> = {<No data fields>},
_M_p = 0x149d7c ""}, static _S_empty_rep_storage = {0, 0, 90032,
0}},
d_wrapped = false, d_compress = true, d_qlen = 0, d_socket = 0,
stringbuffer = {static npos = <incomplete type>,
_M_dataplus = {<allocator<char>> = {<No data fields>},
_M_p = 0x149d7c ""}, static _S_empty_rep_storage = {0, 0, 90032,
0}},
rrs =
{<_Vector_base<DNSResourceRecord,std::allocator<DNSResourceRecord> >> =
{<_Vector_alloc_base<DNSResourceRecord,std::
allocator<DNSResourceRecord>,true>> = {_M_start = 0x0, _M_finish = 0x0,
_M_end_of_storage = 0x0}, <No data fields>}, <No data fields>}}
numreceived = (int &) @0x14c880: 0
numanswered = (int &) @0x14c890: 0
(gdb)
> Norbert
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.0.6 (GNU/Linux)
> Comment: For info see http://www.gnupg.org
>
> iEYEARECAAYFAkBCIewACgkQxMLs5v5/7eB4YgCgiV9wnUKwnKWkmXEFEfyo8tew
> FM0AnRTQlGMqqYEoh7gjI3fCyyMjgScZ
> =FaAO
> -----END PGP SIGNATURE-----
>
--
Met vriendelijke groeten,
Remco Post
SARA - Reken- en Netwerkdiensten http://www.sara.nl
High Performance Computing Tel. +31 20 592 8008 Fax. +31 20 668 3167
"I really didn't foresee the Internet. But then, neither did the
computer industry. Not that that tells us very much of course - the
computer industry didn't even foresee that the century was going
to end." -- Douglas Adams
More information about the Pdns-users
mailing list