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
835 stars 24 forks source link

Same build showing twice? #111

Open takeda opened 1 year ago

takeda commented 1 year ago

This is not really a big issue, it doesn't bother me personally, but in the description it says that no same build is shown twice. I observed this happening once in a while.

Currently I'm doing git bisect on nixpkgs and frequently get tree that wasn't compiled with hydra, it happens with multiple packages (in this case it is linux-headers but I also saw it with perl).

There's of course possibility that everything is correct and nixpkgs just requesting the same package with some minor difference. The thing though is that it has the same phase and started exactly at the same time.

Here's an example:

┏━ Dependency Graph:
┃                                        ┌─ ⏵︎ linux-headers-6.4 (buildPhase) ⏱︎ 2m1s
┃                                     ┌─ ⏳︎ musl-x86_64-unknown-linux-musl-1.2.3
┃                                  ┌─ ⏳︎ x86_64-unknown-linux-musl-stage-final-gcc-wrapper-12.3.0
┃                               ┌─ ⏳︎ stdenv-linux
┃                            ┌─ ⏳︎ libffi-x86_64-unknown-linux-musl-3.4.4
┃                         ┌─ ⏳︎ python3-x86_64-unknown-linux-musl-3.11.4
┃                      ┌─ ⏳︎ python3.11-pip-23.0.1-x86_64-unknown-linux-musl
┃                   ┌─ ⏳︎ pip-install-hook
┃                   │                                                  ┌─ ⏵︎ linux-headers-6.4 (buildPhase) ⏱︎ 2m1s
┃                   │                                               ┌─ ⏳︎ audit-3.1.1
┃                   │                                            ┌─ ⏳︎ linux-pam-1.5.2
┃                   │                                         ┌─ ⏳︎ tcb-1.2
┃                   │                                      ┌─ ⏳︎ shadow-4.13
┃                   │                                   ┌─ ⏳︎ fuse-2.9.9
┃                   │                                ┌─ ⏳︎ e2fsprogs-1.47.0
┃                   │                             ┌─ ⏳︎ libarchive-3.6.2
┃                   │                          ┌─ ⏳︎ cmake-3.26.4
┃                   │                       ┌─ ⏳︎ brotli-1.0.9
┃                   │                    ┌─ ⏳︎ curl-8.2.1
┃                   │                    │     ┌─ ⏵︎ perl5.38.0-HTTP-Daemon-6.14 (checkPhase) ⏱︎ 3s
┃                   │                    │  ┌─ ⏳︎ perl5.38.0-libwww-perl-6.67
┃                   │                    │  │           ┌─ ⏵︎ openssl-3.0.10 (buildPhase) ⏱︎ 2m1s
┃                   │                    │  │        ┌─ ⏳︎ python3-3.10.12
┃                   │                    │  │     ┌─ ⏳︎ libxml2-2.11.4
┃                   │                    │  │     │  ┌─ ⏵︎ bison-3.8.2 (buildPhase) ⏱︎ 2m1s
┃                   │                    │  │     ├─ ⏳︎ flex-2.6.4
┃                   │                    │  │  ┌─ ⏳︎ xmlto-0.0.28
┃                   │                    │  ├─ ⏳︎ opensp-1.5.2
┃                   │                    │  ├─ ⏵︎ perl5.38.0-HTTP-Negotiate-6.01 (fixupPhase) ⏱︎ 3s
┃                   │                    │  ├─ ⏵︎ perl5.38.0-HTTP-Cookies-6.09 (checkPhase) ⏱︎ 4s
┃                   │                    ├─ ⏳︎ docbook2X-0.8.8
┃                   │                    ├─ ⏵︎ perl5.38.0-HTML-Parser-3.75 (buildPhase) ⏱︎ 4s
┃                   │                    ├─ ⏵︎ texinfo-7.0.3 (configurePhase) ⏱︎ 1m52s
┃                   │                    ├─ ⏵︎ openssl-3.0.10 (installPhase) ⏱︎ 2m1s
┃                   │                 ┌─ ⏳︎ git-2.41.0
┃                   │              ┌─ ⏳︎ python3.10-hatch-vcs-0.3.0
┃                   │           ┌─ ⏳︎ python3.10-virtualenv-20.24.0
┃                   │        ┌─ ⏳︎ python3.10-poetry-core-1.5.1
┃                   │     ┌─ ⏳︎ python3.10-tomlkit-0.12.1
┃                   │  ┌─ ⏳︎ python3-3.10.12-env
┃                   ├─ ⏳︎ remove-path-dependencies.sh
maralorn commented 1 year ago

I have never witnessed the bug you suspect. I agree that the timing is suspicious. On the other hand there are 3 more builds which are also at 2m1s. That two similar builds, which started at the same time, are in the same phase is not very surprising. I am considering adding some way to better visually disambiguate equal-looking builds. Maybe we keep an eye out if the bug persists then.

takeda commented 1 year ago

This is another one I just observed:

┏━ Dependency Graph:
┃             ┌─ ⏳︎ python3.11-idna-3.4 waiting for 2 ⏵︎
┃          ┌─ ⏳︎ python3.11-yarl-1.9.2
┃          ├─ ⏳︎ python3.11-async-timeout-4.0.3 waiting for 2 ⏵︎
┃          │  ┌─ ⏳︎ python3.11-frozenlist-1.4.0 waiting for 2 ⏵︎
┃          ├─ ⏳︎ python3.11-aiosignal-1.3.1
┃          │  ┌─ ⏳︎ python3.11-hatch-fancy-pypi-readme-23.1.0 waiting for 2 ⏵︎
┃          │  │     ┌─ ⏳︎ python3.11-pathspec-0.11.2 waiting for 2 ⏵︎
┃          │  │     │     ┌─ ⏳︎ python3.11-packaging-23.1 waiting for 2 ⏵︎
┃          │  │     │     │        ┌─ ⏵︎ python3.11-pip-23.0.1 (pythonImportsCheckPhase) ⏱︎ 1m2s
┃          │  │     │     │     ┌─ ⏳︎ pip-build-hook.sh
┃          │  │     │     │  ┌─ ⏳︎ python3.11-flit-core-3.9.0
┃          │  │     │     │  │  ┌─ ⏵︎ python3.11-pip-23.0.1 (pythonImportsCheckPhase) ⏱︎ 1m2s
┃          │  │     │     │  ├─ ⏳︎ pip-build-hook.sh
┃          │  │     │     ├─ ⏳︎ python3.11-typing-extensions-4.7.1
┃          │  │     │  ┌─ ⏳︎ python3.11-setuptools-scm-7.1.0
┃          │  │     ├─ ⏳︎ python3.11-pluggy-1.3.0
┃          │  │  ┌─ ⏳︎ python3.11-hatchling-1.18.0
┃          │  ├─ ⏳︎ python3.11-hatch-vcs-0.3.0
┃          ├─ ⏳︎ python3.11-attrs-23.1.0
┃       ┌─ ⏳︎ python3.11-aiohttp-3.8.5
┃    ┌─ ⏳︎ python3.11-aiobotocore-2.6.0
┃ ┌─ ⏳︎ python3.11-aioboto3-11.3.0

Though with how easy is to make mistake with nixpkgs and maybe not overriding everything it is still possible those were two different packages.