nixbot

builds

failed python3.14-nixbot-tests checks.aarch64-linux.nixbot-tests · build #445 · 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/s3xvhv4yqpdrzymilmmzl402lvdw6vmw-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/5plzr0qi85jp4arp6s30q9scxikc53yr-python3.14-nixbot-tests38checking for references to /build/ in /nix/store/5plzr0qi85jp4arp6s30q9scxikc53yr-python3.14-nixbot-tests...39patching script interpreter paths in /nix/store/5plzr0qi85jp4arp6s30q9scxikc53yr-python3.14-nixbot-tests40stripping (with command strip and flags -S -p) in /nix/store/5plzr0qi85jp4arp6s30q9scxikc53yr-python3.14-nixbot-tests/lib /nix/store/5plzr0qi85jp4arp6s30q9scxikc53yr-python3.14-nixbot-tests/bin41shrinking RPATHs of ELF executables and libraries in /nix/store/wgc1mig3bc9ci18m09d4hc58k7srq0sz-python3.14-nixbot-tests-dist42checking for references to /build/ in /nix/store/wgc1mig3bc9ci18m09d4hc58k7srq0sz-python3.14-nixbot-tests-dist...43patching script interpreter paths in /nix/store/wgc1mig3bc9ci18m09d4hc58k7srq0sz-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/5plzr0qi85jp4arp6s30q9scxikc53yr-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 [861 items]114115..........ssssss...............................................s........ [ 8%]116........................................................................ [ 16%]117...............................ss....................................... [ 25%]118........................................................................ [ 33%]119............................................................s........... [ 41%]120........................................................................ [ 50%]121............................................s........................... [ 58%]122..........................s......F...................................... [ 66%]123........................................................................ [ 75%]124........................................................................ [ 83%]125........................................................................ [ 91%]126....s................................................................ [100%]127=================================== FAILURES ===================================128_________________ test_eval_runner_ignores_hercules_ci_outputs _________________129[gw9] linux -- Python 3.14.6 /nix/store/41m77i1296n33p6liin8ynr6wh3h6b7m-python3-3.14.6/bin/python3.14130131tmp_path = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw9/test_eval_runner_ignores_hercu0')132133 @pytest.mark.skipif(134 shutil.which("nix-eval-jobs") is None or shutil.which("nix") is None,135 reason="nix-eval-jobs not available",136 )137 async def test_eval_runner_ignores_hercules_ci_outputs(tmp_path: Path) -> None:138 """Only the configured attribute is built, filtered by139 eval_systems. herculesCI outputs (onPush jobs, ciSystems) are not140 evaluated here; effects discovery is nixbot_effects' job.141 """142 flake = tmp_path / "repo"143 flake.mkdir()144 (flake / "flake.nix").write_text(145 """146 {147 outputs = { self }: {148 checks.x86_64-linux.extra = derivation {149 name = "extra";150 system = "x86_64-linux";151 builder = "/bin/sh";152 args = [ "-c" "echo extra > $out" ];153 };154 checks.aarch64-linux.kept = derivation {155 name = "kept";156 system = "aarch64-linux";157 builder = "/bin/sh";158 args = [ "-c" "echo no > $out" ];159 };160 herculesCI = { primaryRepo, ... }: {161 ciSystems = [ "x86_64-linux" ];162 onPush.default.outputs = {163 checks.x86_64-linux.ok = derivation {164 name = "ok-" + primaryRepo.shortRev;165 system = "x86_64-linux";166 builder = "/bin/sh";167 args = [ "-c" "echo ok > $out" ];168 };169 checks.aarch64-linux.unfiltered = derivation {170 name = "unfiltered";171 system = "aarch64-linux";172 builder = "/bin/sh";173 args = [ "-c" "echo yes > $out" ];174 };175 effects.deploy = { isEffect = true; };176 ignored = { recurseForDerivations = false; hidden = self; };177 };178 onPush.docs.outputs.site = derivation {179 name = "site";180 system = "x86_64-linux";181 builder = "/bin/sh";182 args = [ "-c" "echo site > $out" ];183 };184 };185 };186 }187 """188 )189 settings = EvalSettings(190 gc_roots_dir=tmp_path / "gcroots",191 sandbox=False,192 systemd_scope=False,193 eval_systems=["aarch64-linux"],194 )195> result = await EvalRunner().run(flake, BranchConfig(), settings)196 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^197198nixbot/tests/test_nix_eval.py:394: 199_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 200nixbot/nix_eval.py:604: in run201 return await self._spawn(202_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 203204self = <nixbot.nix_eval.EvalRunner object at 0xfffff4241450>205worktree_path = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw9/test_eval_runner_ignores_hercu0/repo')206branch_config = BranchConfig(flake_dir='.', lock_file='flake.lock', attribute='checks', effects_on_pull_requests=False, effects_branches=[], build_branches=None, require_approval=True)207settings = EvalSettings(gc_roots_dir=PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw9/test_eval_runner_ignores_hercu0/gcroot...attr_prefix=False, build_store_url=None, build_store_token_file=None, build_store_credential_env='NIX_GRPC_TOKEN_FILE')208preexec_fn = None, on_jobs = None, on_stderr_line = None, eval_cgroup = None209210 async def _spawn( # noqa: PLR0913211 self,212 worktree_path: Path,213 branch_config: BranchConfig,214 settings: EvalSettings,215 preexec_fn: Callable[[], None] | None = None,216 on_jobs: JobBatchCallback | None = None,217 on_stderr_line: StderrLineCallback | None = None,218 eval_cgroup: Path | None = None,219 ) -> EvalResult:220 cmd = build_full_command(worktree_path, branch_config, settings)221 logger.info(222 "starting evaluation",223 extra={"worktree": str(worktree_path), "argv0": cmd[0]},224 )225 t0 = time.monotonic()226 proc = await asyncio.create_subprocess_exec(227 *cmd,228 cwd=worktree_path,229 stdout=asyncio.subprocess.PIPE,230 stderr=asyncio.subprocess.PIPE,231 preexec_fn=preexec_fn,232 # Own process group so a timeout can kill the whole tree.233 start_new_session=True,234 limit=STREAM_LIMIT,235 # Proxy/TLS/NIX_* must reach the evaluator: flake input236 # fetching fails in proxy/custom-CA deployments otherwise.237 env={238 **passthrough_env(),239 "CLICOLOR_FORCE": "1",240 "PATH": os.environ.get("PATH", "/usr/bin:/bin"),241 # Fallback to /tmp when no `bwrap`242 "HOME": os.environ.get("HOME", "/tmp"), # noqa: S108243 },244 )245 assert proc.stdout is not None # noqa: S101246 assert proc.stderr is not None # noqa: S101247 248 jobs: list[NixEvalJob] = []249 parse_errors: list[str] = []250 251 try:252 async with asyncio.timeout(settings.timeout):253 _, stderr_bytes = await asyncio.gather(254 _read_job_stream(proc.stdout, jobs, parse_errors, on_jobs),255 _read_stderr_tail(proc.stderr, on_line=on_stderr_line),256 )257 returncode = await proc.wait()258 duration_ms = int((time.monotonic() - t0) * 1000)259 except BaseException as e:260 # Timeout, cancellation, or a reader bug: kill the evaluator261 # instead of leaking it (possibly blocked on a full pipe).262 _kill_process_tree(proc)263 await proc.wait()264 if isinstance(e, TimeoutError):265 msg = f"evaluation timed out after {settings.timeout:.0f} seconds"266 raise EvalError(msg) from None267 raise268 stderr_text = stderr_bytes.decode(errors="replace")269 270 if returncode != 0:271 tail = "\n".join(stderr_text.splitlines()[-50:])272 # No stderr substring match: that would misclassify evals273 # whose trace merely mentions "out of memory".274 if returncode in OOM_RETURN_CODES or cgroup_oom_killed(eval_cgroup):275 msg = (276 "evaluation ran out of memory (cgroup limit "277 f"{settings.memory_limit_mib} MiB, "278 f"{settings.worker_count} x {settings.max_memory_size_mib} "279 "MiB workers); this is a permanent failure, reduce "280 f"evaluation memory usage:\n{tail}"281 )282 raise EvalOOMError(msg)283 msg = f"nix-eval-jobs failed with exit code {returncode}:\n{tail}"284> raise EvalError(msg)285E nixbot.nix_eval.EvalError: nix-eval-jobs failed with exit code 1:286E error: while evaluating 'checks.aarch64-linux.kept', evaluation worker crashed with signal 7 (Bus error); enable coredumps for a backtrace287288nixbot/nix_eval.py:691: EvalError289=========================== short test summary info ============================290FAILED nixbot/tests/test_nix_eval.py::test_eval_runner_ignores_hercules_ci_outputs291================== 1 failed, 847 passed, 13 skipped in 31.62s ==================