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

mesa: 18.2.2 -> 18.2.3 #48733

Merged
merged 1 commit into from Oct 29, 2018
Merged

mesa: 18.2.2 -> 18.2.3 #48733

merged 1 commit into from Oct 29, 2018

Conversation

dtzWill
Copy link
Member

@dtzWill dtzWill commented Oct 20, 2018

https://lists.freedesktop.org/archives/mesa-dev/2018-October/207343.html

Optimistically drop disk cache patch, changelog mentions related
changes to cache behavior.

Not sure if those changes address our problem
(can we count on build-id?) so someone more familiar with
this should probably take a look before merging :).

  • 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.

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: mesa

Partial log (click to expand)

stripping (with command strip and flags -S) in /nix/store/395wmfssi392mmflp28770cia4kdpc55-mesa-noglu-18.2.3-drivers/lib
patching script interpreter paths in /nix/store/395wmfssi392mmflp28770cia4kdpc55-mesa-noglu-18.2.3-drivers
checking for references to /build in /nix/store/395wmfssi392mmflp28770cia4kdpc55-mesa-noglu-18.2.3-drivers...
shrinking RPATHs of ELF executables and libraries in /nix/store/7c10yqpqailgxgj9zf1kv51qi89sw969-mesa-noglu-18.2.3-osmesa
shrinking /nix/store/7c10yqpqailgxgj9zf1kv51qi89sw969-mesa-noglu-18.2.3-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/7c10yqpqailgxgj9zf1kv51qi89sw969-mesa-noglu-18.2.3-osmesa/lib
patching script interpreter paths in /nix/store/7c10yqpqailgxgj9zf1kv51qi89sw969-mesa-noglu-18.2.3-osmesa
checking for references to /build in /nix/store/7c10yqpqailgxgj9zf1kv51qi89sw969-mesa-noglu-18.2.3-osmesa...
/nix/store/vf5fpham9fak45ihs0pvzd3w8wyhz58m-mesa-noglu-18.2.3

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: mesa

Partial log (click to expand)

/nix/store/x5q2hmgd2yv1z171ksls7lj7av1pyjx0-mesa-noglu-18.2.3/lib/libglapi.0.dylib: fixing dylib
/nix/store/x5q2hmgd2yv1z171ksls7lj7av1pyjx0-mesa-noglu-18.2.3/lib/libGLESv1_CM.1.dylib: fixing dylib
/nix/store/x5q2hmgd2yv1z171ksls7lj7av1pyjx0-mesa-noglu-18.2.3/lib/libGLESv2.2.dylib: fixing dylib
/nix/store/x5q2hmgd2yv1z171ksls7lj7av1pyjx0-mesa-noglu-18.2.3/lib/libGLX_mesa.0.dylib: fixing dylib
strip is /nix/store/g5r4apl0za012ffs6ladinwa5w0m1l3k-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/bfb88h918mfdymhvkg7khpd2aczxh75y-mesa-noglu-18.2.3-dev/lib
patching script interpreter paths in /nix/store/bfb88h918mfdymhvkg7khpd2aczxh75y-mesa-noglu-18.2.3-dev
strip is /nix/store/g5r4apl0za012ffs6ladinwa5w0m1l3k-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/3yb0grvhk0ln7zhnk8j4qpq155931n1g-mesa-noglu-18.2.3-drivers
/nix/store/x5q2hmgd2yv1z171ksls7lj7av1pyjx0-mesa-noglu-18.2.3

@GrahamcOfBorg
Copy link

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

Attempted: mesa

Partial log (click to expand)

  CC       util/u_transfer.lo
  CC       util/u_transfer_helper.lo
  CC       util/u_threaded_context.lo
  CC       util/u_upload_mgr.lo
  CC       util/u_vbuf.lo
  CC       nir/tgsi_to_nir.lo
  CC       indices/u_indices_gen.lo
  CC       indices/u_unfilled_gen.lo
building of '/nix/store/zh5l14rrca0459h4jv79if5g7rfsk4gl-mesa-noglu-18.2.3.drv' timed out after 3600 seconds
error: build of '/nix/store/zh5l14rrca0459h4jv79if5g7rfsk4gl-mesa-noglu-18.2.3.drv' failed

