| 14 Dec 2025 |
Emma [it/its] | dotnet restore /nix/store/85fkamr6na3xjznqa70hasdzrlxqgbrr-NBitcoin.CppBridge.csproj -p:ContinuousIntegrationBuild=
true -p:Deterministic=true -p:NuGetAudit=false --runtime linux-x64 -p:SelfContained=true | 19:39:56 |
Emma [it/its] | oh no i can just kill it in btop lol | 19:40:47 |
Emma [it/its] | this didnt work for me | 19:40:52 |
Emma [it/its] | interestingly, i tried running that command by itself and well... it didnt work :D | 19:41:36 |
Emma [it/its] | oh interesting, it specifically doesnt work if you try to restore the store path? | 19:42:05 |
Corngood | Yeah, I was able to run fetch-deps properly after changing it... Very strange | 19:42:29 |
Jan Kvapil | Thanks a lot. Let's not disclose the amount of time I was banging my head on this. | 19:43:18 |
Emma [it/its] | oh, i screwd myself over big time | 19:43:25 |
Corngood | Possibly. I'm not sure if it's 100% always a bad idea though. Like maybe you could do an out-of-tree build by setting the bin/obj dirs? | 19:43:38 |
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 |