this derivation will be built: /nix/store/bd14y3ssz1w69rv15v5v7sq2vsn65ccg-nix-eval-jobs-functional-tests.drv Failed to find a machine for remote build! derivation: bd14y3ssz1w69rv15v5v7sq2vsn65ccg-nix-eval-jobs-functional-tests.drv required (system, features): (aarch64-linux, []) 1 available machines: (systems, maxjobs, supportedFeatures, mandatoryFeatures) ([aarch64-darwin, x86_64-darwin], 8, [big-parallel, recursive-nix], []) building '/nix/store/bd14y3ssz1w69rv15v5v7sq2vsn65ccg-nix-eval-jobs-functional-tests.drv' nix-eval-jobs-functional-tests> tribuchet: building on eliza nix-eval-jobs-functional-tests> ============================= test session starts ============================== nix-eval-jobs-functional-tests> platform linux -- Python 3.14.7, pytest-9.1.1, pluggy-1.6.0 -- /nix/store/3inr3nxzqarhb9rh1z7s2s20j8c0395h-python3-3.14.7/bin/python3.14 nix-eval-jobs-functional-tests> cachedir: .pytest_cache nix-eval-jobs-functional-tests> rootdir: /build nix-eval-jobs-functional-tests> collecting ... collected 27 items nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_flake PASSED [ 3%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_query_cache_status PASSED [ 7%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_expression PASSED [ 11%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_input_drvs PASSED [ 14%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_odd_attribute_names_and_cycles PASSED [ 18%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_closed_stdout_aborts PASSED [ 22%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_eval_error PASSED [ 25%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_eval_logs_per_attr PASSED [ 29%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_no_gcroot_dir PASSED [ 33%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_daemon_only_settings_do_not_warn PASSED [ 37%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_constituents PASSED [ 40%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_constituents_all PASSED [ 44%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_constituents_glob_misc PASSED [ 48%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_constituents_cycle PASSED [ 51%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_constituents_error PASSED [ 55%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_empty_needed PASSED [ 59%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_apply PASSED [ 62%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_select_flake PASSED [ 66%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_recursion_error PASSED [ 70%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_no_instantiate_mode PASSED [ 74%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_fod_with_uncached_input_issue413[file] PASSED [ 77%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_fod_with_uncached_input_issue413[http] PASSED [ 81%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_worker_log_format_survives_fork PASSED [ 85%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_worker_restart_on_last_job_exits_cleanly PASSED [ 88%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_fetchers_survive_worker_restart FAILED [ 92%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_workers_do_not_race_flake_fetch PASSED [ 96%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_memory_budget_evicts_and_reports_fat_attr PASSED [100%] nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> =================================== FAILURES =================================== nix-eval-jobs-functional-tests> _____________________ test_fetchers_survive_worker_restart _____________________ nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> tmp_path = PosixPath('/build/pytest-of-nixbld/pytest-0/test_fetchers_survive_worker_r0') nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> def test_fetchers_survive_worker_restart(tmp_path: Path) -> None: nix-eval-jobs-functional-tests> """A worker forked after the resolver's first probe (here: forced by nix-eval-jobs-functional-tests> --max-memory-size 1) must not inherit an initialised global nix-eval-jobs-functional-tests> FileTransfer, or its fetchers hang.""" nix-eval-jobs-functional-tests> env = _hermetic_nix_env(tmp_path) nix-eval-jobs-functional-tests> served = tmp_path / "served" nix-eval-jobs-functional-tests> served.mkdir() nix-eval-jobs-functional-tests> sources = {} nix-eval-jobs-functional-tests> for name in ("one", "two"): nix-eval-jobs-functional-tests> data = f"fetched {name}\n".encode() nix-eval-jobs-functional-tests> served.joinpath(name).write_bytes(data) nix-eval-jobs-functional-tests> sources[name] = base64.b64encode(hashlib.sha256(data).digest()).decode() nix-eval-jobs-functional-tests> served.joinpath("nix-cache-info").write_text( nix-eval-jobs-functional-tests> f"StoreDir: {env['NIX_STORE_DIR']}\nWantMassQuery: 1\nPriority: 40\n" nix-eval-jobs-functional-tests> ) nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> with _http_server(served) as url: nix-eval-jobs-functional-tests> jobs = "\n".join( nix-eval-jobs-functional-tests> f""" nix-eval-jobs-functional-tests> job-{name} = derivation {{ nix-eval-jobs-functional-tests> name = "restart-fetch-{name}"; nix-eval-jobs-functional-tests> system = builtins.currentSystem; nix-eval-jobs-functional-tests> builder = "/bin/sh"; nix-eval-jobs-functional-tests> src = builtins.fetchurl {{ nix-eval-jobs-functional-tests> url = "{url}/{name}"; nix-eval-jobs-functional-tests> sha256 = "sha256-{digest}"; nix-eval-jobs-functional-tests> }}; nix-eval-jobs-functional-tests> }};""" nix-eval-jobs-functional-tests> for name, digest in sources.items() nix-eval-jobs-functional-tests> ) nix-eval-jobs-functional-tests> > res = subprocess.run( nix-eval-jobs-functional-tests> [ nix-eval-jobs-functional-tests> str(BIN), nix-eval-jobs-functional-tests> "--workers", nix-eval-jobs-functional-tests> "1", nix-eval-jobs-functional-tests> "--max-memory-size", nix-eval-jobs-functional-tests> "1", nix-eval-jobs-functional-tests> "--check-cache-status", nix-eval-jobs-functional-tests> "--option", nix-eval-jobs-functional-tests> "substituters", nix-eval-jobs-functional-tests> url, nix-eval-jobs-functional-tests> "--option", nix-eval-jobs-functional-tests> "require-sigs", nix-eval-jobs-functional-tests> "false", nix-eval-jobs-functional-tests> "--expr", nix-eval-jobs-functional-tests> f"{{ {jobs} }}", nix-eval-jobs-functional-tests> ], nix-eval-jobs-functional-tests> env=env, nix-eval-jobs-functional-tests> text=True, nix-eval-jobs-functional-tests> check=True, nix-eval-jobs-functional-tests> capture_output=True, nix-eval-jobs-functional-tests> timeout=30, nix-eval-jobs-functional-tests> ) nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> tests-functional/test_eval.py:894: nix-eval-jobs-functional-tests> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> input = None, capture_output = True, timeout = 30, check = True nix-eval-jobs-functional-tests> popenargs = (['/nix/store/3i4xs8cdjvavca7cpzbaa15qp7446klh-nix-eval-jobs-2.35.2/bin/nix-eval-jobs', '--workers', '1', '--max-memory-size', '1', '--check-cache-status', ...],) nix-eval-jobs-functional-tests> kwargs = {'env': {'SHELL': '/nix/store/3kaakrwd1jia637aa3cpj3lkgfxwg3k3-bash-5.3p15/bin/bash', '_PYTHON_HOST_PLATFORM': 'linux-aarch64', 'NIX_BUILD_CORES': '24', 'configureFlags': '', ...}, 'text': True, 'stdout': -1, 'stderr': -1} nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> def run(*popenargs, nix-eval-jobs-functional-tests> input=None, capture_output=False, timeout=None, check=False, **kwargs): nix-eval-jobs-functional-tests> """Run command with arguments and return a CompletedProcess instance. nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> The returned instance will have attributes args, returncode, stdout and nix-eval-jobs-functional-tests> stderr. By default, stdout and stderr are not captured, and those attributes nix-eval-jobs-functional-tests> will be None. Pass stdout=PIPE and/or stderr=PIPE in order to capture them, nix-eval-jobs-functional-tests> or pass capture_output=True to capture both. nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> If check is True and the exit code was non-zero, it raises a nix-eval-jobs-functional-tests> CalledProcessError. The CalledProcessError object will have the return code nix-eval-jobs-functional-tests> in the returncode attribute, and output & stderr attributes if those streams nix-eval-jobs-functional-tests> were captured. nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> If timeout (seconds) is given and the process takes too long, nix-eval-jobs-functional-tests> a TimeoutExpired exception will be raised. nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> There is an optional argument "input", allowing you to nix-eval-jobs-functional-tests> pass bytes or a string to the subprocess's stdin. If you use this argument nix-eval-jobs-functional-tests> you may not also use the Popen constructor's "stdin" argument, as nix-eval-jobs-functional-tests> it will be used internally. nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> By default, all communication is in bytes, and therefore any "input" should nix-eval-jobs-functional-tests> be bytes, and the stdout and stderr will be bytes. If in text mode, any nix-eval-jobs-functional-tests> "input" should be a string, and stdout and stderr will be strings decoded nix-eval-jobs-functional-tests> according to locale encoding, or by "encoding" if set. Text mode is nix-eval-jobs-functional-tests> triggered by setting any of text, encoding, errors or universal_newlines. nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> The other arguments are the same as for the Popen constructor. nix-eval-jobs-functional-tests> """ nix-eval-jobs-functional-tests> if input is not None: nix-eval-jobs-functional-tests> if kwargs.get('stdin') is not None: nix-eval-jobs-functional-tests> raise ValueError('stdin and input arguments may not both be used.') nix-eval-jobs-functional-tests> kwargs['stdin'] = PIPE nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> if capture_output: nix-eval-jobs-functional-tests> if kwargs.get('stdout') is not None or kwargs.get('stderr') is not None: nix-eval-jobs-functional-tests> raise ValueError('stdout and stderr arguments may not be used ' nix-eval-jobs-functional-tests> 'with capture_output.') nix-eval-jobs-functional-tests> kwargs['stdout'] = PIPE nix-eval-jobs-functional-tests> kwargs['stderr'] = PIPE nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> with Popen(*popenargs, **kwargs) as process: nix-eval-jobs-functional-tests> try: nix-eval-jobs-functional-tests> stdout, stderr = process.communicate(input, timeout=timeout) nix-eval-jobs-functional-tests> except TimeoutExpired as exc: nix-eval-jobs-functional-tests> process.kill() nix-eval-jobs-functional-tests> if _mswindows: nix-eval-jobs-functional-tests> # Windows accumulates the output in a single blocking nix-eval-jobs-functional-tests> # read() call run on child threads, with the timeout nix-eval-jobs-functional-tests> # being done in a join() on those threads. communicate() nix-eval-jobs-functional-tests> # _after_ kill() is required to collect that and add it nix-eval-jobs-functional-tests> # to the exception. nix-eval-jobs-functional-tests> exc.stdout, exc.stderr = process.communicate() nix-eval-jobs-functional-tests> else: nix-eval-jobs-functional-tests> # POSIX _communicate already populated the output so nix-eval-jobs-functional-tests> # far into the TimeoutExpired exception. nix-eval-jobs-functional-tests> process.wait() nix-eval-jobs-functional-tests> raise nix-eval-jobs-functional-tests> except: # Including KeyboardInterrupt, communicate handled that. nix-eval-jobs-functional-tests> process.kill() nix-eval-jobs-functional-tests> # We don't call process.wait() as .__exit__ does that for us. nix-eval-jobs-functional-tests> raise nix-eval-jobs-functional-tests> retcode = process.poll() nix-eval-jobs-functional-tests> if check and retcode: nix-eval-jobs-functional-tests> > raise CalledProcessError(retcode, process.args, nix-eval-jobs-functional-tests> output=stdout, stderr=stderr) nix-eval-jobs-functional-tests> E subprocess.CalledProcessError: Command '['/nix/store/3i4xs8cdjvavca7cpzbaa15qp7446klh-nix-eval-jobs-2.35.2/bin/nix-eval-jobs', '--workers', '1', '--max-memory-size', '1', '--check-cache-status', '--option', 'substituters', 'http://127.0.0.1:39731', '--option', 'require-sigs', 'false', '--expr', '{ \n job-one = derivation {\n name = "restart-fetch-one";\n system = builtins.currentSystem;\n builder = "/bin/sh";\n src = builtins.fetchurl {\n url = "http://127.0.0.1:39731/one";\n sha256 = "sha256-C8R+rUnF6zB1XcpKB1CRhoTxAWbak8q2FVrl1xeCdH0=";\n };\n };\n\n job-two = derivation {\n name = "restart-fetch-two";\n system = builtins.currentSystem;\n builder = "/bin/sh";\n src = builtins.fetchurl {\n url = "http://127.0.0.1:39731/two";\n sha256 = "sha256-3bcNKKO89Jbx18BuDi4jUHHoFu2VwpFY9zAjG1JpEL8=";\n };\n }; }']' returned non-zero exit status 1. nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> /nix/store/3inr3nxzqarhb9rh1z7s2s20j8c0395h-python3-3.14.7/lib/python3.14/subprocess.py:578: CalledProcessError nix-eval-jobs-functional-tests> =========================== short test summary info ============================ nix-eval-jobs-functional-tests> FAILED tests-functional/test_eval.py::test_fetchers_survive_worker_restart - ... nix-eval-jobs-functional-tests> ======================== 1 failed, 26 passed in 18.54s ========================= error: Cannot build '/nix/store/bd14y3ssz1w69rv15v5v7sq2vsn65ccg-nix-eval-jobs-functional-tests.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/vfsgc3w06qp6x4mdsdr6cf2prsqp41nm-nix-eval-jobs-functional-tests Last 25 log lines: > # Windows accumulates the output in a single blocking > # read() call run on child threads, with the timeout > # being done in a join() on those threads. communicate() > # _after_ kill() is required to collect that and add it > # to the exception. > exc.stdout, exc.stderr = process.communicate() > else: > # POSIX _communicate already populated the output so > # far into the TimeoutExpired exception. > process.wait() > raise > except: # Including KeyboardInterrupt, communicate handled that. > process.kill() > # We don't call process.wait() as .__exit__ does that for us. > raise > retcode = process.poll() > if check and retcode: > > raise CalledProcessError(retcode, process.args, > output=stdout, stderr=stderr) > E subprocess.CalledProcessError: Command '['/nix/store/3i4xs8cdjvavca7cpzbaa15qp7446klh-nix-eval-jobs-2.35.2/bin/nix-eval-jobs', '--workers', '1', '--max-memory-size', '1', '--check-cache-status', '--option', 'substituters', 'http://127.0.0.1:39731', '--option', 'require-sigs', 'false', '--expr', '{ \n job-one = derivation {\n name = "restart-fetch-one";\n system = builtins.currentSystem;\n builder = "/bin/sh";\n src = builtins.fetchurl {\n url = "http://127.0.0.1:39731/one";\n sha256 = "sha256-C8R+rUnF6zB1XcpKB1CRhoTxAWbak8q2FVrl1xeCdH0=";\n };\n };\n\n job-two = derivation {\n name = "restart-fetch-two";\n system = builtins.currentSystem;\n builder = "/bin/sh";\n src = builtins.fetchurl {\n url = "http://127.0.0.1:39731/two";\n sha256 = "sha256-3bcNKKO89Jbx18BuDi4jUHHoFu2VwpFY9zAjG1JpEL8=";\n };\n }; }']' returned non-zero exit status 1. > > /nix/store/3inr3nxzqarhb9rh1z7s2s20j8c0395h-python3-3.14.7/lib/python3.14/subprocess.py:578: CalledProcessError > =========================== short test summary info ============================ > FAILED tests-functional/test_eval.py::test_fetchers_survive_worker_restart - ... > ======================== 1 failed, 26 passed in 18.54s ========================= For full logs, run: nix log /nix/store/bd14y3ssz1w69rv15v5v7sq2vsn65ccg-nix-eval-jobs-functional-tests.drv nixbot: transient error detected, retrying once this derivation will be built: /nix/store/bd14y3ssz1w69rv15v5v7sq2vsn65ccg-nix-eval-jobs-functional-tests.drv Failed to find a machine for remote build! derivation: bd14y3ssz1w69rv15v5v7sq2vsn65ccg-nix-eval-jobs-functional-tests.drv required (system, features): (aarch64-linux, []) 1 available machines: (systems, maxjobs, supportedFeatures, mandatoryFeatures) ([aarch64-darwin, x86_64-darwin], 8, [big-parallel, recursive-nix], []) building '/nix/store/bd14y3ssz1w69rv15v5v7sq2vsn65ccg-nix-eval-jobs-functional-tests.drv' nix-eval-jobs-functional-tests> tribuchet: building on eliza nix-eval-jobs-functional-tests> ============================= test session starts ============================== nix-eval-jobs-functional-tests> platform linux -- Python 3.14.7, pytest-9.1.1, pluggy-1.6.0 -- /nix/store/3inr3nxzqarhb9rh1z7s2s20j8c0395h-python3-3.14.7/bin/python3.14 nix-eval-jobs-functional-tests> cachedir: .pytest_cache nix-eval-jobs-functional-tests> rootdir: /build nix-eval-jobs-functional-tests> collecting ... collected 27 items nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_flake PASSED [ 3%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_query_cache_status PASSED [ 7%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_expression PASSED [ 11%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_input_drvs PASSED [ 14%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_odd_attribute_names_and_cycles PASSED [ 18%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_closed_stdout_aborts PASSED [ 22%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_eval_error PASSED [ 25%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_eval_logs_per_attr PASSED [ 29%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_no_gcroot_dir PASSED [ 33%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_daemon_only_settings_do_not_warn PASSED [ 37%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_constituents PASSED [ 40%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_constituents_all PASSED [ 44%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_constituents_glob_misc PASSED [ 48%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_constituents_cycle PASSED [ 51%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_constituents_error PASSED [ 55%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_empty_needed PASSED [ 59%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_apply PASSED [ 62%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_select_flake PASSED [ 66%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_recursion_error PASSED [ 70%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_no_instantiate_mode PASSED [ 74%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_fod_with_uncached_input_issue413[file] PASSED [ 77%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_fod_with_uncached_input_issue413[http] PASSED [ 81%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_worker_log_format_survives_fork PASSED [ 85%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_worker_restart_on_last_job_exits_cleanly PASSED [ 88%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_fetchers_survive_worker_restart PASSED [ 92%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_workers_do_not_race_flake_fetch PASSED [ 96%] nix-eval-jobs-functional-tests> tests-functional/test_eval.py::test_memory_budget_evicts_and_reports_fat_attr PASSED [100%] nix-eval-jobs-functional-tests> nix-eval-jobs-functional-tests> ============================= 27 passed in 17.04s ============================== post-build step Upload coverage to codecov: ok Skipping codecov: project=NixOS/nix-eval-jobs attr=checks.aarch64-linux.functional-tests