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

llvmPackages: 5 -> 7 on Linux, keep Darwin at 5 until fixed #49402

Merged
merged 6 commits into from Feb 7, 2019

Conversation

Projects
None yet
8 participants
@dtzWill
Copy link
Contributor

dtzWill commented Oct 29, 2018

Replaces #39986.

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

I've been using 7 as my default for over a month (ea00916)
and so far so good -- although my usage certainly doesn't cover all packages impacted by this.

dtzWill added some commits Oct 29, 2018

llvmPackages: keep darwin at llvm5
My previous attempts to bump the Darwin stdenv version didn't
seem to work, but AFAIK doing so should be straightforward
for anyone with a Darwin builder and the interest in tackling this.

While not the preferred solution, adding a conditional lets us move on,
as we missed 6 entirely due to no one getting around to resolving the
Darwin bootstrap accordingly.

@dtzWill dtzWill referenced this pull request Oct 29, 2018

Closed

llvmPackages: update default 5 -> 6 #39986

1 of 8 tasks complete
@dtzWill

This comment has been minimized.

Copy link
Contributor Author

dtzWill commented Oct 29, 2018

A miscompilation bug was mentioned on the other PR, it may be wise to check if LLVM 7 contains the fix (although this would mostly impact Darwin).

@GrahamcOfBorg

This comment has been minimized.

Copy link

GrahamcOfBorg commented Oct 29, 2018

Failure on x86_64-darwin (full log)

Attempted: mesa

Partial log (click to expand)

cannot build derivation '/nix/store/ga3jscq5wjjzm7vkza0776xnd041q8az-apple-framework-ApplicationServices.drv': 7 dependencies couldn't be built
cannot build derivation '/nix/store/c5ww790x688dbacb25xbd3djsg8dxszh-python2.7-pytest-3.9.2.drv': 19 dependencies couldn't be built
cannot build derivation '/nix/store/6zlvywkmim993jpz37d055n4j2xi9cww-apple-framework-CoreVideo.drv': 8 dependencies couldn't be built
cannot build derivation '/nix/store/i45kqjs4cvn6840wcv8vnjab7ccir7wy-apple-framework-Foundation.drv': 9 dependencies couldn't be built
cannot build derivation '/nix/store/11sasaganqszjhj4hxixq8n6w35xlpa5-python2.7-Mako-1.0.7.drv': 11 dependencies couldn't be built
cannot build derivation '/nix/store/ackxc04k0g3g9qylsl9j5sslpliyhqs3-apple-framework-QuartzCore.drv': 7 dependencies couldn't be built
cannot build derivation '/nix/store/sdccdnjmv91fgpak47x32p0h6mr9280z-apple-framework-Carbon.drv': 10 dependencies couldn't be built
cannot build derivation '/nix/store/8ayxhrdkjv8v9l1f859s15hqx2a4y3j8-apple-lib-Xplugin.drv': 11 dependencies couldn't be built
cannot build derivation '/nix/store/5wb3q53012p5b4j59c7yl79w7rpslvnn-mesa-noglu-18.2.2.drv': 33 dependencies couldn't be built
error: build of '/nix/store/5wb3q53012p5b4j59c7yl79w7rpslvnn-mesa-noglu-18.2.2.drv' failed

@GrahamcOfBorg

This comment has been minimized.

Copy link

GrahamcOfBorg commented Oct 29, 2018

Timed out, unknown build status on x86_64-linux (full log)

Attempted: mesa

Partial log (click to expand)

[ 81%] Building CXX object tools/llvm-dwp/CMakeFiles/llvm-dwp.dir/llvm-dwp.cpp.o
[ 81%] Building CXX object tools/llvm-cov/CMakeFiles/llvm-cov.dir/SourceCoverageViewHTML.cpp.o
[ 81%] Linking CXX executable ../../bin/llvm-dis
[ 81%] Built target llvm-dis
Scanning dependencies of target llvm-exegesis
[ 81%] Building CXX object tools/llvm-exegesis/CMakeFiles/llvm-exegesis.dir/llvm-exegesis.cpp.o
[ 81%] Linking CXX executable ../../bin/llvm-dwarfdump
building of '/nix/store/4sr7h8y8qx109f1hnm73blxd7nhhrfxw-llvm-7.0.0.drv' timed out after 1800 seconds
cannot build derivation '/nix/store/bfnnlly2dbsnipss189l1kyfadym3m2x-mesa-noglu-18.2.2.drv': 1 dependencies couldn't be built
error: build of '/nix/store/bfnnlly2dbsnipss189l1kyfadym3m2x-mesa-noglu-18.2.2.drv' failed

@GrahamcOfBorg

This comment has been minimized.

Copy link

GrahamcOfBorg commented Oct 29, 2018

Success on aarch64-linux (full log)

Attempted: mesa

Partial log (click to expand)

