Nix + dotnet | 114 Members | |
| 23 Servers |
| Sender | Message | Time |
|---|---|---|
| 27 Jun 2025 | ||
| This seems relevant:
| 16:51:35 | |
| I wonder if this can be reproduced in a dev shell by repeatedly running the test phase. That would make it quite a bit easier to investigate. | 16:52:46 | |
| Probably... I just don't have that workflow committed to muscle memory yet, so I never bother trying to use devshells for packages... 🙈 | 16:53:55 | |
| It should be possible to run that 'test host process' directly, but I'm not exactly sure how to do it | 16:53:58 | |
| my usual thing is
the problem with that is that it won't stop on errors, so it'll try to run all the phases, which may or may not be a problem. at the end you can do | 16:55:42 | |
I also sometimes do (set -e; genericBuild) but the problem with that is that you lose the subshell environment, and some things might depend on shell vars etc | 16:56:42 | |
I've not managed to reproduce the issue with runPhase checkPhase, either I'm getting (un?)lucky, the underlying problem is outside the checkPhase, or something is cached. | 18:50:11 | |
| 28 Jun 2025 | ||
| Looking around, it seems vtest has a thread discussing a similar Is there an easy way to tell the package to run If it turns out to be a memory issue, is there a way to increase | 10:12:44 | |
| The `dotnet test` call is in `dotnet-check-hook.sh`. You could hack it in there. If it was out of memory it would have to be using a lot of memory to be reproducible on my desktop machine. Enough that I would certainly consider it a bug in itself. | 12:54:38 | |
| Maybe it's hitting a file handle ulimit or something? It would be nice to know more about the child process invocation (args, output, exit code). | 13:00:19 | |
Good point, I have 64GB and was reproducing the issue fairly regularly. I take it there's no artificial memory limit from
Could be something like that. Or could just be random segfaults in buggy software... 🤔
Anything specific you want me to test, other than just | 20:49:59 | |
| If it's building in the sandbox and under the systemd daemon, it might have different limits than dev shell. The nuclear logging option is probably `strace -f`. That's going to be a lot of output though. Maybe I'll see if I can find anything useful in `VSTestTask` | 21:00:06 | |
| 30 Jun 2025 | ||
| I'm wondering if it is practical to move the tests into a That way 1) end-users wouldn't need to run the tests to build the unfree package, 2) intermittent tests wouldn't cause build failures on hydra. I'd still like to uncover the actual issue, but I'm curious if extracting the tests to a separate derivation is possible? I guess the test derivation would need the same That sounds reasonable, but what I'm unsure of is how easy it'd be to tell | 12:19:21 | |
Looks like the impl is here: https://github.com/dotnet/dotnet/blob/main/src/vstest/src/Microsoft.TestPlatform.Build/Tasks/VSTestTask.cs There's a note about the "Task returned false but did not log an error." error at line 69. Other than that, I nothing is jumping out at me 🤔 Also: I noticed that the | 12:39:42 | |
| It looks like the same errors occasionally shows up in upstream's CI too. E.g. here | 17:35:27 | |
| * It looks like the same (or similar) errors occasionally shows up in upstream's CI too. E.g. here | 17:39:46 | |
| 1 Jul 2025 | ||
In reply to @mattsturg:matrix.org One way to do this would be to disable tests and just put an override with them enabled in Is it consistently crashing in certain tests? Maybe we can get away with disabling only certain tests or projects? | 01:19:19 | |
Good idea. I've opened https://github.com/NixOS/nixpkgs/pull/421459 Overriding is a simple solution, but it means building the app twice... I was hoping we'd be able to reuse the binaries from the main package, as an input for the test package.
I'm not sure; I don't think it prints which test failed in the logs. It might be hidden in the | 10:37:33 | |
| 6 Jul 2025 | ||
| 02:25:27 | ||
| 11 Jul 2025 | ||
| 16:52:34 | ||
| 14 Jul 2025 | ||
| 13:17:33 | ||
Hey, what can i do if i need to overrideAttrs nugetDeps? Has anyone here ever been in this situation? | 16:59:18 | |
| Why? | 17:19:22 | |
| Is it definitely broken? I'd like it to work. | 17:21:19 | |
| Due to this, i mean. Overriding | 17:33:00 | |
| Or any other attribute from that list | 17:34:14 | |
| I guess we either need to pass all these attributes through, or add something like `overridePythonAttrs`. I don't love either of those options | 18:03:47 | |
probably something like overrideDotnetAttrs | 18:04:18 | |
making it works with plain overrideAttrs would require to move any and all logic done in nix in buildDotnetModule over to bash which would make it much worse | 18:05:04 | |
| It doesn't actually have to be in bash, but it needs to use finalAttrs, and stuff would get leaked into bash | 18:24:14 | |