nixbot

builds

failed python3.14-nixbot-tests checks.x86_64-linux.nixbot-tests · build #441 · raw

1tribuchet: building on jamie2Sourcing 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/dcq6ixv9iqw5cgsqn7gjdiwg6zwy3nln-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/s23jlfvkcv9bhscb2wbqpgnfw5vp7g10-python3.14-nixbot-tests38checking for references to /build/ in /nix/store/s23jlfvkcv9bhscb2wbqpgnfw5vp7g10-python3.14-nixbot-tests...39patching script interpreter paths in /nix/store/s23jlfvkcv9bhscb2wbqpgnfw5vp7g10-python3.14-nixbot-tests40stripping (with command strip and flags -S -p) in /nix/store/s23jlfvkcv9bhscb2wbqpgnfw5vp7g10-python3.14-nixbot-tests/lib /nix/store/s23jlfvkcv9bhscb2wbqpgnfw5vp7g10-python3.14-nixbot-tests/bin41shrinking RPATHs of ELF executables and libraries in /nix/store/m5i3zwj7q862w6kgzbag71r2wbd3z0d4-python3.14-nixbot-tests-dist42checking for references to /build/ in /nix/store/m5i3zwj7q862w6kgzbag71r2wbd3z0d4-python3.14-nixbot-tests-dist...43patching script interpreter paths in /nix/store/m5i3zwj7q862w6kgzbag71r2wbd3z0d4-python3.14-nixbot-tests-dist44Rewriting #!/nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6/bin/python3.14 to #!/nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.645wrapping `/nix/store/s23jlfvkcv9bhscb2wbqpgnfw5vp7g10-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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/bw67hssv9ybvq4mg5kdzhxh36hg2rw53-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 [862 items]114115.....................................................sssssssss.......... [ 8%]116........................................................................ [ 16%]117........................................................................ [ 25%]118........................................................................ [ 33%]119................................................................s....... [ 41%]120........................................................................ [ 50%]121.............................................s.......................... [ 58%]122.................s...................................................... [ 66%]123........................................................................ [ 75%]124...................................................................F.... [ 83%]125........................................................................ [ 91%]126.........s............................................................ [100%]127=================================== FAILURES ===================================128_ test_eval_runner_filters_configured_eval_systems[eval_systems1-expected_attrs1] _129[gw9] linux -- Python 3.14.6 /nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6/bin/python3.14130131tmp_path = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw9/test_eval_runner_filters_confi1')132eval_systems = ['x86_64-linux'], expected_attrs = ['checks.x86_64-linux.native']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 @pytest.mark.parametrize(139 ("eval_systems", "expected_attrs"),140 [141 (142 [],143 [144 "checks.aarch64-linux.foreign",145 "checks.x86_64-linux.native",146 ],147 ),148 (["x86_64-linux"], ["checks.x86_64-linux.native"]),149 ],150 )151 async def test_eval_runner_filters_configured_eval_systems(152 tmp_path: Path, eval_systems: list[str], expected_attrs: list[str]153 ) -> None:154 flake = tmp_path / "repo"155 flake.mkdir()156 (flake / "flake.nix").write_text(157 """158 {159 outputs = { self }: {160 checks.x86_64-linux.native = derivation {161 name = "native";162 system = "x86_64-linux";163 builder = "/bin/sh";164 args = [ "-c" "echo native > $out" ];165 };166 checks.aarch64-linux.foreign = derivation {167 name = "foreign";168 system = "aarch64-linux";169 builder = "/bin/sh";170 args = [ "-c" "echo foreign > $out" ];171 };172 };173 }174 """175 )176 settings = EvalSettings(177 gc_roots_dir=tmp_path / "gcroots",178 sandbox=False,179 systemd_scope=False,180 eval_systems=eval_systems,181 )182 183> result = await EvalRunner().run(flake, BranchConfig(), settings)184 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^185186nixbot/tests/test_nix_eval.py:450: 187_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 188nixbot/nix_eval.py:604: in run189 return await self._spawn(190_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 191192self = <nixbot.nix_eval.EvalRunner object at 0x7fffecbd0770>193worktree_path = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw9/test_eval_runner_filters_confi1/repo')194branch_config = BranchConfig(flake_dir='.', lock_file='flake.lock', attribute='checks', effects_on_pull_requests=False, effects_branches=[], build_branches=None, require_approval=True)195settings = EvalSettings(gc_roots_dir=PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw9/test_eval_runner_filters_confi1/gcroot...attr_prefix=False, build_store_url=None, build_store_token_file=None, build_store_credential_env='NIX_GRPC_TOKEN_FILE')196preexec_fn = None, on_jobs = None, on_stderr_line = None, eval_cgroup = None197198 async def _spawn( # noqa: PLR0913199 self,200 worktree_path: Path,201 branch_config: BranchConfig,202 settings: EvalSettings,203 preexec_fn: Callable[[], None] | None = None,204 on_jobs: JobBatchCallback | None = None,205 on_stderr_line: StderrLineCallback | None = None,206 eval_cgroup: Path | None = None,207 ) -> EvalResult:208 cmd = build_full_command(worktree_path, branch_config, settings)209 logger.info(210 "starting evaluation",211 extra={"worktree": str(worktree_path), "argv0": cmd[0]},212 )213 t0 = time.monotonic()214 proc = await asyncio.create_subprocess_exec(215 *cmd,216 cwd=worktree_path,217 stdout=asyncio.subprocess.PIPE,218 stderr=asyncio.subprocess.PIPE,219 preexec_fn=preexec_fn,220 # Own process group so a timeout can kill the whole tree.221 start_new_session=True,222 limit=STREAM_LIMIT,223 # Proxy/TLS/NIX_* must reach the evaluator: flake input224 # fetching fails in proxy/custom-CA deployments otherwise.225 env={226 **passthrough_env(),227 "CLICOLOR_FORCE": "1",228 "PATH": os.environ.get("PATH", "/usr/bin:/bin"),229 # Fallback to /tmp when no `bwrap`230 "HOME": os.environ.get("HOME", "/tmp"), # noqa: S108231 },232 )233 assert proc.stdout is not None # noqa: S101234 assert proc.stderr is not None # noqa: S101235 236 jobs: list[NixEvalJob] = []237 parse_errors: list[str] = []238 239 try:240 async with asyncio.timeout(settings.timeout):241 _, stderr_bytes = await asyncio.gather(242 _read_job_stream(proc.stdout, jobs, parse_errors, on_jobs),243 _read_stderr_tail(proc.stderr, on_line=on_stderr_line),244 )245 returncode = await proc.wait()246 duration_ms = int((time.monotonic() - t0) * 1000)247 except BaseException as e:248 # Timeout, cancellation, or a reader bug: kill the evaluator249 # instead of leaking it (possibly blocked on a full pipe).250 _kill_process_tree(proc)251 await proc.wait()252 if isinstance(e, TimeoutError):253 msg = f"evaluation timed out after {settings.timeout:.0f} seconds"254 raise EvalError(msg) from None255 raise256 stderr_text = stderr_bytes.decode(errors="replace")257 258 if returncode != 0:259 tail = "\n".join(stderr_text.splitlines()[-50:])260 # No stderr substring match: that would misclassify evals261 # whose trace merely mentions "out of memory".262 if returncode in OOM_RETURN_CODES or cgroup_oom_killed(eval_cgroup):263 msg = (264 "evaluation ran out of memory (cgroup limit "265 f"{settings.memory_limit_mib} MiB, "266 f"{settings.worker_count} x {settings.max_memory_size_mib} "267 "MiB workers); this is a permanent failure, reduce "268 f"evaluation memory usage:\n{tail}"269 )270 raise EvalOOMError(msg)271 msg = f"nix-eval-jobs failed with exit code {returncode}:\n{tail}"272> raise EvalError(msg)273E nixbot.nix_eval.EvalError: nix-eval-jobs failed with exit code -7:274275nixbot/nix_eval.py:691: EvalError276=========================== short test summary info ============================277FAILED nixbot/tests/test_nix_eval.py::test_eval_runner_filters_configured_eval_systems[eval_systems1-expected_attrs1]278================== 1 failed, 848 passed, 13 skipped in 29.25s ==================