stripping (with command strip and flags -S) in /nix/store/k91wcafyi3khzkacnd2v0yd620adds90-mesa-noglu-18.2.2-drivers/lib
patching script interpreter paths in /nix/store/k91wcafyi3khzkacnd2v0yd620adds90-mesa-noglu-18.2.2-drivers
checking for references to /build in /nix/store/k91wcafyi3khzkacnd2v0yd620adds90-mesa-noglu-18.2.2-drivers...
shrinking RPATHs of ELF executables and libraries in /nix/store/lqi8kbgqcbnb3mgdxaskn8iih9g2blxr-mesa-noglu-18.2.2-osmesa
shrinking /nix/store/lqi8kbgqcbnb3mgdxaskn8iih9g2blxr-mesa-noglu-18.2.2-osmesa/lib/libOSMesa.so.8.0.0
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/lqi8kbgqcbnb3mgdxaskn8iih9g2blxr-mesa-noglu-18.2.2-osmesa/lib
patching script interpreter paths in /nix/store/lqi8kbgqcbnb3mgdxaskn8iih9g2blxr-mesa-noglu-18.2.2-osmesa
checking for references to /build in /nix/store/lqi8kbgqcbnb3mgdxaskn8iih9g2blxr-mesa-noglu-18.2.2-osmesa...
/nix/store/0xkrw68haw0v6h8xjyw0117aji5ij9ga-mesa-noglu-18.2.2

@dtzWill

This comment has been minimized.

Copy link
Contributor Author

dtzWill commented Oct 30, 2018

Anyone have thoughts -- particularly "please wait"-- on this?

@LnL7

This comment has been minimized.

Copy link
Member

LnL7 commented Oct 31, 2018

I don't really see a reason to diverge. I would propose to drop libxml2 by default and switch everything or nothing. The darwin builds will also give us a better overview of the impact.

@matthewbauer

This comment has been minimized.

Copy link
Member

matthewbauer commented Dec 15, 2018

Are there any issues on darwin? This would help us out because llvm 7 contains dsymutil which is needed to fix #52148.

@LnL7

This comment has been minimized.

Copy link
Member

LnL7 commented Dec 15, 2018

We have to disable (libxml?) on darwin, or just by default to avoid bootstrapping problems.

@dtzWill

This comment has been minimized.

Copy link
Contributor Author

dtzWill commented Jan 15, 2019

@matthewbauer matthewbauer added this to the 19.09 milestone Jan 23, 2019

@nixos-discourse

This comment has been minimized.

Copy link

nixos-discourse commented Jan 24, 2019

This pull request has been mentioned on Nix community. There might be relevant details there:

https://discourse.nixos.org/t/nixos-19-03-feature-freeze/1950/5

@vcunat

This comment has been minimized.

Copy link
Member

vcunat commented Jan 24, 2019

I can hardly guess the amount of breakage, but I'd hope almost all will be built-time. It might be worth creating a separate x86_64-linux -only jobset on Hydra just for this, so that these regressions get separated from others.

@madjam002

This comment has been minimized.

Copy link

madjam002 commented Jan 24, 2019

Just as an FYI, I tried LLVM 7 with Mesa on NixOS Unstable and I get the following errors when trying games from Steam Proton (might be unrelated):

[  551.019500] amdgpu 0000:01:00.0: GPU fault detected: 147 0x09d84401 for process Overcooked.exe pid 5241 thread Overcooked.exe pid 5241
[  551.019504] amdgpu 0000:01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR   0x0D70013B
[  551.019505] amdgpu 0000:01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x08044001
[  551.019507] amdgpu 0000:01:00.0: VM fault (0x01, vmid 4, pasid 32774) at page 225444155, read from 'TC5' (0x54433500) (68)
[  562.390204] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout, signaled seq=55183, emitted seq=55186

I'm trying LLVM 7 by using the following (this also could be completely wrong, I'm new to NixOS!):

packageOverrides = pkgs: with pkgs.stdenv.lib;
      let
        mesa = ((pkgs.mesa_noglu.override {
          llvmPackages = pkgs.llvmPackages_7;
        }));
      in {
        mesa_drivers = mesa.drivers;
      };
$ DISPLAY=:0 glxinfo | grep "OpenGL"
OpenGL vendor string: X.Org
OpenGL renderer string: AMD Radeon (TM) RX 480 Graphics (POLARIS10, DRM 3.27.0, 4.20.3, LLVM 7.0.1)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.3.1
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5 (Compatibility Profile) Mesa 18.3.1
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.3.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

LLVM 6 works fine.

@matthewbauer

This comment has been minimized.

Copy link
Member

matthewbauer commented Feb 6, 2019

Let's aim for this right after the 19.03 branch off. We still have quite a few things in staging that I am wanting to prioritize.

@dtzWill

This comment has been minimized.

Copy link
Contributor Author

dtzWill commented Feb 6, 2019

@matthewbauer matthewbauer merged commit 9f71f86 into NixOS:staging Feb 7, 2019

10 checks passed

grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-maintainers matching changed paths to changed attrs...
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A manual
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./nixos/release.nix -A options
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A manual
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A tarball
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="ofborg"; } ./pkgs/top-level/release.nix -A unstable
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment