Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

valgrind: disable parallel building on Darwin #51066

Closed
wants to merge 1 commit into from

Conversation

alyssais
Copy link
Member

Motivation for this change

While testing an unrelated stdenv change, I was having trouble rebuilding this package on Darwin. It seems to be some sort of race where it tries to run ar on an object file that hasn't been built yet. I haven't had any problem building it (multiple times) since I disabled parallel building, so that seems to be the fix.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Assured whether relevant documentation is up to date
  • Fits CONTRIBUTING.md.

While testing an unrelated stdenv change, I was having trouble 
rebuilding this package on Darwin. It seems to be some sort of race 
where it tries to run `ar` on an object file that hasn't been built 
yet. I haven't had any problem building it (multiple times) since I 
disabled parallel building, so that seems to be the fix.
@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: valgrind

Partial log (click to expand)

shrinking RPATHs of ELF executables and libraries in /nix/store/7f2pi6gmvyxcsfziajixqfzfdl3j3wbs-valgrind-3.14.0-man
gzipping man pages under /nix/store/7f2pi6gmvyxcsfziajixqfzfdl3j3wbs-valgrind-3.14.0-man/share/man/
patching script interpreter paths in /nix/store/7f2pi6gmvyxcsfziajixqfzfdl3j3wbs-valgrind-3.14.0-man
checking for references to /build in /nix/store/7f2pi6gmvyxcsfziajixqfzfdl3j3wbs-valgrind-3.14.0-man...
shrinking RPATHs of ELF executables and libraries in /nix/store/sc7zy01jn3bpzc4hpir7rcb5gifgsw9z-valgrind-3.14.0-doc
patching script interpreter paths in /nix/store/sc7zy01jn3bpzc4hpir7rcb5gifgsw9z-valgrind-3.14.0-doc
checking for references to /build in /nix/store/sc7zy01jn3bpzc4hpir7rcb5gifgsw9z-valgrind-3.14.0-doc...
shrinking RPATHs of ELF executables and libraries in /nix/store/bhrs6qp3yfwqwjbr2wzc3id6pjgn2fky-valgrind-3.14.0-debug
patching script interpreter paths in /nix/store/bhrs6qp3yfwqwjbr2wzc3id6pjgn2fky-valgrind-3.14.0-debug
checking for references to /build in /nix/store/bhrs6qp3yfwqwjbr2wzc3id6pjgn2fky-valgrind-3.14.0-debug...

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: valgrind

Partial log (click to expand)

shrinking RPATHs of ELF executables and libraries in /nix/store/h6lr87bb4sjjrcrw8k3x0ccg9jk2zsc2-valgrind-3.14.0-man
gzipping man pages under /nix/store/h6lr87bb4sjjrcrw8k3x0ccg9jk2zsc2-valgrind-3.14.0-man/share/man/
patching script interpreter paths in /nix/store/h6lr87bb4sjjrcrw8k3x0ccg9jk2zsc2-valgrind-3.14.0-man
checking for references to /build in /nix/store/h6lr87bb4sjjrcrw8k3x0ccg9jk2zsc2-valgrind-3.14.0-man...
shrinking RPATHs of ELF executables and libraries in /nix/store/bdn08fb7ckhbpxh2c5khmb8lq0d4ypd9-valgrind-3.14.0-doc
patching script interpreter paths in /nix/store/bdn08fb7ckhbpxh2c5khmb8lq0d4ypd9-valgrind-3.14.0-doc
checking for references to /build in /nix/store/bdn08fb7ckhbpxh2c5khmb8lq0d4ypd9-valgrind-3.14.0-doc...
shrinking RPATHs of ELF executables and libraries in /nix/store/sln97md1yjzydxl0j6x3x59jhw3w1scv-valgrind-3.14.0-debug
patching script interpreter paths in /nix/store/sln97md1yjzydxl0j6x3x59jhw3w1scv-valgrind-3.14.0-debug
checking for references to /build in /nix/store/sln97md1yjzydxl0j6x3x59jhw3w1scv-valgrind-3.14.0-debug...

@markuskowa
Copy link
Member

