Report information
The Basics
Id:
46632
Status:
resolved
Priority:
Low/Low
Queue:

BugTracker
Version Fixed:
9.9.12, 9.10.7, 9.11.3, 9.12.0
Version Found:
(no value)
Versions Affected:
(no value)
Versions Planned:
(no value)
Priority:
P3 Low
Severity:
S3 Low
CVSS Score:
(no value)
CVE ID:
(no value)
Component:
(no value)
Area:
test

Dates
Created:Mon, 20 Nov 2017 10:03:58 -0500
Updated:Tue, 21 Nov 2017 04:50:37 -0500
Closed:Tue, 21 Nov 2017 04:50:37 -0500



This bug tracker is no longer active.

Please go to our Gitlab to submit issues (both feature requests and bug reports) for active projects maintained by Internet Systems Consortium (ISC).

Due to security and confidentiality requirements, full access is limited to the primary maintainers.

From: michal@isc.org
Date: Mon, 20 Nov 2017 16:03:58 +0100
Subject: Stabilize and speed up reclimit system test
To: bind9-public@isc.org
The reclimit system test started consistently failing on CentOS 7 [1] and Fedora 25 [2]. In 2016, we also received a report about an apparently identical issue on Solaris [3]. Apart from that, at least one other failure mode was triggered in the past [4]. Failures aside, the test originally took about 10 seconds to complete and now it needs over a minute. [1] https://jenkins.isc.org/view/BIND/job/bind9-master-centos7-amd64-1/338/ [2] https://jenkins.isc.org/view/BIND/job/bind9-master-fedora25-amd64-1/340/ [3] https://bugs.isc.org/Ticket/Display.html?id=42382 [4] https://jenkins.isc.org/view/BIND/job/bind9-master-macmini--disable-atomic/282/
Branch rt46632 introduces multiple fixes and improvements for the reclimit system test. Technical details can be found in commit log messages; here is an overview (the speedup figures below were taken from my machine and may be different elsewhere): - $TESTSOCK6 is no longer erroneously consulted for detecting IPv6 support, which fixes the consistent failures mentioned above. - Commit a0f9aaa103 intentionally added delays to the test, which is the likely reason it has not been noticed that these delays are unproportional to the number of queries sent during the test. The reason for that is that adding these delays triggers a minor bug in ADB-resolver interaction which forces named to wait longer than necessary before responding with SERVFAIL. Fixing this issue stripped ~20 seconds off the execution time for reclimit. - ans2/ans.pl was improved to prevent a fixed-length sleep upon every query. Doing this stripped another ~30 seconds off execution time. - ans4/ans.pl was integrated into ans2/ans.pl, decreasing code duplication and stripping another ~2 seconds off execution time. - ns3 is now reset in a consistent manner between checks, enabling 4 fixed-length sleeps to be removed, for an 8-second speedup. - A hard requirement for Net::DNS > 0.78 was added to prereq.sh due to a bug in older versions which causes false negatives (and is likely the culprit behind the last failure linked to above as MacMini_64_new uses Net::DNS 0.74). - Output formatting was slightly improved. With these fixes applied, the reclimit system test completes in less than 3 seconds on my machine. It should still correctly handle builds without IPv6 support and slower machines, as indicated by a series of tests I ran on CentOS 7 (with Net::DNS updated from the packaged 0.72 version), Fedora 25, FreeBSD 11.0, OpenBSD 6.1 and Solaris 10. Please review.
Looks fine.
4823. [test] Refactor reclimit system test to improve its reliability and speed. [RT #46632] 9.9.12, 9.10.7, 9.11.3, 9.12.0