| 14 Apr 2025 |
@aloisw:julia0815.de | What Nix is running on the build machine? | 07:00:08 |
@aloisw:julia0815.de | (I only see SCMP_ACT_ALLOW and SCMP_ACT_ERRNO in both NixOS/nix and Lix source code, which should not trigger the signal.) | 07:03:13 |
trofi | good point | 07:13:39 |
dramforever | some default action in seccomp? | 07:14:09 |
dramforever | what package is this | 07:14:17 |
dramforever | also what architecture | 07:14:51 |
@aloisw:julia0815.de | The default action is set to SCMP_ACT_ALLOW in NixOS/nix and SCMP_ACT_ERRNO(ENOSYS) in Lix. | 07:15:09 |
dramforever | no i mean, even lower level | 07:16:11 |
dramforever | some other check inside (the (c)bpf program generated by) libseccomp | 07:16:36 |
dramforever | SCMP_FLTATR_ACT_BADARCH? | 07:19:59 |
@aloisw:julia0815.de | x86_32 architecture is allowed on x86_64 in both nixes. | 07:21:08 |
dramforever | yeah, we need a way to reproduce this | 07:22:24 |
@aloisw:julia0815.de | I am currently trying to build the package on a Lix host. | 07:23:11 |
dramforever | what package is this again? | 07:23:58 |
@aloisw:julia0815.de | pkgsCross.gnu32.nix on nixpkgs bc0b105ed11afa4d073e2b60ce6b94c1a72253bc | 07:24:52 |
@aloisw:julia0815.de | Shit --option enable-core-dumps true does not seem to be enough to get core dumps out of these SIGSYS crashes. | 07:32:48 |
trofi | systemd-system.conf / SystemCallArchitectures= claims to be able to send SIGSYS as well. If hydra happens to use SystemCallArchitectures = "native" for nix it could explain it. But it would break all of 32-bit chroots. | 07:47:08 |
@aloisw:julia0815.de | I am able to reproduce the issue without the daemon. | 07:48:16 |
Mic92 | In reply to @vcunat:matrix.org ... in case people don't feel like working on 32-bit specific issues a lot. Could you open an issue in the nix repo for that? | 08:13:49 |
dramforever | I figured out the SIGSYS thing. It is the wrong architecture. The tests are trying to run x86(-32) builds with x86_64 bash and coreutils | 10:30:25 |
dramforever | * I figured out the SIGSYS thing. It is the wrong architecture problem. The tests are trying to run x86(-32) builds with x86_64 bash and coreutils | 10:30:34 |
dramforever | Whatever's generating config.nix didn't expect the tests to be able to run on cross | 10:30:48 |
dramforever | it's tests/functional/meson.build, but i don't know meson... | 10:34:44 |
dramforever | actually wait a second should we be running x86-32 builds? can we just run x86-64 builds in the tests? | 10:36:56 |
dramforever | more generally if building with (build = B, host = H) and H is runnable on B then run checks and inside the checks we run builds with system = B instead of system = H. does this work? just an idea | 10:38:01 |
dramforever | bonus: ... it seems to fix the gc-auto problem as well? | 10:43:57 |
@aloisw:julia0815.de | Oh so this is the nested x86_32 sandbox disallowing x86_64 syscalls? That would totally make sense. | 10:44:00 |
dramforever | booo that one also doesn't satisfy the seccomp | 10:49:49 |
dramforever | * booo that one also doesn't satisfy the seccomp rules | 10:49:50 |
dramforever | i was looking on the issue tracker and apparently it's possible to get it without cross? https://github.com/NixOS/nix/issues/11284 | 12:21:01 |