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

libgcrypt: fix bad locking behavior introduced in update #42150

Merged
merged 3 commits into from Jun 20, 2018

Conversation

dtzWill
Copy link
Member

@dtzWill dtzWill commented Jun 18, 2018

As-is this hangs on musl (and possibly cause of Darwin hangs)
due to trying to obtain non-recursive lock already held.

Especially if this seems to fix hanging problems on Darwin,
will be reporting upstream.

Probably should wait until that happens or this is
otherwise investigated further.

  • 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/)
  • Fits CONTRIBUTING.md.

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: libgcrypt

Partial log (click to expand)

gzipping man pages under /nix/store/3va9pm15z9cwry79kkr9bbpjs1032rnk-libgcrypt-1.8.3-dev/share/man/
strip is /nix/store/4mf2xm9p32lzrim927yk92xhx35yaz62-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/3va9pm15z9cwry79kkr9bbpjs1032rnk-libgcrypt-1.8.3-dev/bin
patching script interpreter paths in /nix/store/3va9pm15z9cwry79kkr9bbpjs1032rnk-libgcrypt-1.8.3-dev
/nix/store/3va9pm15z9cwry79kkr9bbpjs1032rnk-libgcrypt-1.8.3-dev/bin/libgcrypt-config: interpreter directive changed from "/bin/sh" to "/nix/store/0aa1ngxygf1iqanfbpdb10klc7r343c0-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/3va9pm15z9cwry79kkr9bbpjs1032rnk-libgcrypt-1.8.3-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/niybrgfwyxk57qmvazrrhiwj41czb0lq-libgcrypt-1.8.3-info
strip is /nix/store/4mf2xm9p32lzrim927yk92xhx35yaz62-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/niybrgfwyxk57qmvazrrhiwj41czb0lq-libgcrypt-1.8.3-info
checking for references to /build in /nix/store/niybrgfwyxk57qmvazrrhiwj41czb0lq-libgcrypt-1.8.3-info...

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: libgcrypt

Partial log (click to expand)

stripping (with command strip and flags -S) in /nix/store/l2rri4wwy4g8vwfwfnf73gscvyb7jyqg-libgcrypt-1.8.3/lib
patching script interpreter paths in /nix/store/l2rri4wwy4g8vwfwfnf73gscvyb7jyqg-libgcrypt-1.8.3
gzipping man pages under /nix/store/a71qax0p72vvgl93ir7421qcy9056jpf-libgcrypt-1.8.3-dev/share/man/
strip is /nix/store/8q05v40n0f7amgw70pk6bkb23r7hrzgn-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/a71qax0p72vvgl93ir7421qcy9056jpf-libgcrypt-1.8.3-dev/bin
patching script interpreter paths in /nix/store/a71qax0p72vvgl93ir7421qcy9056jpf-libgcrypt-1.8.3-dev
/nix/store/a71qax0p72vvgl93ir7421qcy9056jpf-libgcrypt-1.8.3-dev/bin/libgcrypt-config: interpreter directive changed from "/bin/sh" to "/nix/store/7jlpy03vrh1v74b6rnrclbqc9s40ixkg-bash-4.4-p19/bin/sh"
strip is /nix/store/8q05v40n0f7amgw70pk6bkb23r7hrzgn-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/aixxw7jkfy6j72lkc526hgdmfc7r6da7-libgcrypt-1.8.3-info
/nix/store/l2rri4wwy4g8vwfwfnf73gscvyb7jyqg-libgcrypt-1.8.3

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: libgcrypt

Partial log (click to expand)

