maralorn / nix-output-monitor

Pipe your nix-build output through the nix-output-monitor a.k.a nom to get additional information while building.
GNU Affero General Public License v3.0
829 stars 24 forks source link

Finished substitutions erroneously shown as in progress #144

Open Atemu opened 1 month ago

Atemu commented 1 month ago

This happened during a remote store + remote build (--store ssh-ng://machine where the store machine has remote builders configured).

┃                      │     │                             ┌─ ↓ ⏵ ncompress-5.0 from [1] ⏱ 22m46s
┃                      │     │                          ┌─ ↓ ✔ libXpm-3.5.17 from [1]
┃                      │     │                       ┌─ ✔ gd-2.3.3 on [5] ⏱ 14s
┃                      │     │                       │  ┌─ ↓ ⏵ pango-1.52.2.tar.xz from [1] ⏱ 22m40s
┃                      │     │                       ├─ ✔ pango-1.52.2 on [4] ⏱ 39s
┃                      │     │                    ┌─ ✔ graphviz-10.0.1 on [4] ⏱ 2m9s

nom says it's substituting some paths whose dependents have already finished building which obviously can't be correct.

Speculation:

This might be due to the fact that the path was already present on the remote (but not the local machine nom runs on) and therefore isn't considered?

maralorn commented 1 month ago

thx for the report. I witness something like that regularly myself. Not sure yet what exactly is going on there.

Atemu commented 1 month ago

As a workaround, you could at least consider a build/substitute to be done when a dependent starts realising.

maralorn commented 1 month ago

I hope we can find a better solution.