16 May 2025 |
Ilan Joselevich (Kranzes) | Are you asking why it leaks into env then? | 07:35:27 |
jade_ | i don't know. but isn't select broken for having more than 1024 fds? i think also if you poll for readable events as eelco did in 2023ish, it probably does avoid the kernel shenanigans, but by the time i wrote the platform specific implementation i wanted off of macOS poll 's wild ride | 20:00:58 |
jade_ | there is also an undocumented kqueue API (used by netty) that only works for sockets and gives us exactly what we want, but it doesn't work on pipes, which we use for nix-daemon --stdio | 20:01:52 |
17 May 2025 |
| mjolnir banned @mightyiam:matrix.org (persistent time-wasting). | 23:30:27 |
18 May 2025 |
| jasi 🏳️⚧️ set a profile picture. | 00:08:54 |
Mic92 | We only need two fds for the case you were trying to fix. And my hope is that using multiple fds in select() is so common that it just works even on macOS. | 14:57:10 |
Mic92 | This would avoid platform specific code. | 14:57:29 |
Alyssa Ross | It's not the number of fds that select is limited by — it's the fd numbers | 14:59:21 |
Alyssa Ross | like if you have two fds but both of them are high values that's not compatible with select | 14:59:39 |
Alyssa Ross | I have heard that select on macOS does work though | 14:59:49 |
Mic92 | Ok. that makes it a non-starter for this api. | 14:59:59 |
19 May 2025 |
| @orzklv:floss.uz left the room. | 18:04:43 |
| oak 🏳️🌈♥️ changed their display name from oak 🫱⭕🫲 to oak. | 10:58:46 |
| oak 🏳️🌈♥️ changed their display name from oak to oak 🏳️🌈♥️. | 11:00:36 |
| mgaughan joined the room. | 20:36:06 |
20 May 2025 |
@trofi:matrix.org | You can make linux select() to work for large FDs as well, but you would have to roll your own bit setting code to avoid glibc's limit (or override FD_SETSIZE ). | 05:41:45 |
21 May 2025 |
fzakaria | cherry-pick: https://github.com/NixOS/nix/pull/13241 | 02:28:13 |
Winter | that should probably have --author set to the original author ^^ | 02:30:45 |
tomberek | I might be totally clueless, but I don't know why https://github.com/NixOS/nixpkgs/pull/408846 fails on aarch64-linux. Anyone can help? | 03:24:12 |
@trofi:matrix.org | /build/source/build/src/nix/nix-store: cannot execute: required file not found suggests the binary is corrupted perhaps? | 06:00:09 |
| WeetHet changed their profile picture. | 10:59:01 |
| sinan changed their profile picture. | 11:59:58 |
| sinan changed their profile picture. | 12:00:45 |
emily | is there a way to trace imports of an evaluation that isn't as horribly slow as nix eval -v -v or scopedImport { import = x: builtins.trace x (import x); } ? | 13:26:03 |
emily | actually I guess the latter needs to be recursive which would make it even slower | 13:27:14 |
Sergei Zimmerman (xokdvium) | In reply to @emilazy:matrix.org is there a way to trace imports of an evaluation that isn't as horribly slow as nix eval -v -v or scopedImport { import = x: builtins.trace x (import x); } ? Hm, do you need the trace to be super precise? Would a flamegraph suffice? | 14:33:28 |
emily | yes, precision is the aim (dependency tracking) | 14:34:24 |
emily | though only a subset of paths (beneath a given root) are required | 14:34:39 |
emily | possibly I can use that to help short-circuit things | 14:35:04 |
hacker1024 | Is modifying the implementation of `import` in the Nix source itself an option? | 14:36:37 |