strip is /nix/store/min150lkigznaayzpwvf8d4jdl1dqvx6-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/ny7csbzsr62xn42gyyli2zyn6sb4nlyi-libgcrypt-1.8.3-dev/bin
patching script interpreter paths in /nix/store/ny7csbzsr62xn42gyyli2zyn6sb4nlyi-libgcrypt-1.8.3-dev
/nix/store/ny7csbzsr62xn42gyyli2zyn6sb4nlyi-libgcrypt-1.8.3-dev/bin/libgcrypt-config: interpreter directive changed from "/bin/sh" to "/nix/store/23kq49wszxq7k41dqfk82q5vqwlq5sww-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/ny7csbzsr62xn42gyyli2zyn6sb4nlyi-libgcrypt-1.8.3-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/nn1jab3xsjigipmr074w99qgn5jngilr-libgcrypt-1.8.3-info
strip is /nix/store/min150lkigznaayzpwvf8d4jdl1dqvx6-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/nn1jab3xsjigipmr074w99qgn5jngilr-libgcrypt-1.8.3-info
checking for references to /build in /nix/store/nn1jab3xsjigipmr074w99qgn5jngilr-libgcrypt-1.8.3-info...
/nix/store/10xx873751vf0vkb1l0wbs884xqgh03h-libgcrypt-1.8.3

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: libgcrypt

Partial log (click to expand)

/nix/store/15djki9fy45azrpnf3cxyy2jmrjymr7p-libgcrypt-1.8.3

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: libgcrypt

Partial log (click to expand)

gzipping man pages under /nix/store/6mkay7dl42g0shawyps4980418vg5yc9-libgcrypt-1.8.3-dev/share/man/
strip is /nix/store/4mf2xm9p32lzrim927yk92xhx35yaz62-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/6mkay7dl42g0shawyps4980418vg5yc9-libgcrypt-1.8.3-dev/bin
patching script interpreter paths in /nix/store/6mkay7dl42g0shawyps4980418vg5yc9-libgcrypt-1.8.3-dev
/nix/store/6mkay7dl42g0shawyps4980418vg5yc9-libgcrypt-1.8.3-dev/bin/libgcrypt-config: interpreter directive changed from "/bin/sh" to "/nix/store/0aa1ngxygf1iqanfbpdb10klc7r343c0-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/6mkay7dl42g0shawyps4980418vg5yc9-libgcrypt-1.8.3-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/ivx78f6l4nfmwa2wkkyb3j3y7diyvi4c-libgcrypt-1.8.3-info
strip is /nix/store/4mf2xm9p32lzrim927yk92xhx35yaz62-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/ivx78f6l4nfmwa2wkkyb3j3y7diyvi4c-libgcrypt-1.8.3-info
checking for references to /build in /nix/store/ivx78f6l4nfmwa2wkkyb3j3y7diyvi4c-libgcrypt-1.8.3-info...

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: libgcrypt

Partial log (click to expand)

strip is /nix/store/min150lkigznaayzpwvf8d4jdl1dqvx6-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/h5xq3dzza2rxd3b8b15ggzmd8x120qyp-libgcrypt-1.8.3-dev/bin
patching script interpreter paths in /nix/store/h5xq3dzza2rxd3b8b15ggzmd8x120qyp-libgcrypt-1.8.3-dev
/nix/store/h5xq3dzza2rxd3b8b15ggzmd8x120qyp-libgcrypt-1.8.3-dev/bin/libgcrypt-config: interpreter directive changed from "/bin/sh" to "/nix/store/23kq49wszxq7k41dqfk82q5vqwlq5sww-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/h5xq3dzza2rxd3b8b15ggzmd8x120qyp-libgcrypt-1.8.3-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/6nrplz41qa9p24yvybglvb705wnqxsnj-libgcrypt-1.8.3-info
strip is /nix/store/min150lkigznaayzpwvf8d4jdl1dqvx6-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/6nrplz41qa9p24yvybglvb705wnqxsnj-libgcrypt-1.8.3-info
checking for references to /build in /nix/store/6nrplz41qa9p24yvybglvb705wnqxsnj-libgcrypt-1.8.3-info...
/nix/store/inqf3mh54khjnh1m3lj6vdcy5fm2wf0h-libgcrypt-1.8.3

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: libgcrypt

Partial log (click to expand)

/nix/store/q9j7ky21scd3lxxjj5yr5n3jpsyd2bj7-libgcrypt-1.8.3

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: libgcrypt

Partial log (click to expand)

/nix/store/150r1ggzh95354vpdrl0b896hd5hwv7b-libgcrypt-1.8.3

@dtzWill
Copy link
Member Author

