!sBfrWMVsLoSyFTCkNv:nixos.org

OfBorg

174 Members
Number of builds and evals in queue: <TBD>66 Servers

Load older messages


SenderMessageTime
13 Feb 2025
@adam:robins.wtfadamcstephense.g. here's a curl job https://github.com/NixOS/nixpkgs/pull/381673/checks?check_run_id=3714847324517:00:02
@emilazy:matrix.orgemilywhat changed? :)17:00:07
@emilazy:matrix.orgemilyNix upgrade? OS upgrade?17:00:11
@adam:robins.wtfadamcstephens🤷‍♂️17:00:19
@adam:robins.wtfadamcstephenson the positive side, maybe we've caught the queue up? :)17:00:40
@lily:lily.flowersLily Foster (i mean something is trying to read /private during eval (readDir fuckery?) but not clear if anything changed in nixpkgs or in cppnix or in ofborg builder config for macs) 17:12:43
@emilazy:matrix.orgemily my guess is that the checkout is in /var/lib/nixpkgs or something. 17:13:11
@emilazy:matrix.orgemilyand then the second part of my guess is Nix was upgraded and caught some version of this bug17:13:27
@emilazy:matrix.orgemilybut just a guess.17:13:32
@lily:lily.flowersLily Foster

i mean that issue is that it stopped resolving symlinks on import, so wouldn't that make it less likely to trigger a bug like this?

also iirc (unless something's changed on the cppnix side), if it only says /private is forbidden in the error, then that was the full path that was attempted to be accessed (but /private could be a path after symlink resolution and if it's a line in nixpkgs then e.g. the actual import/readFile/etc call causing it may be to a symlink -- but cppnix bugs does smell likely given i can't come up with a reasonable scenario that /private would ever attempt to be imported/read)

17:21:27
@emilazy:matrix.orgemilyseems like figuring out what changes were made to ofborg's deployment between it working and breaking is the step 1 really17:22:05
@lily:lily.flowersLily Foster(update: i guess this isn't true at least for recent cppnix -- it does actually just show first path segment in certain scenarios)17:27:50
@adam:robins.wtfadamcstephensa user's tmpdir is also in /private on mac17:28:23
@adam:robins.wtfadamcstephens
➜ readlink -f $TMPDIR
/private/var/folders/y7/n0y6ndf91tn7q95rs70q2_9c0000gn/T
17:28:56
@lily:lily.flowersLily Foster(i doubt that's relevant for determining cause)17:39:19
@lily:lily.flowersLily Fosterreplicate via what command?17:39:31
@lily:lily.flowersLily Fosternever mind, found the issue17:44:33
@lily:lily.flowersLily Foster(and yeah can also confirm the cppnix error message being misleading is a >2.18 regression)17:45:43
@lily:lily.flowersLily Foster this doesn't work on macOS because /var is a symlink: https://github.com/ofborg/ofborg-infrastructure/blob/13030f577a3d110d68edfc9416382c81a09fba46/non-critical-infra/modules/ofborg/ofborg-config.nix#L78 17:46:14
@lily:lily.flowersLily Fostertracing through the call points in the ofborg code17:46:27
@lily:lily.flowersLily Foster basically it sets ofborg-nixpkgs-pr=/var/lib/ofborg/checkout/... but when it cd's to /var/lib/ofborg/checkout/... and attempts to eval ./default.nix, cppnix sees it as as /private/var/lib/ofborg/checkout/.../default.nix, which causes evaluator to throw error since only /var/lib/ofborg/checkout is in NIX_PATH 17:48:42
@lily:lily.flowersLily Foster yeah looks like cppnix does absPath on the file/dir to evaulate before sending it to evaluator: https://github.com/NixOS/nix/blob/693a38ae2e6d6bcbe39ec1d4034821d6f90cf9f5/src/nix-build/nix-build.cc#L355 17:54:31
@lily:lily.flowersLily Foster easiest "fix" to make it not explode in the case where it's configured to use a checkout dir that has a symlink in a path segment is probably to add a .canonicalize() to https://github.com/NixOS/ofborg/blob/cbf0c619db7750de1e7b575ade14d0ef35a1bde3/ofborg/src/checkout.rs#L17 17:57:19
@lily:lily.flowersLily Foster actually probably here since it can't canonicalize a path that may not exist yet: https://github.com/NixOS/ofborg/blob/cbf0c619db7750de1e7b575ade14d0ef35a1bde3/ofborg/src/checkout.rs#L94 17:59:54
@lily:lily.flowersLily Foster * actually probably here instead since it can't canonicalize a path that may not exist yet: https://github.com/NixOS/ofborg/blob/cbf0c619db7750de1e7b575ade14d0ef35a1bde3/ofborg/src/checkout.rs#L94 18:00:02
@lily:lily.flowersLily Foster * easiest "fix" to make it not explode in the case where it's configured to use a checkout dir that has a symlink in a path segment is probably to add a .canonicalize() to https://github.com/NixOS/ofborg/blob/cbf0c619db7750de1e7b575ade14d0ef35a1bde3/ofborg/src/checkout.rs#L17 18:01:03
@lily:lily.flowersLily Foster ( Janne Heß if you wanted the fix to the macOS builders failing to evaluate anything ^) 18:03:15
14 Feb 2025
@cleverca22:matrix.orgcleverca22 joined the room.01:11:13
16 Feb 2025
@janne.hess:helsinki-systems.deJanne Heß Lily Foster: Whoa, thank you for the research <3 Looking into it right now 15:37:45
@janne.hess:helsinki-systems.deJanne HeßI don't really understand your point about the canonicalize() through. If I canonicalize the path in rust, and give it to nix, wouldn't that mean that nix still tries to access /private?15:39:16

Show newer messages


Back to Room ListRoom Version: 6