I've captured a gdb backtrace when starting glxgears (gdb) run Starting program: /usr/bin/glxgears [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". glxgears: ../mesa-9999/src/gallium/drivers/iris/iris_disk_cache.c:240: iris_disk_cache_init: Assertion `note && build_id_length(note) == 20' failed. Program received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007ffff7976535 in __GI_abort () at abort.c:79 #2 0x00007ffff797640f in __assert_fail_base (fmt=0x7ffff7aea640 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7ffff70a6690 "note && build_id_length(note) == 20", file=0x7ffff70a6658 "../mesa-9999/src/gallium/drivers/iris/iris_disk_cache.c", line=240, function=<optimized out>) at assert.c:92 #3 0x00007ffff79848a2 in __GI___assert_fail (assertion=assertion@entry=0x7ffff70a6690 "note && build_id_length(note) == 20", file=file@entry=0x7ffff70a6658 "../mesa-9999/src/gallium/drivers/iris/iris_disk_cache.c", line=line@entry=240, function=function@entry=0x7ffff70a66e0 <__PRETTY_FUNCTION__.40902> "iris_disk_cache_init") at assert.c:101 #4 0x00007ffff6c3fa56 in iris_disk_cache_init (screen=screen@entry=0x5555555d1fc0) at ../mesa-9999/src/gallium/drivers/iris/iris_disk_cache.c:250 #5 0x00007ffff6c3f70a in iris_screen_create (fd=<optimized out>, config=config@entry=0x7fffffffc9b0) at ../mesa-9999/src/gallium/drivers/iris/iris_screen.c:651 #6 0x00007ffff66649ee in iris_drm_screen_create (fd=<optimized out>, config=0x7fffffffc9b0) at ../mesa-9999/src/gallium/winsys/iris/drm/iris_drm_winsys.c:33 #7 0x00007ffff646a7c9 in pipe_iris_create_screen (fd=<optimized out>, config=<optimized out>) at ../mesa-9999/src/gallium/auxiliary/target-helpers/drm_helper.h:47 #8 0x00007ffff6517628 in pipe_loader_drm_create_screen (dev=<optimized out>, config=<optimized out>) at ../mesa-9999/src/gallium/auxiliary/pipe-loader/pipe_loader_drm.c:304 #9 0x00007ffff651711f in pipe_loader_create_screen (dev=0x5555555cff60) at ../mesa-9999/src/gallium/auxiliary/pipe-loader/pipe_loader.c:128 #10 0x00007ffff646e675 in dri2_init_screen (sPriv=0x5555555ce490) at ../mesa-9999/src/gallium/state_trackers/dri/dri2.c:1956 #11 0x00007ffff646bfc6 in driCreateNewScreen2 (scrn=0, fd=4, extensions=0x7ffff7e59aa0 <loader_extensions>, driver_extensions=<optimized out>, driver_configs=0x7fffffffd3e0, data=0x555555581a30) at ../mesa-9999/src/mesa/drivers/dri/common/dri_util.c:153 #12 0x00007ffff7e2f1d7 in dri3_create_screen (screen=0, priv=0x55555557abc0) at ../mesa-9999/src/glx/dri3_glx.c:896 #13 0x00007ffff7e1bd94 in AllocAndFetchScreenConfigs (dpy=dpy@entry=0x55555556de70, priv=priv@entry=0x55555557abc0) at ../mesa-9999/src/glx/glxext.c:823 #14 0x00007ffff7e1c11e in __glXInitialize (dpy=dpy@entry=0x55555556de70) at ../mesa-9999/src/glx/glxext.c:949 #15 0x00007ffff7e181b9 in GetGLXPrivScreenConfig (dpy=dpy@entry=0x55555556de70, scrn=scrn@entry=0, ppriv=ppriv@entry=0x7fffffffd4e0, ppsc=ppsc@entry=0x7fffffffd4e8) at ../mesa-9999/src/glx/glxcmds.c:174 #16 0x00007ffff7e188f9 in glXChooseVisual (dpy=0x55555556de70, screen=0, attribList=0x7fffffffd730) at ../mesa-9999/src/glx/glxcmds.c:1262 #17 0x00005555555567df in make_window (dpy=0x55555556de70, name=0x5555555590cf "glxgears", x=0, y=0, width=300, height=300, winRet=0x7fffffffd8b0, ctxRet=0x7fffffffd8b8, visRet=0x7fffffffd8c0) at glxgears.c:520 #18 0x0000555555558302 in main (argc=1, argv=0x7fffffffd9d8) at glxgears.c:777 If there's anything else I can do to get more info out, please let me know
I'm not able to reproduce this, could you attach information on how your system/environment looks like? As example what kind of machine is used and options given to Mesa build.
This might happen if you have custom linker flags, you should make sure you have "-Wl,--build-id=sha1" included in linker args.
Please send also output of "eu-readelf -n iris_dri.so", it should say something like: --- 8< --- Note section [ 1] '.note.gnu.build-id' of 36 bytes at offset 0x238: Owner Data size Type GNU 20 GNU_BUILD_ID Build ID: 69c825313091a22c6f34df5185c209236d127839 --- 8< ---
Neither iris or radeonsi had anything This patch makes everything work though... --- a/src/gallium/targets/dri/meson.build +++ b/src/gallium/targets/dri/meson.build @@ -46,7 +46,7 @@ libgallium_dri = shared_library( ], c_args : [c_vis_args], cpp_args : [cpp_vis_args], - link_args : [ld_args_gc_sections, gallium_dri_ld_args], + link_args : [ld_args_build_id, ld_args_gc_sections, gallium_dri_ld_args], link_depends : gallium_dri_link_depends, link_with : [ libmesa_gallium, libdricommon, libmegadriver_stub, libdri, libgalliumvl, Might be overkill if it's just iris that needs this
(In reply to Mike Lothian from comment #4) > Neither iris or radeonsi had anything > > This patch makes everything work though... > > --- a/src/gallium/targets/dri/meson.build > +++ b/src/gallium/targets/dri/meson.build > @@ -46,7 +46,7 @@ libgallium_dri = shared_library( > ], > c_args : [c_vis_args], > cpp_args : [cpp_vis_args], > - link_args : [ld_args_gc_sections, gallium_dri_ld_args], > + link_args : [ld_args_build_id, ld_args_gc_sections, gallium_dri_ld_args], > link_depends : gallium_dri_link_depends, > link_with : [ > libmesa_gallium, libdricommon, libmegadriver_stub, libdri, libgalliumvl, > > > Might be overkill if it's just iris that needs this Right, I have same patch for iris but I was a bit confused why it works for me + others. Maybe it's just that efault is configured differently with different toolchains, manual page of ld says that "If style is omitted, "sha1" is used.".
Created attachment 144361 [details] attachment-9998-0.html I have --hash-style=gnu set On Tue, 28 May 2019, 12:10 , <bugzilla-daemon@freedesktop.org> wrote: > *Comment # 5 <https://bugs.freedesktop.org/show_bug.cgi?id=110757#c5> on > bug 110757 <https://bugs.freedesktop.org/show_bug.cgi?id=110757> from > Tapani Pälli <lemody@gmail.com> * > > (In reply to Mike Lothian from comment #4 <https://bugs.freedesktop.org/show_bug.cgi?id=110757#c4>)> Neither iris or radeonsi had anything > > > > This patch makes everything work though... > > > > --- a/src/gallium/targets/dri/meson.build > > +++ b/src/gallium/targets/dri/meson.build > > @@ -46,7 +46,7 @@ libgallium_dri = shared_library( > > ], > > c_args : [c_vis_args], > > cpp_args : [cpp_vis_args], > > - link_args : [ld_args_gc_sections, gallium_dri_ld_args], > > + link_args : [ld_args_build_id, ld_args_gc_sections, gallium_dri_ld_args], > > link_depends : gallium_dri_link_depends, > > link_with : [ > > libmesa_gallium, libdricommon, libmegadriver_stub, libdri, libgalliumvl, > > > > > > Might be overkill if it's just iris that needs this > > Right, I have same patch for iris but I was a bit confused why it works for me > + others. Maybe it's just that efault is configured differently with different > toolchains, manual page of ld says that "If style is omitted, "sha1" is > used.". > > ------------------------------ > You are receiving this mail because: > > - You are on the CC list for the bug. > - You reported the bug. > >
(In reply to Mike Lothian from comment #6) > Created attachment 144361 [details] > attachment-9998-0.html > > I have --hash-style=gnu set > OK cool, makes sense. IMO your patch looks fine, please send MR (or just patch to list)!
https://gitlab.freedesktop.org/mesa/mesa/merge_requests/961
I've created https://gitlab.freedesktop.org/mesa/mesa/merge_requests/961 Do I have to send an email to the list too? This is my first patch via MR
Thanks Mike! I pushed your patch. Fixed by: commit 29ea92e6a1e8f5cb3295011d907ea211d6f8f644 Author: Mike Lothian <mike@fireburn.co.uk> Date: Tue May 28 12:26:21 2019 +0100 meson: Link Gallium drivers with ld_args_build_id
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.