dtzWill commented Jun 18, 2018

Looks like yes hangs w/o the patch--time to reconfirm with patch once timeout triggers!

Well, force-pushing it now hopefully the timeout result isn't too confusing when it completes :).

@dtzWill dtzWill force-pushed the fix/libgcrypt-locking-badness branch from f5fe6a9 to bb90cbf Compare June 18, 2018 02:01
@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: libgcrypt

Partial log (click to expand)

make[2]: Entering directory '/private/tmp/nix-build-libgcrypt-1.8.3.drv-0/libgcrypt-1.8.3/doc'
make[2]: Nothing to be done for 'check-am'.
make[2]: Leaving directory '/private/tmp/nix-build-libgcrypt-1.8.3.drv-0/libgcrypt-1.8.3/doc'
make[1]: Leaving directory '/private/tmp/nix-build-libgcrypt-1.8.3.drv-0/libgcrypt-1.8.3/doc'
Making check in tests
make[1]: Entering directory '/private/tmp/nix-build-libgcrypt-1.8.3.drv-0/libgcrypt-1.8.3/tests'
make  check-TESTS
make[2]: Entering directory '/private/tmp/nix-build-libgcrypt-1.8.3.drv-0/libgcrypt-1.8.3/tests'
building of '/nix/store/ph9ilw1v9yfw5n29nrc6xgi6l4v9dnyg-libgcrypt-1.8.3.drv' timed out after 1800 seconds
error: build of '/nix/store/ph9ilw1v9yfw5n29nrc6xgi6l4v9dnyg-libgcrypt-1.8.3.drv' failed

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: libgcrypt

Partial log (click to expand)

gzipping man pages under /nix/store/1bfz3qqk6hl6ihyfrvah2g13m0i4jldp-libgcrypt-1.8.3-dev/share/man/
strip is /nix/store/4mf2xm9p32lzrim927yk92xhx35yaz62-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/1bfz3qqk6hl6ihyfrvah2g13m0i4jldp-libgcrypt-1.8.3-dev/bin
patching script interpreter paths in /nix/store/1bfz3qqk6hl6ihyfrvah2g13m0i4jldp-libgcrypt-1.8.3-dev
/nix/store/1bfz3qqk6hl6ihyfrvah2g13m0i4jldp-libgcrypt-1.8.3-dev/bin/libgcrypt-config: interpreter directive changed from "/bin/sh" to "/nix/store/0aa1ngxygf1iqanfbpdb10klc7r343c0-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/1bfz3qqk6hl6ihyfrvah2g13m0i4jldp-libgcrypt-1.8.3-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/5vw4d56mxq2n15adwyhwvw8na6az78c2-libgcrypt-1.8.3-info
strip is /nix/store/4mf2xm9p32lzrim927yk92xhx35yaz62-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/5vw4d56mxq2n15adwyhwvw8na6az78c2-libgcrypt-1.8.3-info
checking for references to /build in /nix/store/5vw4d56mxq2n15adwyhwvw8na6az78c2-libgcrypt-1.8.3-info...

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: libgcrypt

Partial log (click to expand)

stripping (with command strip and flags -S) in /nix/store/v9352m12fvmsgy6m6xlg60k4rh3kwa6l-libgcrypt-1.8.3/lib
patching script interpreter paths in /nix/store/v9352m12fvmsgy6m6xlg60k4rh3kwa6l-libgcrypt-1.8.3
gzipping man pages under /nix/store/39jy6y9mssck57rzb3dcrxf1vzzrx0b8-libgcrypt-1.8.3-dev/share/man/
strip is /nix/store/8q05v40n0f7amgw70pk6bkb23r7hrzgn-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/39jy6y9mssck57rzb3dcrxf1vzzrx0b8-libgcrypt-1.8.3-dev/bin
patching script interpreter paths in /nix/store/39jy6y9mssck57rzb3dcrxf1vzzrx0b8-libgcrypt-1.8.3-dev
/nix/store/39jy6y9mssck57rzb3dcrxf1vzzrx0b8-libgcrypt-1.8.3-dev/bin/libgcrypt-config: interpreter directive changed from "/bin/sh" to "/nix/store/7jlpy03vrh1v74b6rnrclbqc9s40ixkg-bash-4.4-p19/bin/sh"
strip is /nix/store/8q05v40n0f7amgw70pk6bkb23r7hrzgn-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/ka4pxwxcqya6yi4hqjr8nxvhipyw99sm-libgcrypt-1.8.3-info
/nix/store/v9352m12fvmsgy6m6xlg60k4rh3kwa6l-libgcrypt-1.8.3