@FRidh FRidh requested a review from vcunat October 20, 2018 07:53
Copy link
Member

@vcunat vcunat left a comment

Choose a reason for hiding this comment

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

I expect build-id to be OK. It has the disadvantage of being non-determinstic IIRC, but I can't see any possible adverse effects for our users. /cc @corngood who looked deeper into the caches anyway.

@corngood
Copy link
Contributor

build-id sounds like it will do the trick, but if it's not getting set the disk cache will be disabled. I'll have a look through the mesa changes to see how it's supposed to be set.

@corngood
Copy link
Contributor

https://gitlab.freedesktop.org/mesa/mesa/commit/83ea8dd99bb16e5d9bb880e64cd2047abc536b70#6ab322842dcea8eb54ec156adebb56a70bf10ace_115_125

Am I crazy, or will this just take the first byte of the sha1? That seems like a terrible idea. I don't even really like the idea of taking the first uint32_t, but it seems like that was the intention.

@dtzWill
Copy link
Member Author

dtzWill commented Oct 22, 2018 via email

@corngood
Copy link
Contributor

@dtzWill

Yeah, I guess we all have a threshold for accepting a hash identity and for me it's somewhere between crc32 and sha256. :)

It looks like disk_cache_get_function_identifier is "only" used in:

  • nouveau
  • r600
  • radeonsi

RADV/ANV actually seem properly merge the hash, e.g. https://gitlab.freedesktop.org/mesa/mesa/blob/master/src/amd/vulkan/radv_device.c#L60

That sort of implies that it's on it's way out, and just left for compatibility with the timestamp method. Given that, I probably wouldn't complain about it being 32-bit, but 8-bit is just asking for trouble.

It might be worth keeping our hash key patch until this gets resolved upstream. Do you know if it has conflicts?

@dtzWill
Copy link
Member Author

dtzWill commented Oct 22, 2018 via email

@corngood
Copy link
Contributor

@dtzWill I can take a look tonight. It shouldn't be difficult, because it was just adding an extra string to the key. Just let me know if you get to it before me.

@dtzWill
Copy link
Member Author

dtzWill commented Oct 22, 2018 via email

@vcunat
Copy link
Member

vcunat commented Oct 22, 2018

Failing in one in 2^32 cases wouldn't seem too worrisome, given how quickly the IDs might realistically change.

@corngood
Copy link
Contributor

@vcunat Yeah, agreed. Even an 8-bit collision on successive releases is unlikely, but it's just likely enough that I don't want anyone to ever have to find that problem the hard way. :)

@dtzWill

I pushed a fixup in case you want to squash it into your PR: corngood@fda9b5f

The patch applies cleanly, so I don't expect any problems. I'm just building it locally now.

@corngood
Copy link
Contributor

@vcunat For future reference, it looks like --build-id=sha1 just adds a section with a sha1sum of the other elf sections, so it should be deterministic if the rest of the build is deterministic:

https://sourceware.org/binutils/docs-2.31/ld/Options.html#Options

https://lists.freedesktop.org/archives/mesa-dev/2018-October/207343.html

Optimistically drop disk cache patch, changelog mentions related
changes to cache behavior.

Not sure if those changes address our problem
(can we count on build-id?) so someone more familiar with
this should probably take a look before merging :).
@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: mesa

Partial log (click to expand)

cannot build derivation '/nix/store/5j03kzbc8b4c8w688gb3h6dbb2lw32xs-apple-framework-ApplicationServices.drv': 7 dependencies couldn't be built
cannot build derivation '/nix/store/z82fakrjd3j760i0sz33dyh91mf46wix-python2.7-pytest-3.7.4.drv': 19 dependencies couldn't be built
cannot build derivation '/nix/store/y6wzj7cdsw99v560y6bydd5bl51i2jwj-apple-framework-CoreVideo.drv': 8 dependencies couldn't be built
cannot build derivation '/nix/store/f389sxkmf9ikfpd3vgpmxs9hi5mvx31n-apple-framework-Foundation.drv': 9 dependencies couldn't be built
cannot build derivation '/nix/store/yvyn1lds84d45670zvp7pfkgb2qsfvks-python2.7-Mako-1.0.7.drv': 11 dependencies couldn't be built
cannot build derivation '/nix/store/j9aax41s75dp4chd86a0cnmg5fc6bih4-apple-framework-QuartzCore.drv': 7 dependencies couldn't be built
cannot build derivation '/nix/store/gl2vp67wjnnbxyiz1mbsjyzgf8y96pr3-apple-framework-Carbon.drv': 10 dependencies couldn't be built
cannot build derivation '/nix/store/y8hqfa07mxnaafck1vqqhgh03jbnbh0x-apple-lib-Xplugin.drv': 11 dependencies couldn't be built
cannot build derivation '/nix/store/izg7x461s7cmnjcv81xw1ni3cpi2zxh3-mesa-noglu-18.2.3.drv': 33 dependencies couldn't be built
error: build of '/nix/store/izg7x461s7cmnjcv81xw1ni3cpi2zxh3-mesa-noglu-18.2.3.drv' failed

@corngood
Copy link
Contributor

If this gets merged we should be able to drop the cache id patch: https://lists.freedesktop.org/archives/mesa-dev/2018-October/207606.html

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: mesa

Partial log (click to expand)

strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/qnv2c3ivpzsv4ln8g7zmkayyc91lv883-mesa-noglu-18.2.3-drivers/lib
patching script interpreter paths in /nix/store/qnv2c3ivpzsv4ln8g7zmkayyc91lv883-mesa-noglu-18.2.3-drivers
checking for references to /build in /nix/store/qnv2c3ivpzsv4ln8g7zmkayyc91lv883-mesa-noglu-18.2.3-drivers...
shrinking RPATHs of ELF executables and libraries in /nix/store/a1hpzpcbbfwjczsr197r2p7q8dpgvl7a-mesa-noglu-18.2.3-osmesa
shrinking /nix/store/a1hpzpcbbfwjczsr197r2p7q8dpgvl7a-mesa-noglu-18.2.3-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/a1hpzpcbbfwjczsr197r2p7q8dpgvl7a-mesa-noglu-18.2.3-osmesa/lib
patching script interpreter paths in /nix/store/a1hpzpcbbfwjczsr197r2p7q8dpgvl7a-mesa-noglu-18.2.3-osmesa
checking for references to /build in /nix/store/a1hpzpcbbfwjczsr197r2p7q8dpgvl7a-mesa-noglu-18.2.3-osmesa...

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: mesa

Partial log (click to expand)

stripping (with command strip and flags -S) in /nix/store/bp7p66h75n1xrcjf21z3n0wd5gbdckfz-mesa-noglu-18.2.3-drivers/lib
patching script interpreter paths in /nix/store/bp7p66h75n1xrcjf21z3n0wd5gbdckfz-mesa-noglu-18.2.3-drivers
checking for references to /build in /nix/store/bp7p66h75n1xrcjf21z3n0wd5gbdckfz-mesa-noglu-18.2.3-drivers...
shrinking RPATHs of ELF executables and libraries in /nix/store/1xrj8iq49yghjyp2d0k31wjky8jfii6w-mesa-noglu-18.2.3-osmesa
shrinking /nix/store/1xrj8iq49yghjyp2d0k31wjky8jfii6w-mesa-noglu-18.2.3-osmesa/lib/libOSMesa.so.8.0.0
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/1xrj8iq49yghjyp2d0k31wjky8jfii6w-mesa-noglu-18.2.3-osmesa/lib
patching script interpreter paths in /nix/store/1xrj8iq49yghjyp2d0k31wjky8jfii6w-mesa-noglu-18.2.3-osmesa
checking for references to /build in /nix/store/1xrj8iq49yghjyp2d0k31wjky8jfii6w-mesa-noglu-18.2.3-osmesa...
/nix/store/88gl8b92fz5x9nqr4ql1xrnldl9a3nkz-mesa-noglu-18.2.3

@dtzWill
Copy link
Member Author

dtzWill commented Oct 25, 2018

@GrahamcOfBorg mesa

@corngood
Copy link
Contributor

@dtzWill @vcunat This looks good to me. The darwin failure is unrelated. Any concerns with merging this?

@dtzWill
Copy link
Member Author

dtzWill commented Oct 29, 2018 via email

@vcunat vcunat merged commit f7b3f43 into NixOS:staging Oct 29, 2018
vcunat added a commit that referenced this pull request Oct 29, 2018
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

4 participants