nixbot

builds

failed python3.14-nixbot-tests checks.aarch64-linux.nixbot-tests · build #442 · raw

1tribuchet: building on eliza2Sourcing python-remove-tests-dir-hook3Sourcing python-catch-conflicts-hook.sh4Sourcing python-remove-bin-bytecode-hook.sh5Sourcing pypa-build-hook6Using pypaBuildPhase7Sourcing python-runtime-deps-check-hook8Using pythonRuntimeDepsCheckHook9Sourcing pypa-install-hook10Using pypaInstallPhase11Sourcing python-imports-check-hook.sh12Using pythonImportsCheckPhase13Sourcing python-namespaces-hook14Sourcing python-catch-conflicts-hook.sh15Sourcing pytest-check-hook16Using pytestCheckPhase
unpackPhase
17unpacking source archive /nix/store/hh64ahv50hg36i1sf325c5jk1d65nx8a-nixbot18source root is nixbot19setting SOURCE_DATE_EPOCH to timestamp 315619200 of file "nixbot/pyproject.toml"
configurePhase
20no configure script, doing nothing
buildPhase
21Executing pypaBuildPhase22Creating a wheel...23pypa build flags: --no-isolation --outdir dist/ --wheel24* Getting build dependencies for wheel...25* Building wheel...26Successfully built nixbot-0.0.1-py3-none-any.whl27Finished creating a wheel...28Finished executing pypaBuildPhase
pythonRuntimeDepsCheckHook
29Executing pythonRuntimeDepsCheck30Checking runtime dependencies for nixbot-0.0.1-py3-none-any.whl31Finished executing pythonRuntimeDepsCheck
installPhase
32Executing pypaInstallPhase33Successfully installed nixbot-0.0.1-py3-none-any.whl34Finished executing pypaInstallPhase
pythonOutputDistPhase
35Executing pythonOutputDistPhase36Finished executing pythonOutputDistPhase
fixupPhase
37shrinking RPATHs of ELF executables and libraries in /nix/store/mil9xp63y2ngsfwmaqjxyxyf64fr2zr7-python3.14-nixbot-tests38checking for references to /build/ in /nix/store/mil9xp63y2ngsfwmaqjxyxyf64fr2zr7-python3.14-nixbot-tests...39patching script interpreter paths in /nix/store/mil9xp63y2ngsfwmaqjxyxyf64fr2zr7-python3.14-nixbot-tests40stripping (with command strip and flags -S -p) in /nix/store/mil9xp63y2ngsfwmaqjxyxyf64fr2zr7-python3.14-nixbot-tests/lib /nix/store/mil9xp63y2ngsfwmaqjxyxyf64fr2zr7-python3.14-nixbot-tests/bin41shrinking RPATHs of ELF executables and libraries in /nix/store/4ghf5qhgp6nah9d3s3ic92d05gkaqsrm-python3.14-nixbot-tests-dist42checking for references to /build/ in /nix/store/4ghf5qhgp6nah9d3s3ic92d05gkaqsrm-python3.14-nixbot-tests-dist...43patching script interpreter paths in /nix/store/4ghf5qhgp6nah9d3s3ic92d05gkaqsrm-python3.14-nixbot-tests-dist44Rewriting #!/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/bin/python3.14 to #!/nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.645wrapping `/nix/store/mil9xp63y2ngsfwmaqjxyxyf64fr2zr7-python3.14-nixbot-tests/bin/nixbot'...46Executing pythonRemoveTestsDir47Finished executing pythonRemoveTestsDir
installCheckPhase
48no Makefile or custom installCheckPhase, doing nothing
pythonImportsCheckPhase
49Executing pythonImportsCheckPhase
pytestCheckPhase
50Executing pytestCheckPhase51pytest flags: -m pytest --numprocesses=2452/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.53 warner(PytestBenchmarkWarning(text))54/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.55 warner(PytestBenchmarkWarning(text))56/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.57 warner(PytestBenchmarkWarning(text))58/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.59 warner(PytestBenchmarkWarning(text))60/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.61 warner(PytestBenchmarkWarning(text))62/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.63 warner(PytestBenchmarkWarning(text))64/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.65 warner(PytestBenchmarkWarning(text))66/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.67 warner(PytestBenchmarkWarning(text))68/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.69 warner(PytestBenchmarkWarning(text))70/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.71 warner(PytestBenchmarkWarning(text))72/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.73 warner(PytestBenchmarkWarning(text))74/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.75 warner(PytestBenchmarkWarning(text))76/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.77 warner(PytestBenchmarkWarning(text))78/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.79 warner(PytestBenchmarkWarning(text))80/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.81 warner(PytestBenchmarkWarning(text))82/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.83 warner(PytestBenchmarkWarning(text))84/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.85 warner(PytestBenchmarkWarning(text))86/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.87 warner(PytestBenchmarkWarning(text))88/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.89 warner(PytestBenchmarkWarning(text))90/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.91 warner(PytestBenchmarkWarning(text))92/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.93 warner(PytestBenchmarkWarning(text))94/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.95 warner(PytestBenchmarkWarning(text))96/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.97 warner(PytestBenchmarkWarning(text))98/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.99 warner(PytestBenchmarkWarning(text))100/nix/store/2xp5r99cnys85h806mpdw43bz48y05ds-python3.14-pytest-benchmark-5.2.3/lib/python3.14/site-packages/pytest_benchmark/logger.py:44: PytestBenchmarkWarning: Benchmarks are automatically disabled because xdist plugin is active.Benchmarks cannot be performed reliably in a parallelized environment.101 warner(PytestBenchmarkWarning(text))102============================= test session starts ==============================103platform linux -- Python 3.14.6, pytest-9.1.1, pluggy-1.6.0104benchmark: 5.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000)105rootdir: /build/nixbot106configfile: pyproject.toml107plugins: asyncio-1.4.0, timeout-2.4.0, xdist-3.8.0, benchmark-5.2.3, anyio-4.14.2108asyncio: mode=Mode.AUTO, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function109timeout: 60.0s110timeout method: signal111timeout func_only: False112created: 24/24 workers11324 workers [870 items]114115...................sss............ssssss................................ [ 8%]116........................................................................ [ 16%]117........................................................................ [ 24%]118........................................................................ [ 33%]119................................................................s..F.... [ 41%]120........................................................................ [ 49%]121.................................................s...................... [ 57%]122..............................................................s......... [ 66%]123........................................................................ [ 74%]124........................................................................ [ 82%]125........................................................................ [ 91%]126.................s...................................................... [ 99%]127...... [100%]128=================================== FAILURES ===================================129_________________________ test_eval_runner_integration _________________________130[gw9] linux -- Python 3.14.6 /nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/bin/python3.14131132tmp_path = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw9/test_eval_runner_integration0')133134 @pytest.mark.skipif(135 shutil.which("nix-eval-jobs") is None or shutil.which("nix") is None,136 reason="nix-eval-jobs not available",137 )138 async def test_eval_runner_integration(tmp_path: Path) -> None:139 flake = tmp_path / "repo"140 flake.mkdir()141 (flake / "flake.nix").write_text(142 """143 {144 outputs = { self }: {145 checks.x86_64-linux.ok = builtins.warn "eval warning here" (146 derivation {147 name = "ok";148 system = "x86_64-linux";149 builder = "/bin/sh";150 args = [ "-c" "echo ok > $out" ];151 }152 );153 hydraJobs.ci.x86_64-linux.nested = derivation {154 name = "nested";155 system = "x86_64-linux";156 builder = "/bin/sh";157 args = [ "-c" "echo nested > $out" ];158 };159 };160 }161 """162 )163 settings = EvalSettings(164 gc_roots_dir=tmp_path / "gcroots",165 sandbox=False,166 systemd_scope=False,167 )168 seen: list[str] = []169 170 async def on_line(line: str) -> None:171 seen.append(line)172 173 result = await EvalRunner().run(174 flake, BranchConfig(), settings, on_stderr_line=on_line175 )176 assert len(result.jobs) == 1177 job = result.jobs[0]178 assert job.attr == "checks.x86_64-linux.ok" # type: ignore[union-attr]179 assert any("eval warning here" in line for line in seen)180 assert result.duration_ms > 0181 assert job.stats is not None182 assert job.stats.alloc_bytes > 0183 184 # Dotted attribute config selects the nested path.185> result = await EvalRunner().run(186 flake, BranchConfig(attribute="hydraJobs.ci"), settings187 )188189nixbot/tests/test_nix_eval.py:326: 190_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 191nixbot/nix_eval.py:604: in run192 return await self._spawn(193_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 194195self = <nixbot.nix_eval.EvalRunner object at 0xfffff4241450>196worktree_path = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw9/test_eval_runner_integration0/repo')197branch_config = BranchConfig(flake_dir='.', lock_file='flake.lock', attribute='hydraJobs.ci', effects_on_pull_requests=False, effects_branches=[], build_branches=None, require_approval=True)198settings = EvalSettings(gc_roots_dir=PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw9/test_eval_runner_integration0/gcroots'...attr_prefix=False, build_store_url=None, build_store_token_file=None, build_store_credential_env='NIX_GRPC_TOKEN_FILE')199preexec_fn = None, on_jobs = None, on_stderr_line = None, eval_cgroup = None200201 async def _spawn( # noqa: PLR0913202 self,203 worktree_path: Path,204 branch_config: BranchConfig,205 settings: EvalSettings,206 preexec_fn: Callable[[], None] | None = None,207 on_jobs: JobBatchCallback | None = None,208 on_stderr_line: StderrLineCallback | None = None,209 eval_cgroup: Path | None = None,210 ) -> EvalResult:211 cmd = build_full_command(worktree_path, branch_config, settings)212 logger.info(213 "starting evaluation",214 extra={"worktree": str(worktree_path), "argv0": cmd[0]},215 )216 t0 = time.monotonic()217 proc = await asyncio.create_subprocess_exec(218 *cmd,219 cwd=worktree_path,220 stdout=asyncio.subprocess.PIPE,221 stderr=asyncio.subprocess.PIPE,222 preexec_fn=preexec_fn,223 # Own process group so a timeout can kill the whole tree.224 start_new_session=True,225 limit=STREAM_LIMIT,226 # Proxy/TLS/NIX_* must reach the evaluator: flake input227 # fetching fails in proxy/custom-CA deployments otherwise.228 env={229 **passthrough_env(),230 "CLICOLOR_FORCE": "1",231 "PATH": os.environ.get("PATH", "/usr/bin:/bin"),232 # Fallback to /tmp when no `bwrap`233 "HOME": os.environ.get("HOME", "/tmp"), # noqa: S108234 },235 )236 assert proc.stdout is not None # noqa: S101237 assert proc.stderr is not None # noqa: S101238 239 jobs: list[NixEvalJob] = []240 parse_errors: list[str] = []241 242 try:243 async with asyncio.timeout(settings.timeout):244 _, stderr_bytes = await asyncio.gather(245 _read_job_stream(proc.stdout, jobs, parse_errors, on_jobs),246 _read_stderr_tail(proc.stderr, on_line=on_stderr_line),247 )248 returncode = await proc.wait()249 duration_ms = int((time.monotonic() - t0) * 1000)250 except BaseException as e:251 # Timeout, cancellation, or a reader bug: kill the evaluator252 # instead of leaking it (possibly blocked on a full pipe).253 _kill_process_tree(proc)254 await proc.wait()255 if isinstance(e, TimeoutError):256 msg = f"evaluation timed out after {settings.timeout:.0f} seconds"257 raise EvalError(msg) from None258 raise259 stderr_text = stderr_bytes.decode(errors="replace")260 261 if returncode != 0:262 tail = "\n".join(stderr_text.splitlines()[-50:])263 # No stderr substring match: that would misclassify evals264 # whose trace merely mentions "out of memory".265 if returncode in OOM_RETURN_CODES or cgroup_oom_killed(eval_cgroup):266 msg = (267 "evaluation ran out of memory (cgroup limit "268 f"{settings.memory_limit_mib} MiB, "269 f"{settings.worker_count} x {settings.max_memory_size_mib} "270 "MiB workers); this is a permanent failure, reduce "271 f"evaluation memory usage:\n{tail}"272 )273 raise EvalOOMError(msg)274 msg = f"nix-eval-jobs failed with exit code {returncode}:\n{tail}"275> raise EvalError(msg)276E nixbot.nix_eval.EvalError: nix-eval-jobs failed with exit code 1:277E error: while starting worker, evaluation worker crashed with signal 7 (Bus error); enable coredumps for a backtrace278279nixbot/nix_eval.py:691: EvalError280=========================== short test summary info ============================281FAILED nixbot/tests/test_nix_eval.py::test_eval_runner_integration - nixbot.n...282================== 1 failed, 856 passed, 13 skipped in 30.33s ==================