@dtzWill
Copy link
Member Author

dtzWill commented Jun 18, 2018

Woohoo! 😁

Sent email to upstream mailing list, pending moderator approval I think.

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: libgcrypt

Partial log (click to expand)

strip is /nix/store/min150lkigznaayzpwvf8d4jdl1dqvx6-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/y3z9laz8qnga7hf752fqnaqg8dgmj925-libgcrypt-1.8.3-dev/bin
patching script interpreter paths in /nix/store/y3z9laz8qnga7hf752fqnaqg8dgmj925-libgcrypt-1.8.3-dev
/nix/store/y3z9laz8qnga7hf752fqnaqg8dgmj925-libgcrypt-1.8.3-dev/bin/libgcrypt-config: interpreter directive changed from "/bin/sh" to "/nix/store/23kq49wszxq7k41dqfk82q5vqwlq5sww-bash-4.4-p19/bin/sh"
checking for references to /build in /nix/store/y3z9laz8qnga7hf752fqnaqg8dgmj925-libgcrypt-1.8.3-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/ph2g8qii8r29ilalqp86h2i0xbfmkdyg-libgcrypt-1.8.3-info
strip is /nix/store/min150lkigznaayzpwvf8d4jdl1dqvx6-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/ph2g8qii8r29ilalqp86h2i0xbfmkdyg-libgcrypt-1.8.3-info
checking for references to /build in /nix/store/ph2g8qii8r29ilalqp86h2i0xbfmkdyg-libgcrypt-1.8.3-info...
/nix/store/6byxal6rvz235wz5rs9lam4kh1bd3wy1-libgcrypt-1.8.3

@dtzWill
Copy link
Member Author

dtzWill commented Jun 18, 2018

I suppose this should go to staging first due to mass-rebuilds...

@dtzWill
Copy link
Member Author

dtzWill commented Jun 18, 2018

...But that's messy because staging doesn't have the commit from master/18.03 that disables tests that this fixes. Blargh.

@LnL7
Copy link
Member

LnL7 commented Jun 18, 2018

@dtzWill let's merge master into staging first then.

@dtzWill
Copy link
Member Author

dtzWill commented Jun 18, 2018

@dtzWill let's merge master into staging first then.

Yes please!

@dtzWill dtzWill changed the base branch from master to staging June 20, 2018 19:13
@dtzWill
Copy link
Member Author

dtzWill commented Jun 20, 2018

Targeting staging now, think this is good to go?

Copy link
Member

@LnL7 LnL7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM if ofborg agrees.

@LnL7
Copy link
Member

LnL7 commented Jun 20, 2018

@GrahamcOfBorg build libgcrypt

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: libgcrypt

Partial log (click to expand)

gzipping man pages under /nix/store/p7c33xvnpf83f3m6m8dza0rcf027gb03-libgcrypt-1.8.3-dev/share/man/
strip is /nix/store/4qvrxzxa535y8304mk195x50b6p9607d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/p7c33xvnpf83f3m6m8dza0rcf027gb03-libgcrypt-1.8.3-dev/bin
patching script interpreter paths in /nix/store/p7c33xvnpf83f3m6m8dza0rcf027gb03-libgcrypt-1.8.3-dev
/nix/store/p7c33xvnpf83f3m6m8dza0rcf027gb03-libgcrypt-1.8.3-dev/bin/libgcrypt-config: interpreter directive changed from "/bin/sh" to "/nix/store/8zkg9ac4s4alzyf4a8kfrig1j73z66dw-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/p7c33xvnpf83f3m6m8dza0rcf027gb03-libgcrypt-1.8.3-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/qhc2zxbnln2f1hdh5sri9pdd86xicsdw-libgcrypt-1.8.3-info
strip is /nix/store/4qvrxzxa535y8304mk195x50b6p9607d-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/qhc2zxbnln2f1hdh5sri9pdd86xicsdw-libgcrypt-1.8.3-info
checking for references to /build in /nix/store/qhc2zxbnln2f1hdh5sri9pdd86xicsdw-libgcrypt-1.8.3-info...

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: libgcrypt

