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
gsasl: don't check on linux either #81531
Conversation
Recently something has caused the linux version to start segfaulting in its test suite: ``` Header version 1.8.0 library version 1.8.0 /nix/store/8gy2bmpz3qawxr3g8hqhfgkf32wb0wfl-bash-4.4-p23/bin/bash: line 5: 28803 Segmentation fault (core dumped) SHISHI_KEYS=./gssapi.key SHISHI_TICKETS=./gssapi.tkt SHISHI_CONFIG=./shishi.conf SHISHI_HOME=. SHISHI_USER=ignore-this-warning THREADSAFETY_FILES=`ls ../lib/*/*.c | /nix/store/8z2qcxbl9kfqhqqjm04lzlvvlwli4bw7-gnugrep-3.4/bin/grep -v -e lib/gl/vasnprintf.c -e lib/gl/getdelim.c` MD5FILE=./cram-md5.pwd EGREP="/nix/store/8z2qcxbl9kfqhqqjm04lzlvvlwli4bw7-gnugrep-3.4/bin/grep -E" GNUGSS=`if grep 'HAVE_LIBGSS 1' ../lib/config.h > /dev/null; then echo yes; else echo no; fi` ${dir}$tst FAIL: old-simple ``` This library has been marked as don't-check on darwin for more than a year---unfortunately that commit message didn't mention *why*, so it's hard to say if linux has started seeing the same issue or a different one. Regardless, this is just a stopgap; the real solution is probably to upgrade at least to 1.8.1 (a new stable release made last year), or perhaps even to the 1.9 betas---but that seems like something that should be the decision of the maintainer, @shlevy.
This is blocking the unstable-small channel |
Interestingly this test doesn't fail outside of the build sandbox. Also upstream has recently released three new versions. Only 1.8.1 has made it to the ftp: http://git.savannah.gnu.org/gitweb/?p=gsasl.git;a=tags Here is the backtrace of the segfaulting test:
|
The solution to the segfault is to do this before running the test:
res_init(3) " reads the configuration files (see resolv.conf(5)) to get the default domain name, search order and name server address(es). If no server is given, the local host is tried. If no domain is given, that associated with the local host is used. It can be overridden with the environment variable LOCALDOMAIN. res_init() is normally executed by the first call to one of the other functions." The krb5 lib calls res_ninit(3) and uses the unchecked result as an argument to strdup(3). The whole process happens within the k5_primary_domain function: https://github.com/krb5/krb5/blob/996353767fe8afa7f67a3b5b465e4d70e18bGad7c/src/lib/krb5/os/dnsglue.c#L92 I believe (given how recent that code is) that it is probably a bug in the kerberos library when executed in a very thing environment, like our build sandbox. |
Recently kerberos added a code path that relies ont he local domain part to be available. See [hydra] for the recent build failure and [github] for a brief analysis of the error. [hydra] https://hydra.nixos.org/build/113717403 [github]: - NixOS#81531 (comment) - NixOS#81531 (comment)
Recently kerberos added a code path that relies ont he local domain part to be available. See [hydra] for the recent build failure and [github] for a brief analysis of the error. [hydra] https://hydra.nixos.org/build/113717403 [github]: - NixOS#81531 (comment) - NixOS#81531 (comment) (cherry picked from commit 6eb3154)
Recently (https://hydra.nixos.org/build/113717403) something has caused the linux version to start segfaulting in its test suite:
This library has been marked as don't-check on darwin for more than a
year---unfortunately that commit message didn't mention why, so it's
hard to say if linux has started seeing the same issue or a different
one.
Regardless, this is just a stopgap; the real solution is probably to
upgrade at least to 1.8.1 (a new stable release made last year), or
perhaps even to the 1.9 betas---but that seems like something that
should be the decision of the maintainer, @shlevy.
Motivation for this change
Wanted to get
msmtp
working again.Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)