dig can get stuck when using a server with a IPv4 mapped IPv6 address
$ bin/dig/dig @::1 @::ffff:0.0.0.0 -p 12345 test
;; Skipping mapped address '::ffff:0.0.0.0'
;; No acceptable nameservers
(stuck until Ctrl+C)
With -d
:
$ bin/dig/dig @::1 @::ffff:0.0.0.0 -p 12345 test -d
setup_libs()
setup_system()
create_search_list()
ndots is 1.
timeout is 0.
retries is 3.
get_server_list()
make_server(127.0.0.1)
dig_query_setup
parse_args()
making new lookup
make_empty_lookup()
make_empty_lookup() = 0x7fa726958000->references = 1
digrc (open)
main parsing @::1
make_server(::1)
main parsing @::ffff:0.0.0.0
make_server(::ffff:0.0.0.0)
main parsing -p
main parsing test
clone_lookup()
make_empty_lookup()
make_empty_lookup() = 0x7fa726959800->references = 1
clone_server_list()
make_server(::1)
make_server(::ffff:0.0.0.0)
looking up test
main parsing -d
dig_startup()
lock_lookup dighost.c:4464
success
start_lookup()
setup_lookup(0x7fa726959800)
resetting lookup counter.
using root origin
recursive query
AD query
add_question()
starting to render the message
add_opt()
done rendering
create query 0x7fa725420540 linked to lookup 0x7fa726959800
dighost.c:2134:lookup_attach(0x7fa726959800) = 2
dighost.c:2637:new_query(0x7fa725420540) = 1
create query 0x7fa725420700 linked to lookup 0x7fa726959800
dighost.c:2134:lookup_attach(0x7fa726959800) = 3
dighost.c:2637:new_query(0x7fa725420700) = 1
do_lookup()
start_udp(0x7fa725420540)
dighost.c:3134:query_attach(0x7fa725420540) = 2
working on lookup 0x7fa726959800, query 0x7fa725420540
dighost.c:3179:query_attach(0x7fa725420540) = 3
unlock_lookup dighost.c:4466
dighost.c:3096:query_attach(0x7fa725420540) = 4
recving with lookup=0x7fa726959800, query=0x7fa725420540, handle=0x7fa72543b180
recvcount=1
have local timeout of 5000
dighost.c:3043:query_attach(0x7fa725420540) = 5
sending a request
sendcount=1
dighost.c:1727:query_detach(0x7fa725420540) = 4
dighost.c:3116:query_detach(0x7fa725420540) = 3
send_done(0x7fa72543b180, success, 0x7fa725420540)
sendcount=0
lock_lookup dighost.c:2665
success
dighost.c:2669:lookup_attach(0x7fa726959800) = 4
dighost.c:2707:query_detach(0x7fa725420540) = 2
dighost.c:2708:lookup_detach(0x7fa726959800) = 3
check_if_done()
list empty
unlock_lookup dighost.c:2711
recv_done(0x7fa72543b180, connection refused, 0x7fa726179d90, 0x7fa725420540)
lock_lookup dighost.c:3790
success
recvcount=0
dighost.c:3795:lookup_attach(0x7fa726959800) = 4
starting next query 0x7fa725420700
start_udp(0x7fa725420700)
dighost.c:3134:query_attach(0x7fa725420700) = 2
working on lookup 0x7fa726959800, query 0x7fa725420700
;; Skipping mapped address '::ffff:0.0.0.0'
dighost.c:1727:query_detach(0x7fa725420700) = 1
dighost.c:3160:query_detach(0x7fa725420700) = 0
dighost.c:3160:destroy_query(0x7fa725420700) = 0
dighost.c:1685:lookup_detach(0x7fa726959800) = 3
;; No acceptable nameservers
clear_current_lookup()
still have a worker
dighost.c:4359:query_detach(0x7fa725420540) = 1
dighost.c:4367:lookup_detach(0x7fa726959800) = 2
unlock_lookup dighost.c:4371
Edited by Arаm Sаrgsyаn