Hi James!
On Wed, Jan 29, 2025 at 01:43:31AM +0000, James Addison wrote:
Dear Maintainer, Dmitry,
This is conjecture, but I wondered whether an adjustment to the meson linkage options for libgallium_dri[1] around the same time (not contained in the same commit, but chronologically nearby) could be relevant. In particular, libdri moved into link_whole, although libswdri did not.
I tried moving libswdri to link_whole as well, but it did not change anything unfortunately. And reverting 212d57f7e6701a4f307c2c049a0e3eccfce58965 is not possible, because there are conflicts in all three files.
In other news, I tried to use different linkers and linker options. With all linkers, it crashes, but in a bit different ways:
- bfd (default): jump happens to stderr().
- gold: jump happens to some incorrect place in libgallium-24.3.4.so:
https://paste.debian.net/1347044/
https://paste.debian.net/1347045/
- lld: jump happens to 0x0.
- bfd with -Wl,-z,now: *** stack smashing detected *** but in the same
location, when attempting to do driSwapBuffers(pdraw->dri_drawable).
Also I tried a different compiler (clang), and did not notice any difference compared to gcc.
In case someone else wants to take a look at this, here is how I test it:
1. Clone upstream repo and enter the directory:
$ git clone --depth 1
https://gitlab.freedesktop.org/mesa/mesa.git -b 24.3
$ cd mesa
2. Configure mesa (see [1] on details how to pass a different compiler or options):
$ meson setup build
3. Build mesa (pass -v to see full command lines):
$ ninja -C build
4. Install mesa locally:
$ meson install -C build --destdir=~/mesa-install
5. Get qtlocation package source:
$ cd ~
$ dget -ux
https://deb.debian.org/debian/pool/main/q/qtlocation-opensource-src/qtlocation-opensource-src_5.15.15+dfsg-3.dsc
6. Run the build until it fails:
$ cd qtlocation-opensource-src-5.15.15+dfsg
$ dpkg-buildpackage -jauto
7. Enter the test directory:
$ cd tests/auto/declarative_ui
8. Set LD_LIBRARY_PATH environment variable:
$ export LD_LIBRARY_PATH=~/qtlocation-opensource-src-5.15.15+dfsg/lib:~/mesa-install/usr/local/lib/powerpc64le-linux-gnu
9. Enter Xvfb environment:
$ xvfb-run -a -s "-screen 0 1024x768x24 +extension RANDR +extension RENDER +extension GLX" bash
10. Run the test:
$ ./tst_declarative_ui -import ~/qtlocation-opensource-src-5.15.15+dfsg/qml
Steps 5 and 6 can be done once, no need to repeat them between tests.
[1]:
https://docs.mesa3d.org/meson.html#compiler-options
--
Dmitry Shachnev
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEq2sdvrA0LydXHe1qsmYUtFL0RrYFAmealYYACgkQsmYUtFL0 Rras3A/9F6gTF3kz9ob2jntxbRGpRY6P5gV5U657VKXtiAkEqJ1so4GRbOP2j+SL 1CraRj2R/mlQI7QqM3unTH3vvTM+7rJm7+VS+IF9+ocHPn8B5tN7iXwn/Pbykhe6 T5Og7CTjzHoheMy/AQ1UYoJa2hzaYeOuQbI2bvsiR5Usm7jVPdF/zE0q7D1gWEK5 39Vo+WWOk7FD7cooRDcrnHrwBeRWsdiHgU3enarcXXXQZnZsxyRuU1gtxDTVC6ql Ui9t92KHdhmXWK5tOYFxGsWSZsl4f7YUuGdG0Jja5q9ZUaElZL9iVYASk9kNd8ju j1fhTnNl+7qWccbNOqM+MDFyT4qbPrev59wDSVo/OOyLGmTUPSDCFuNUfb0yTnKQ 9mIR/CVIxc5dHt1gWhtajRvmVsUV9CozvCu2kAoklJr02O3R0sP1SaGuAGZJKjkx 8et3V81WcKB4QA9WVo+eIJ2GvPvGPBtlU1nDMP3lRiVq6yEPzsMEFodWNBomkWnD KBXFjqqsTcjeZ/JZzxYHgE/5dL5pUdtmymiNaeSufeT8++OnJ/mu4AslYJmB//Ye IC4kwgCluGmiXrZBYXAMJesDWbgYNTWe5f+G6Bj0jFJENO4bu5RGdBG+LYPtJnOF QCURhCFXcyt8jWI97kyAF5MdijDQ/OVlN3wXKXAbdXYdQ87lXuw=
=qD/S
-----END PGP SIGNATURE-----
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)