@GrahamcOfBorg build valgrind

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: valgrind

Partial log (click to expand)

/nix/store/igp2211g2agvcpn8c911lnm451klwiw9-valgrind-3.14.0

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: valgrind

Partial log (click to expand)

gzipping man pages under /nix/store/7f2pi6gmvyxcsfziajixqfzfdl3j3wbs-valgrind-3.14.0-man/share/man/
patching script interpreter paths in /nix/store/7f2pi6gmvyxcsfziajixqfzfdl3j3wbs-valgrind-3.14.0-man
checking for references to /build in /nix/store/7f2pi6gmvyxcsfziajixqfzfdl3j3wbs-valgrind-3.14.0-man...
shrinking RPATHs of ELF executables and libraries in /nix/store/sc7zy01jn3bpzc4hpir7rcb5gifgsw9z-valgrind-3.14.0-doc
patching script interpreter paths in /nix/store/sc7zy01jn3bpzc4hpir7rcb5gifgsw9z-valgrind-3.14.0-doc
checking for references to /build in /nix/store/sc7zy01jn3bpzc4hpir7rcb5gifgsw9z-valgrind-3.14.0-doc...
shrinking RPATHs of ELF executables and libraries in /nix/store/bhrs6qp3yfwqwjbr2wzc3id6pjgn2fky-valgrind-3.14.0-debug
patching script interpreter paths in /nix/store/bhrs6qp3yfwqwjbr2wzc3id6pjgn2fky-valgrind-3.14.0-debug
checking for references to /build in /nix/store/bhrs6qp3yfwqwjbr2wzc3id6pjgn2fky-valgrind-3.14.0-debug...
/nix/store/zh4cwj22498bkd1pcym5980i3qlsy5c8-valgrind-3.14.0

@hedning
Copy link
Contributor

hedning commented Nov 26, 2018

The same problem seems to affect linux too: https://hydra.nixos.org/build/84945477/nixlog/1 so it might be best to turn it off for all platforms.

@LnL7
Copy link
Member

LnL7 commented Nov 26, 2018

I assume this is superseded by #51082? I prefer this commit message tho 😄 .

@alyssais
Copy link
Member Author

Could always do two commits, since it was discovered in two stages. Merge this then cherry-pick the other.

I think it's merger's choice. :)

Since there's a superseding PR, I'll close this one, but feel free to use the commit if it makes for a nicer story in the commit logs!

@alyssais alyssais closed this Nov 26, 2018
@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: valgrind

Partial log (click to expand)

/nix/store/rjqps601lgxv6b9d8p9bv05qvaknhsf6-valgrind-3.14.0/bin/callgrind_control: interpreter directive changed from " /usr/bin/perl -w" to "/nix/store/maxij11md81wwwc9nh9c7nz40b7m0n1w-perl-5.28.0/bin/perl -w"
strip is /nix/store/mvpvjar6m4jpjcz48715w2pax53djv6g-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/x1l73y95sgchwd9mjv18yqggaxxg2465-valgrind-3.14.0-dev/lib
patching script interpreter paths in /nix/store/x1l73y95sgchwd9mjv18yqggaxxg2465-valgrind-3.14.0-dev
gzipping man pages under /nix/store/dxh3xdlnh9sm02mmh03wv0v7mn0biiz7-valgrind-3.14.0-man/share/man/
strip is /nix/store/mvpvjar6m4jpjcz48715w2pax53djv6g-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/dxh3xdlnh9sm02mmh03wv0v7mn0biiz7-valgrind-3.14.0-man
strip is /nix/store/mvpvjar6m4jpjcz48715w2pax53djv6g-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/4qms5m1kvfvpja27lnnvs2yy6p7i0p54-valgrind-3.14.0-doc
/nix/store/rjqps601lgxv6b9d8p9bv05qvaknhsf6-valgrind-3.14.0

@srhb
Copy link
Contributor

srhb commented Nov 27, 2018

I've closed #51082 in favor of #51107. Do you think this is still properly superceded by the new PR? :) It sounds like the same issue.

@alyssais alyssais deleted the patch-1 branch December 4, 2018 12:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants