The example domain name, if it exists at all, is unresolvable.
$ dig @8.8.8.8 -t NS junior-club.ch.
; <<>> DiG 9.11.14-RedHat-9.11.14-2.fc31 <<>> @8.8.8.8 -t NS junior-club.ch.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 6615
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;junior-club.ch. IN NS
;; Query time: 201 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Jan 31 17:24:34 GMT 2020
;; MSG SIZE rcvd: 43
The ch. nameservers reply with a referral to ns.everyware.ch. which responds
with a referral back to ch.
ns2.everyware.ch. responds with a refusal.
Net::DNS::Resolver::Recurse follows the circular referrals relentlessly.
The present simple-minded design cannot detect this situation and I see no
compelling reason to tear it to bits to overcome this obvious mis-configuration.
$ dig @a.nic.ch. -t NS junior-club.ch.
; <<>> DiG 9.11.14-RedHat-9.11.14-2.fc31 <<>> @a.nic.ch. -t NS junior-club.ch.
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30880
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 2, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;junior-club.ch. IN NS
;; AUTHORITY SECTION:
junior-club.ch. 3600 IN NS ns.everyware.ch.
junior-club.ch. 3600 IN NS ns2.everyware.ch.
;; Query time: 45 msec
;; SERVER: 130.59.31.41#53(130.59.31.41)
;; WHEN: Fri Jan 31 17:15:09 GMT 2020
;; MSG SIZE rcvd: 90
$ dig @ns.everyware.ch. -t NS junior-club.ch.
; <<>> DiG 9.11.14-RedHat-9.11.14-2.fc31 <<>> @ns.everyware.ch. -t NS junior-club.ch.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55194
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 8, ADDITIONAL: 15
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;junior-club.ch. IN NS
;; AUTHORITY SECTION:
ch. 76449 IN NS e.nic.ch.
ch. 76449 IN NS f.nic.ch.
ch. 76449 IN NS g.nic.ch.
ch. 76449 IN NS h.nic.ch.
ch. 76449 IN NS a.nic.ch.
ch. 76449 IN NS b.nic.ch.
ch. 76449 IN NS c.nic.ch.
ch. 76449 IN NS d.nic.ch.
;; ADDITIONAL SECTION:
b.nic.ch. 76449 IN A 130.59.31.43
b.nic.ch. 169256 IN AAAA 2001:620:0:ff::58
c.nic.ch. 76449 IN A 147.28.0.39
c.nic.ch. 169256 IN AAAA 2001:418:1::39
d.nic.ch. 76449 IN A 200.160.0.5
d.nic.ch. 169256 IN AAAA 2001:12ff:0:a20::5
e.nic.ch. 76449 IN A 194.0.17.1
e.nic.ch. 169256 IN AAAA 2001:678:3::1
f.nic.ch. 76449 IN A 194.146.106.10
f.nic.ch. 169256 IN AAAA 2001:67c:1010:2::53
g.nic.ch. 76449 IN A 194.0.1.40
g.nic.ch. 169256 IN AAAA 2001:678:4::28
h.nic.ch. 76449 IN A 85.119.5.230
h.nic.ch. 169256 IN AAAA 2a03:bd80:36::1:203:230
;; Query time: 53 msec
;; SERVER: 212.71.111.250#53(212.71.111.250)
;; WHEN: Fri Jan 31 17:17:56 GMT 2020
;; MSG SIZE rcvd: 483
$ dig @ns2.everyware.ch. -t NS junior-club.ch.
; <<>> DiG 9.11.14-RedHat-9.11.14-2.fc31 <<>> @ns2.everyware.ch. -t NS junior-club.ch.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 36395
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;junior-club.ch. IN NS
;; Query time: 51 msec
;; SERVER: 212.71.98.250#53(212.71.98.250)
;; WHEN: Fri Jan 31 17:19:14 GMT 2020
;; MSG SIZE rcvd: 43