| 14 Dec 2025 |
Emma [it/its] | had to reconnect cause my shell broke, and.... LOL | 19:43:41 |
Emma [it/its] |  Download clipboard.png | 19:43:42 |
Jan Kvapil | Uf | 19:44:03 |
Jan Kvapil | Would not be the first time, when Nix filled all my disk spaces and things started to fall apart.. but not on remote 🙈 | 19:45:12 |
Emma [it/its] | okay, i figured out exactly why it freezes like this! | 19:45:20 |
Emma [it/its] | you'll never guess LOL | 19:45:30 |
Emma [it/its] |  Download clipboard.png | 19:45:47 |
Emma [it/its] | (dotnet restore is trying to read the entire nix store, lol) | 19:46:02 |
Corngood | In case it's useful, here's how I debugged it:
nix develop .#modules.nbitcoin.fetch-drv - fetch-drv is the derivation used by fetch-deps, so this gives you a dev shell where genericBuild will do what fetch-deps does before calling nuget-to-json
(set -xe; shopt -s nullglob; genericBuild) - do a build with tracing turned on, so you can see the dotnet restore command where it hangs
| 19:46:30 |
Jan Kvapil | It IS useful! | 19:47:03 |
Emma [it/its] | i ended up doing an strace -f --trace=%file on the dotnet restore command itself | 19:47:22 |
Jan Kvapil | Good luck with that, .NET | 19:47:39 |
Emma [it/its] | but yeah its hanging because its trying to read your entire nix store due to the csproj being copied as a solo store path | 19:47:50 |
Emma [it/its] | (TIL!) | 19:47:59 |
Emma [it/its] | that sounds like an easy nixpkgs PR, lol | 19:48:31 |
Corngood | Uh I guess it's because the .csproj ends up as a single file in the root of /nix/store/. I wonder what it's looking for exactly | 19:48:33 |
Emma [it/its] | i think its trying to find the sources to build | 19:48:43 |
Emma [it/its] | though interesting that it reads things that arent .cs files | 19:48:59 |
Corngood | ah yeah, that makes sense | 19:49:00 |
Emma [it/its] | yeah, kinda worrying that it would have succeeded on my system with an error lol | 19:50:09 |
Emma [it/its] | (due to the root partition, and hence the nix store, being smaller than the machine's available memory) | 19:50:28 |
Jan Kvapil | The nix develop .#... ended up creating a source dir with some read-only files. But I guess it's just readonly copy that is safe to nuke ? | 19:51:36 |
Emma [it/its] | i'd guess its a symlink to the nix store, no? | 19:52:05 |
Jan Kvapil | no | 19:52:10 |
Corngood | Oh sorry, I missed a step in the dev shell: cd $NIX_BUILD_TOP before running the build.. which just puts you in the /tmp/ dir it creates for the shell | 19:52:56 |
Corngood | so it'll leave some files behind which you can git clean or whatever | 19:53:16 |
Corngood | source/ is definitely part of it, but there might also be other temp dirs | 19:54:40 |
Jan Kvapil | Getting tired, I need to hook to the buildPhase and buildDotnetModule.overrideAttrs is not working. Is it not possible or bad syntax? | 20:03:15 |
Emma [it/its] | Corngood re: yesterday, do you think you have any suggestions for things to try with the blazor wasm stuff? | 20:06:49 |
Emma [it/its] | i did find https://github.com/dotnet/runtime/blob/main/src/mono/browser/runtime, but that seems to require emscripten | 20:20:47 |