-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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
Cannot run test with raw-strings-qq - GHC 8.10.7, nixpkgs unstable #169332
Comments
I was able to reproduce this. I changed the { pkgs ? import <nixpkgs> {} }:
with pkgs;
mkShell {
nativeBuildInputs = [
haskell.compiler.ghc8107
cabal-install
];
} I got into this shell with I cloned https://git.sr.ht/~samhh/nix-qq-repro and ran $ cabal build
Resolving dependencies...
Build profile: -w ghc-8.10.7 -O1
In order, the following will be built (use -v for more details):
- clock-0.8.3 (lib) (requires build)
- raw-strings-qq-1.1 (lib) (requires build)
- hspec-core-2.9.4 (lib) (requires build)
- hspec-2.9.4 (lib) (requires build)
- repro-0.0.0 (test:test) (first run)
Starting raw-strings-qq-1.1 (lib)
...
Installing hspec-2.9.4 (lib)
Completed hspec-2.9.4 (lib)
Configuring test suite 'test' for repro-0.0.0..
Preprocessing test suite 'test' for repro-0.0.0..
Building test suite 'test' for repro-0.0.0..
[1 of 1] Compiling Main ( test/Spec.hs, /home/illabout/temp/nix-qq-repro/dist-newstyle/build/x86_64-linux/ghc-8.10.7/repro-0.0.0/t/test/build/test/test-tmp/Main.o, /home/illabout/temp/nix-qq-repro/dist-newstyle/build/x86_64-linux/ghc-8.10.7/repro-0.0.0/t/test/build/test/test-tmp/Main.dyn_o )
<command line>: /nix/store/z56jcx3j1gfyk4sv7g8iaan0ssbdkhz1-glibc-2.33-56/lib/libpthread.so.0: undefined symbol: __libc_siglongjmp, version GLIBC_PRIVATE I've also tested this with the latest 21.11 (which is currently 9887f02), and the above does work fine. Also, if I create a development environment using { pkgs ? import <nixpkgs> {} }:
with pkgs;
mkShell {
inputsFrom = [
(haskell.packages.ghc8107.callCabal2nix "repro" ./. {}).env
];
nativeBuildInputs = [
cabal-install
];
} Building: $ cabal build
Warning: The package list for 'hackage.haskell.org' is 37 days old.
Run 'cabal update' to get the latest list of available packages.
Resolving dependencies...
Build profile: -w ghc-8.10.7 -O1
In order, the following will be built (use -v for more details):
- repro-0.0.0 (test:test) (first run)
Configuring test suite 'test' for repro-0.0.0..
Preprocessing test suite 'test' for repro-0.0.0..
Building test suite 'test' for repro-0.0.0..
[1 of 1] Compiling Main ( test/Spec.hs, /home/illabout/temp/nix-qq-repro/dist-newstyle/build/x86_64-linux/ghc-8.10.7/repro-0.0.0/t/test/build/test/test-tmp/Main.o, /home/illabout/temp/nix-qq-repro/dist-newstyle/build/x86_64-linux/ghc-8.10.7/repro-0.0.0/t/test/build/test/test-tmp/Main.dyn_o )
Linking /home/illabout/temp/nix-qq-repro/dist-newstyle/build/x86_64-linux/ghc-8.10.7/repro-0.0.0/t/test/build/test/test ... @sternenseemann Have any ideas on what could be going on here? @samhh Also, if you wanted to bisect to figure out exactly when this stopped working, that would probably be helpful. |
I'm 90% sure it's when I migrated to flakes which is also when I migrated from 21.11 to unstable. Unfortunately I didn't work on the project that presented this issue for a week or two whilst that was happening so I can't be completely sure. |
@samhh Ah, sorry, by "exactly when this stopped working", I mean "what commit caused this to stop working". My guess is that there is a single commit between 21.11 and current It can often take a lot of time / effort to |
@cdepillabout It's going to be difficult for me to test my system config going back very far, there will be all sorts of breaking changes to contend with (it's unfortunate I've only observed this coming from 21.11 rather than unstable). Unless there's a subset of system packages I can bisect against? |
@samhh Unless I'm misunderstanding, in general this shouldn't require you to test your whole system config, but instead just jump into the shell in #169332 (comment) and try running |
I can't reproduce, nixpkgs 1ffba9f (and entire system built against this version). My suspicion would be that different executables interacting here expect a different version of glibc possibly, leading to this internal symbol missing. Maybe nix-shell is the troublemaker as cabal-install and ghc should be using the same glibc version? Edit: That it's 8.10.7 only kind of contradicts my theory though… |
That was my first thought but it still fails for me with the following (a recent revision in let
pkgs = import (builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/9887f024766aa27704d1f89f623efd1d063da92a.tar.gz";
sha256 = "151rgnr2ip5i4fk7hllirk0gchwavgca6bk4cqk7agxr4j1pnqgf";
}) {};
in pkgs.mkShell {
buildInputs = with pkgs; [
haskell.compiler.ghc8107
haskell.packages.ghc8107.cabal-install
];
} |
@sternenseemann That sounds like a very good guess to me. My NixOS system is 21.11, and I was able to reproduce the issue. It sounds like your NixOS system is on |
Oh, I might have figured out the problem. I just followed the same steps from #169332 (comment), but in between testing with 21.11 and current @samhh Can you try My guess is that |
Success! 🌟 I did try to remove the specific problem dependency in there before but I guess I missed something important. |
So let's close this, then? I think such issues are a little beyond our control. |
May be worth mentioning in the wiki? Presumably this can happen whenever there's a system glibc update. |
Describe the bug
undefined symbol: __libc_siglongjmp, version GLIBC_PRIVATE
runningcabal test
with a particular test dependency,raw-strings-qq
.Steps To Reproduce
Repro repo. Per the README there it only happens with GHC 8.10.7, not 9.0.2.
Expected behavior
cabal test
should work. I believe it did for me previously on 21.11. It worked for someone else on IRC on an unspecified stable channel but likewise not on unstable.Additional context
nixpkgs unstable
ff9efb0724de5ae0f9db9df2debefced7eb1571d
. Similarly recent Cabal database. Dependencies managed by Cabal, not Nix.Notify maintainers
Recent activity in
hackage-packages.nix
: @sternenseemann @gebner @maralornMetadata
The text was updated successfully, but these errors were encountered: