Suspected false positive in shutdown system test
Job #2699254 failed for 39a8f70b:
S:shutdown:2022-08-17T01:26:40+0000
8099T:shutdown:1:A
8100A:shutdown:System test shutdown
8101I:shutdown:PORTS:8938,8939,8940,8941,8942,8943,8944,8945,8946,8947,8948,8949,8950
8102I:shutdown:starting servers
8103D:shutdown:============================= test session starts ==============================
8104D:shutdown:platform linux -- Python 3.6.8, pytest-3.4.2, py-1.5.3, pluggy-0.6.0 -- /usr/libexec/platform-python
8105D:shutdown:rootdir: /builds/isc-projects/bind9/bin/tests/system/shutdown, inifile:
8106D:shutdown:plugins: hypothesis-3.44.24
8107D:shutdown:collecting ... collected 1 item
8108D:shutdown:
8109D:shutdown:tests-shutdown.py::test_named_shutdown FAILED [100%]
8110D:shutdown:
8111D:shutdown:=================================== FAILURES ===================================
8112D:shutdown:_____________________________ test_named_shutdown ______________________________
8113D:shutdown:
8114D:shutdown:named_port = 8938, control_port = 8950
8115D:shutdown:
8116D:shutdown: def test_named_shutdown(named_port, control_port):
8117D:shutdown: # pylint: disable-msg=too-many-locals
8118D:shutdown: cfg_dir = os.path.join(os.getcwd(), "resolver")
8119D:shutdown: assert os.path.isdir(cfg_dir)
8120D:shutdown:
8121D:shutdown: cfg_file = os.path.join(cfg_dir, "named.conf")
8122D:shutdown: assert os.path.isfile(cfg_file)
8123D:shutdown:
8124D:shutdown: named = os.getenv("NAMED")
8125D:shutdown: assert named is not None
8126D:shutdown:
8127D:shutdown: rndc = os.getenv("RNDC")
8128D:shutdown: assert rndc is not None
8129D:shutdown:
8130D:shutdown: # rndc configuration resides in ../common/rndc.conf
8131D:shutdown: rndc_cfg = os.path.join("..", "common", "rndc.conf")
8132D:shutdown: assert os.path.isfile(rndc_cfg)
8133D:shutdown:
8134D:shutdown: # rndc command with default arguments.
8135D:shutdown: rndc_cmd = [rndc, "-c", rndc_cfg, "-p", str(control_port), "-s", "10.53.0.3"]
8136D:shutdown:
8137D:shutdown: # We create a resolver instance that will be used to send queries.
8138D:shutdown: resolver = dns.resolver.Resolver()
8139D:shutdown: resolver.nameservers = ["10.53.0.3"]
8140D:shutdown: resolver.port = named_port
8141D:shutdown:
8142D:shutdown: # We test named shutting down using two methods:
8143D:shutdown: # Method 1: using rndc ctop
8144D:shutdown: # Method 2: killing with SIGTERM
8145D:shutdown: # In both methods named should exit gracefully.
8146D:shutdown: for kill_method in ("rndc", "sigterm"):
8147D:shutdown: named_cmdline = [named, "-c", cfg_file, "-f"]
8148D:shutdown: with subprocess.Popen(named_cmdline, cwd=cfg_dir) as named_proc:
8149D:shutdown: # Ensure named is running
8150D:shutdown: assert named_proc.poll() is None
8151D:shutdown: # wait for named to finish loading
8152D:shutdown: for _ in range(10):
8153D:shutdown: try:
8154D:shutdown: resolver.query("version.bind", "TXT", "CH")
8155D:shutdown: break
8156D:shutdown: except (dns.resolver.NoNameservers, dns.exception.Timeout):
8157D:shutdown: time.sleep(1)
8158D:shutdown:
8159D:shutdown: do_work(
8160D:shutdown:> named_proc, resolver, rndc_cmd, kill_method, n_workers=12, n_queries=16
8161D:shutdown: )
8162D:shutdown:
8163D:shutdown:tests-shutdown.py:179:
8164D:shutdown:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
8165D:shutdown:tests-shutdown.py:114: in do_work
8166D:shutdown: result = future.result()
8167D:shutdown:/usr/lib64/python3.6/concurrent/futures/_base.py:425: in result
8168D:shutdown: return self.__get_result()
8169D:shutdown:/usr/lib64/python3.6/concurrent/futures/_base.py:384: in __get_result
8170D:shutdown: raise self._exception
8171D:shutdown:/usr/lib64/python3.6/concurrent/futures/thread.py:56: in run
8172D:shutdown: result = self.fn(*self.args, **self.kwargs)
8173D:shutdown:/usr/lib/python3.6/site-packages/dns/resolver.py:962: in query
8174D:shutdown: source_port=source_port)
8175D:shutdown:/usr/lib/python3.6/site-packages/dns/query.py:257: in udp
8176D:shutdown: one_rr_per_rrset=one_rr_per_rrset)
8177D:shutdown:/usr/lib/python3.6/site-packages/dns/message.py:807: in from_wire
8178D:shutdown: reader.read()
8179D:shutdown:/usr/lib/python3.6/site-packages/dns/message.py:746: in read
8180D:shutdown: self._get_section(self.message.answer, ancount)
8181D:shutdown:/usr/lib/python3.6/site-packages/dns/message.py:720: in _get_section
8182D:shutdown: self.message.origin)
8183D:shutdown:/usr/lib/python3.6/site-packages/dns/rdata.py:457: in from_wire
8184D:shutdown: cls = get_rdata_class(rdclass, rdtype)
8185D:shutdown:/usr/lib/python3.6/site-packages/dns/rdata.py:368: in get_rdata_class
8186D:shutdown: rdclass_text, rdtype_text]))
8187D:shutdown:_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
8188D:shutdown:
8189D:shutdown:name = 'dns.rdtypes.IN.A'
8190D:shutdown:
8191D:shutdown: def import_module(name):
8192D:shutdown: mod = __import__(name)
8193D:shutdown: components = name.split('.')
8194D:shutdown: for comp in components[1:]:
8195D:shutdown:> mod = getattr(mod, comp)
8196D:shutdown:E AttributeError: module 'dns.rdtypes' has no attribute 'IN'
8197D:shutdown:
8198D:shutdown:/usr/lib/python3.6/site-packages/dns/rdata.py:356: AttributeError
8199D:shutdown:----------------------------- Captured stderr call -----------------------------
8200D:shutdown:lt-rndc: recv failed: connection reset
8201D:shutdown:lt-rndc: connect failed: 10.53.0.3#8950: connection refused
8202D:shutdown:lt-rndc: connect failed: 10.53.0.3#8950: connection refused
8203D:shutdown:lt-rndc: connect failed: 10.53.0.3#8950: connection refused
8204D:shutdown:lt-rndc: connect failed: 10.53.0.3#8950: connection refused
8205D:shutdown:lt-rndc: connect failed: 10.53.0.3#8950: connection refused
8206D:shutdown:lt-rndc: connect failed: 10.53.0.3#8950: connection refused
8207D:shutdown:========================== 1 failed in 32.26 seconds ===========================
8208I:system:FAILED