| 25 Apr 2025 |
| thirdofmay18081814goya joined the room. | 15:18:01 |
Benno Fünfstück | is there some way to force a value in Nix but then later deallocate everything allocated by this forcing? Or is that fundamentally impossible due to how the evaluator works right now? | 15:23:57 |
Benno Fünfstück | perhaps I could abuse fork for this... hmm | 15:24:40 |
emily | well, you can drop all references to it and let it get GC'd | 15:29:27 |
emily | but generally forced thunks don't go back to being thunks in lazy languages | 15:29:44 |
Benno Fünfstück | ah yes I suspected this might be the case. thanks | 15:31:48 |
| 26 Apr 2025 |
| BigBabyThor changed their profile picture. | 15:12:55 |
| BigBabyThor changed their display name from BBTHidden to BigBabyThor. | 15:13:36 |
| BigBabyThor changed their profile picture. | 15:28:47 |
| haylin joined the room. | 17:57:05 |
| haylin changed their profile picture. | 18:03:19 |
| @awwpotato:envs.net changed their profile picture. | 19:52:48 |
| 27 Apr 2025 |
| .. changed their display name from EndureAhead to ... | 23:37:54 |
| @pablo:taktpraha.cz removed their profile picture. | 23:57:15 |
| 28 Apr 2025 |
| @pablo:taktpraha.cz left the room. | 00:50:30 |
| Anthony Oleinik joined the room. | 05:37:37 |
| mgrrx joined the room. | 21:42:02 |
| 29 Apr 2025 |
trofi | Did you notice nix eats compiler options in warning messages as printed by gcc-14? I think I have a fix: https://github.com/NixOS/nix/pull/13109 | 14:56:04 |
| 30 Apr 2025 |
dramforever | oh i did notice but didn't figure out what's going on! thank you | 01:33:35 |
| vimfn joined the room. | 03:21:08 |
| vimfn changed their profile picture. | 04:42:37 |
| mgrrx changed their display name from Markus Grimm to mgrrx. | 05:22:58 |
| 1 May 2025 |
| Rosario Pulella changed their display name from Rosario Pulella to Rosuavio. | 20:08:09 |
| mnaser joined the room. | 20:12:44 |
| Sol joined the room. | 21:21:27 |
| oak 🏳️🌈♥️ changed their display name from oak - mikatammi.fi to oak 🫱⭕🫲. | 23:18:30 |
Sergei Zimmerman (xokdvium) | Some effortless frontend lexer performance improvements (2 line diff). Pretty negligible compared to eval/gc, but still very much measurable and I'd expect it to stack up quite a bit.
https://github.com/NixOS/nix/pull/13126 | 23:20:05 |
| 2 May 2025 |
| zmitchell joined the room. | 20:16:07 |
zmitchell | Hey all, I'm working on a bug I encountered related to a race condition between GC processes, but I'm a little stuck on a C++ thing (not my forte). All links will be to 2.24.12 since that's what I'm on at the moment, but I suspect the error is still present in recent versions.
If the GC socket is disconnected, you get errno = 32 here, and you throw SysError: https://github.com/NixOS/nix/blob/f22359ba1af6d976d248318aa14e6a6326682f5c/src/libutil/unix/file-descriptor.cc#L43
So, you would expect that to get caught in addTempRoot here: https://github.com/NixOS/nix/blob/f22359ba1af6d976d248318aa14e6a6326682f5c/src/libstore/gc.cc#L135
However, if I put some debug("I'm here")-style comments in that catch block, I don't see the exception caught. I know that the exception is being throw in writeFull because I can put a try-catch block around the body, catch the SysError, throw a std::exception instead, and catch that at this location in addTempRoot. It seems like "throw SysError here, catch SysError there" should be pretty straightforward, but it's not working, and I'm out of my C++-depth if there are any nuances involved.
| 20:22:37 |
zmitchell | I worked on this with Tom yesterday, and I'm planning to put together a PR once I know why this exception isn't being caught. | 20:25:06 |