Partial log (click to expand)

stripping (with command strip and flags -S) in /nix/store/knyrrfcdfknrwshzp05cannibq8lx3h4-libgcrypt-1.8.3/lib
patching script interpreter paths in /nix/store/knyrrfcdfknrwshzp05cannibq8lx3h4-libgcrypt-1.8.3
gzipping man pages under /nix/store/k96080m4yf9gz4n2ywwhhc6nsj4srb2r-libgcrypt-1.8.3-dev/share/man/
strip is /nix/store/7ddbq63v97nk8gkbf7gcsfmby37h6gbl-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/k96080m4yf9gz4n2ywwhhc6nsj4srb2r-libgcrypt-1.8.3-dev/bin
patching script interpreter paths in /nix/store/k96080m4yf9gz4n2ywwhhc6nsj4srb2r-libgcrypt-1.8.3-dev
/nix/store/k96080m4yf9gz4n2ywwhhc6nsj4srb2r-libgcrypt-1.8.3-dev/bin/libgcrypt-config: interpreter directive changed from "/bin/sh" to "/nix/store/q2wqq1k20v8kc3vckapqf5nws30brnni-bash-4.4-p23/bin/sh"
strip is /nix/store/7ddbq63v97nk8gkbf7gcsfmby37h6gbl-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/0igbvk5s4kvimsy7qs3hkic3fr6acvg3-libgcrypt-1.8.3-info
/nix/store/knyrrfcdfknrwshzp05cannibq8lx3h4-libgcrypt-1.8.3

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: libgcrypt

Partial log (click to expand)

strip is /nix/store/0pjsgkxz0rp5baycq5sp2s72lrr5q9sg-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/2sf48yjw96s97m3qd83wl0rn5c35fzhb-libgcrypt-1.8.3-dev/bin
patching script interpreter paths in /nix/store/2sf48yjw96s97m3qd83wl0rn5c35fzhb-libgcrypt-1.8.3-dev
/nix/store/2sf48yjw96s97m3qd83wl0rn5c35fzhb-libgcrypt-1.8.3-dev/bin/libgcrypt-config: interpreter directive changed from "/bin/sh" to "/nix/store/p0vy17dp9jk2mvqsxsqnb14s3797lay7-bash-4.4-p23/bin/sh"
checking for references to /build in /nix/store/2sf48yjw96s97m3qd83wl0rn5c35fzhb-libgcrypt-1.8.3-dev...
shrinking RPATHs of ELF executables and libraries in /nix/store/gyckdcc27rs8p0w4wm3v3mkmkl85c6mm-libgcrypt-1.8.3-info
strip is /nix/store/0pjsgkxz0rp5baycq5sp2s72lrr5q9sg-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/gyckdcc27rs8p0w4wm3v3mkmkl85c6mm-libgcrypt-1.8.3-info
checking for references to /build in /nix/store/gyckdcc27rs8p0w4wm3v3mkmkl85c6mm-libgcrypt-1.8.3-info...
/nix/store/nvr35mb53fcb6q7yxrp56a48sd2jfqr1-libgcrypt-1.8.3

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: libgcrypt

Partial log (click to expand)

/nix/store/8jzdl1m9s2phszr3lncwjjjdxqqrli3s-libgcrypt-1.8.3

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: libgcrypt

Partial log (click to expand)

/nix/store/knyrrfcdfknrwshzp05cannibq8lx3h4-libgcrypt-1.8.3

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: libgcrypt

Partial log (click to expand)

/nix/store/nvr35mb53fcb6q7yxrp56a48sd2jfqr1-libgcrypt-1.8.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants