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

staging can't build any NixOS test VM's? (extra-utils references libidn2 unexpectedly?) #43650

Closed
dtzWill opened this issue Jul 17, 2018 · 4 comments
Labels
1.severity: blocker This is preventing another PR or issue from being completed

Comments

@dtzWill
Copy link
Member

dtzWill commented Jul 17, 2018

Issue description

In trying to test some PR's I found I was unable to build NixOS test VM targets-- since they all require at least stage1 bits which currently fail to build.

Steps to reproduce

$  nix build -I testpkgs=https://github.com/NixOS/nixpkgs/archive/dca7b10fd52371548870f7a8aba90c39574ca89e.tar.gz  '(import <testpkgs/nixos/tests/bind.nix>)'

(current commit of 'staging')

Technical details

Please run nix-shell -p nix-info --run "nix-info -m" and paste the
results.

  • system: "x86_64-linux"
  • host os: Linux 4.17.6, NixOS, 18.09pre145679.dae9cf6106d (Jellyfish)
  • multi-user?: yes
  • sandbox: yes
  • version: nix-env (Nix) 2.1dtz-mux-ec06e4f
  • channels(will): "allvm, nixos-1609-16.09.1943.25f4906da6, unstable-18.09pre144959.be1461fc0ab"
  • channels(root): "nixos-18.09pre145679.dae9cf6106d"
  • nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos
@FRidh
Copy link
Member

FRidh commented Jul 17, 2018

staging has now been "promoted" to staging-next so please target that branch for fixes.

@FRidh FRidh added the 1.severity: blocker This is preventing another PR or issue from being completed label Jul 17, 2018
@dtzWill
Copy link
Member Author

dtzWill commented Jul 17, 2018

I think merging master into staging did the trick, not sure which commit. Looks good now! Thanks! 😁

@dtzWill dtzWill closed this as completed Jul 17, 2018
@dtzWill dtzWill reopened this Jul 23, 2018
@bkchr
Copy link
Contributor

bkchr commented Jul 23, 2018

Any ideas how we can fix that?

dtzWill added a commit to dtzWill/nixpkgs that referenced this issue Jul 24, 2018
With meson 0.47.0 (or 0.47.1, or git)
things are very wrong re:rpath handling
resulting in at best missing libs but
even corrupt binaries :(.

When we run patchelf it masks the problem
by removing obviously busted paths.
Which is probably why this wasn't noticed immediately.

Unfortunately the binary already
has a long series of paths scribbled
in a space intended for a much smaller string;
in my testing it was something like
lengths were 67 with 300+ written to it.

I think we've reported the relevant issues upstream,
but unfortunately it appears our patches
are what introduces the overwrite/corruption
(by no longer being correct in what they assume)

This doesn't look so bad to fix but it's
not something I can spend more time on
at the moment.

--

Interestingly the overwritten string data
(because it is scribbled past the bounds)
remains in the binary and is why we're suddenly
seeing unexpected references in various builds
-- notably this is is the reason we're
seeing the "extra-utils" breakage
that entirely crippled NixOS on master
(and probably on staging before?).

Fixes NixOS#43650.

This reverts commit 305ac4d.
@dtzWill
Copy link
Member Author

dtzWill commented Jul 24, 2018

Yes will be submitting a PR shortly, although it's mostly a workaround until we can properly fix with newer meson.

domenkozar pushed a commit that referenced this issue Jul 24, 2018
With meson 0.47.0 (or 0.47.1, or git)
things are very wrong re:rpath handling
resulting in at best missing libs but
even corrupt binaries :(.

When we run patchelf it masks the problem
by removing obviously busted paths.
Which is probably why this wasn't noticed immediately.

Unfortunately the binary already
has a long series of paths scribbled
in a space intended for a much smaller string;
in my testing it was something like
lengths were 67 with 300+ written to it.

I think we've reported the relevant issues upstream,
but unfortunately it appears our patches
are what introduces the overwrite/corruption
(by no longer being correct in what they assume)

This doesn't look so bad to fix but it's
not something I can spend more time on
at the moment.

--

Interestingly the overwritten string data
(because it is scribbled past the bounds)
remains in the binary and is why we're suddenly
seeing unexpected references in various builds
-- notably this is is the reason we're
seeing the "extra-utils" breakage
that entirely crippled NixOS on master
(and probably on staging before?).

Fixes #43650.

This reverts commit 305ac4d.

(cherry picked from commit 273d68e)
Signed-off-by: Domen Kožar <domen@dev.si>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.severity: blocker This is preventing another PR or issue from being completed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants