nixbot

builds

failed python3.14-nixbot-tests checks.x86_64-linux.nixbot-tests · build #453 · 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/kph4f052m0ps4ljhhh8ln49jadh33i04-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/z1y6c5fkcmq0b14vwa558xy6zkiss6m6-python3.14-nixbot-tests38checking for references to /build/ in /nix/store/z1y6c5fkcmq0b14vwa558xy6zkiss6m6-python3.14-nixbot-tests...39patching script interpreter paths in /nix/store/z1y6c5fkcmq0b14vwa558xy6zkiss6m6-python3.14-nixbot-tests40stripping (with command strip and flags -S -p) in /nix/store/z1y6c5fkcmq0b14vwa558xy6zkiss6m6-python3.14-nixbot-tests/lib /nix/store/z1y6c5fkcmq0b14vwa558xy6zkiss6m6-python3.14-nixbot-tests/bin41shrinking RPATHs of ELF executables and libraries in /nix/store/jld22s00cjcvhhh3xxjm03vla2swirb0-python3.14-nixbot-tests-dist42checking for references to /build/ in /nix/store/jld22s00cjcvhhh3xxjm03vla2swirb0-python3.14-nixbot-tests-dist...43patching script interpreter paths in /nix/store/jld22s00cjcvhhh3xxjm03vla2swirb0-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/z1y6c5fkcmq0b14vwa558xy6zkiss6m6-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 [865 items]114115..........................sssssssss..................................... [ 8%]116........................................................................ [ 16%]117........................................................................ [ 24%]118........................................................................ [ 33%]119...................................................................s.... [ 41%]120........................................................................ [ 49%]121..................................................................s..... [ 58%]122........................................................................ [ 66%]123.................s...................................................... [ 74%]124............................................F........................... [ 83%]125........................................................................ [ 91%]126......s................................................................. [ 99%]127. [100%]128=================================== FAILURES ===================================129_ test_eval_runner_filters_configured_eval_systems[eval_systems0-expected_attrs0] _130[gw9] linux -- Python 3.14.6 /nix/store/gxzhl7aaiid7zp3y47jqqiq7zg5mqpwp-python3-3.14.6/bin/python3.14131132tmp_path = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw9/test_eval_runner_filters_confi0')133eval_systems = []134expected_attrs = ['checks.aarch64-linux.foreign', 'checks.x86_64-linux.native']135136 @pytest.mark.skipif(137 shutil.which("nix-eval-jobs") is None or shutil.which("nix") is None,138 reason="nix-eval-jobs not available",139 )140 @pytest.mark.parametrize(141 ("eval_systems", "expected_attrs"),142 [143 (144 [],145 [146 "checks.aarch64-linux.foreign",147 "checks.x86_64-linux.native",148 ],149 ),150 (["x86_64-linux"], ["checks.x86_64-linux.native"]),151 ],152 )153 async def test_eval_runner_filters_configured_eval_systems(154 tmp_path: Path, eval_systems: list[str], expected_attrs: list[str]155 ) -> None:156 flake = tmp_path / "repo"157 flake.mkdir()158 (flake / "flake.nix").write_text(159 """160 {161 outputs = { self }: {162 checks.x86_64-linux.native = derivation {163 name = "native";164 system = "x86_64-linux";165 builder = "/bin/sh";166 args = [ "-c" "echo native > $out" ];167 };168 checks.aarch64-linux.foreign = derivation {169 name = "foreign";170 system = "aarch64-linux";171 builder = "/bin/sh";172 args = [ "-c" "echo foreign > $out" ];173 };174 };175 }176 """177 )178 settings = EvalSettings(179 gc_roots_dir=tmp_path / "gcroots",180 sandbox=False,181 systemd_scope=False,182 eval_systems=eval_systems,183 )184 185> result = await EvalRunner().run(flake, BranchConfig(), settings)186 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^187188nixbot/tests/test_nix_eval.py:450: 189_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 190nixbot/nix_eval.py:604: in run191 return await self._spawn(192_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 193194self = <nixbot.nix_eval.EvalRunner object at 0x7fffed1c0770>195worktree_path = PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw9/test_eval_runner_filters_confi0/repo')196branch_config = BranchConfig(flake_dir='.', lock_file='flake.lock', attribute='checks', effects_on_pull_requests=False, effects_branches=[], build_branches=None, require_approval=True)197settings = EvalSettings(gc_roots_dir=PosixPath('/build/pytest-of-nixbld/pytest-0/popen-gw9/test_eval_runner_filters_confi0/gcroot...attr_prefix=False, build_store_url=None, build_store_token_file=None, build_store_credential_env='NIX_GRPC_TOKEN_FILE')198preexec_fn = None, on_jobs = None, on_stderr_line = None, eval_cgroup = None199200 async def _spawn( # noqa: PLR0913201 self,202 worktree_path: Path,203 branch_config: BranchConfig,204 settings: EvalSettings,205 preexec_fn: Callable[[], None] | None = None,206 on_jobs: JobBatchCallback | None = None,207 on_stderr_line: StderrLineCallback | None = None,208 eval_cgroup: Path | None = None,209 ) -> EvalResult:210 cmd = build_full_command(worktree_path, branch_config, settings)211 logger.info(212 "starting evaluation",213 extra={"worktree": str(worktree_path), "argv0": cmd[0]},214 )215 t0 = time.monotonic()216 proc = await asyncio.create_subprocess_exec(217 *cmd,218 cwd=worktree_path,219 stdout=asyncio.subprocess.PIPE,220 stderr=asyncio.subprocess.PIPE,221 preexec_fn=preexec_fn,222 # Own process group so a timeout can kill the whole tree.223 start_new_session=True,224 limit=STREAM_LIMIT,225 # Proxy/TLS/NIX_* must reach the evaluator: flake input226 # fetching fails in proxy/custom-CA deployments otherwise.227 env={228 **passthrough_env(),229 "CLICOLOR_FORCE": "1",230 "PATH": os.environ.get("PATH", "/usr/bin:/bin"),231 # Fallback to /tmp when no `bwrap`232 "HOME": os.environ.get("HOME", "/tmp"), # noqa: S108233 },234 )235 assert proc.stdout is not None # noqa: S101236 assert proc.stderr is not None # noqa: S101237 238 jobs: list[NixEvalJob] = []239 parse_errors: list[str] = []240 241 try:242 async with asyncio.timeout(settings.timeout):243 _, stderr_bytes = await asyncio.gather(244 _read_job_stream(proc.stdout, jobs, parse_errors, on_jobs),245 _read_stderr_tail(proc.stderr, on_line=on_stderr_line),246 )247 returncode = await proc.wait()248 duration_ms = int((time.monotonic() - t0) * 1000)249 except BaseException as e:250 # Timeout, cancellation, or a reader bug: kill the evaluator251 # instead of leaking it (possibly blocked on a full pipe).252 _kill_process_tree(proc)253 await proc.wait()254 if isinstance(e, TimeoutError):255 msg = f"evaluation timed out after {settings.timeout:.0f} seconds"256 raise EvalError(msg) from None257 raise258 stderr_text = stderr_bytes.decode(errors="replace")259 260 if returncode != 0:261 tail = "\n".join(stderr_text.splitlines()[-50:])262 # No stderr substring match: that would misclassify evals263 # whose trace merely mentions "out of memory".264 if returncode in OOM_RETURN_CODES or cgroup_oom_killed(eval_cgroup):265 msg = (266 "evaluation ran out of memory (cgroup limit "267 f"{settings.memory_limit_mib} MiB, "268 f"{settings.worker_count} x {settings.max_memory_size_mib} "269 "MiB workers); this is a permanent failure, reduce "270 f"evaluation memory usage:\n{tail}"271 )272 raise EvalOOMError(msg)273 msg = f"nix-eval-jobs failed with exit code {returncode}:\n{tail}"274> raise EvalError(msg)275E nixbot.nix_eval.EvalError: nix-eval-jobs failed with exit code -7:276277nixbot/nix_eval.py:691: EvalError278=========================== short test summary info ============================279FAILED nixbot/tests/test_nix_eval.py::test_eval_runner_filters_configured_eval_systems[eval_systems0-expected_attrs0]280================== 1 failed, 851 passed, 13 skipped in 29.67s ==================