Activity log for bug #1995362

Date Who What changed Old value New value Message
2022-11-01 11:17:23 Rok Mandeljc bug added bug
2022-11-01 11:21:24 Rok Mandeljc information type Private Public
2022-11-01 11:27:04 Apport retracing service bug added subscriber Crash bug triagers for Ubuntu packages
2022-11-01 11:27:09 Apport retracing service tags amd64 apport-crash jammy local-libs need-amd64-retrace wayland-session amd64 apport-crash jammy local-libs wayland-session
2022-11-04 22:33:35 Launchpad Janitor glibc (Ubuntu): status New Confirmed
2022-11-16 14:44:03 Guillaume Beuzeboc bug added subscriber Guillaume Beuzeboc
2022-12-05 18:14:23 Simon Chopin glibc (Ubuntu): status Confirmed Triaged
2022-12-05 18:14:42 Simon Chopin glibc (Ubuntu): importance Undecided Medium
2022-12-05 18:15:25 Simon Chopin nominated for series Ubuntu Jammy
2022-12-05 18:15:25 Simon Chopin bug task added glibc (Ubuntu Jammy)
2022-12-05 18:15:30 Simon Chopin glibc (Ubuntu Jammy): status New Triaged
2022-12-05 18:15:32 Simon Chopin glibc (Ubuntu Jammy): importance Undecided Medium
2022-12-05 18:16:01 Simon Chopin glibc (Ubuntu): status Triaged Fix Released
2023-05-31 09:33:28 Simon Chopin glibc (Ubuntu Jammy): status Triaged In Progress
2023-05-31 09:47:26 Simon Chopin description On Ubuntu 22.04.1 LTS, `ldd` (or rather, the underlying `/lib64/ld-linux-x86-64.so.2`) crashes when ran against some of the python extension modules from PySide6 PyPI wheels for linux. This does not happen under 20.04 nor 22.10, and neither does it happen under Fedora 36 (which nominally uses the glibc of same version, 2.35). When running jammy docker container, the crash does not happen as long as glib2 libraries are not installed (are unresolvable). The problem was encountered when freezing a PySide6-based python application using pyinstaller, which uses `ldd` to perform binary analysis (and in cases like this, comes up empty, resulting in missing libraries). Original bug report: https://github.com/pyinstaller/pyinstaller/issues/7197 The problem (at least in PyInstaller + PySide6 context) might become more widespread as `ubuntu-22.04` CI runners become more prevalent on the GitHub actions. Steps to reproduce (in docker container): 0. docker run --rm -ti ubuntu:jammy bash 1. apt update 2. apt install -y python3 python3-venv 3. python3 -m venv venv 4. . venv/bin/activate 5. pip install pyside6 6. Call the equivalent of `ldd venv/lib64/python3.10/site-packages/PySide6/QtQml.abi3.so˙: ``` LD_TRACE_LOADED_OBJECTS=1 /lib64/ld-linux-x86-64.so.2 venv/lib64/python3.10/site-packages/PySide6/QtQml.abi3.so ``` This gives the expected output: ``` (venv) root@d7fd69601f0d:/# LD_TRACE_LOADED_OBJECTS=1 /lib64/ld-linux-x86-64.so.2 venv/lib64/python3.10/site-packages/PySide6/QtQml.abi3.so linux-vdso.so.1 (0x00007ffe2fbcf000) libpyside6qml.abi3.so.6.4 => /venv/lib64/python3.10/site-packages/PySide6/libpyside6qml.abi3.so.6.4 (0x00007f43c109a000) libQt6Qml.so.6 => /venv/lib64/python3.10/site-packages/PySide6/Qt/lib/libQt6Qml.so.6 (0x00007f43c0b31000) libpyside6.abi3.so.6.4 => /venv/lib64/python3.10/site-packages/PySide6/libpyside6.abi3.so.6.4 (0x00007f43c0af3000) libshiboken6.abi3.so.6.4 => not found libQt6Network.so.6 => /venv/lib64/python3.10/site-packages/PySide6/Qt/lib/libQt6Network.so.6 (0x00007f43c0948000) libQt6Core.so.6 => /venv/lib64/python3.10/site-packages/PySide6/Qt/lib/libQt6Core.so.6 (0x00007f43c02c8000) libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f43c009e000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f43bffb7000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f43bff97000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f43bff92000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f43bfd6a000) /lib64/ld-linux-x86-64.so.2 (0x00007f43c114b000) libshiboken6.abi3.so.6.4 => not found libshiboken6.abi3.so.6.4 => not found libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f43bfd63000) libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f43bfd0f000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f43bfcf3000) libicui18n.so.56 => /venv/lib64/python3.10/site-packages/PySide6/Qt/lib/libicui18n.so.56 (0x00007f43bf800000) libicuuc.so.56 => /venv/lib64/python3.10/site-packages/PySide6/Qt/lib/libicuuc.so.56 (0x00007f43bf400000) libicudata.so.56 => /venv/lib64/python3.10/site-packages/PySide6/Qt/lib/libicudata.so.56 (0x00007f43bda00000) libglib-2.0.so.0 => not found libgthread-2.0.so.0 => not found librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f43bfcec000) libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f43bd935000) libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f43bfcbb000) libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f43bfcb5000) libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f43bfca7000) libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f43bfca0000) libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f43bf7ec000) ``` 7. Now, install glib so that `libglib-2.0.so.0` and `libgthread-2.0.so.0` become resolvable: ``` apt install -y libglib2.0-0 ``` 8. Try obtaining imports again: (venv) root@d7fd69601f0d:/# LD_TRACE_LOADED_OBJECTS=1 /lib64/ld-linux-x86-64.so.2 venv/lib64/python3.10/site-packages/PySide6/QtQml.abi3.so Segmentation fault (core dumped) ProblemType: Crash DistroRelease: Ubuntu 22.04 Package: libc6 2.35-0ubuntu3.1 ProcVersionSignature: Ubuntu 5.15.0-50.56-generic 5.15.60 Uname: Linux 5.15.0-50-generic x86_64 ApportVersion: 2.20.11-0ubuntu82.1 Architecture: amd64 CasperMD5CheckResult: pass CurrentDesktop: ubuntu:GNOME Date: Tue Nov 1 12:14:02 2022 ExecutablePath: /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 InstallationDate: Installed on 2022-04-21 (193 days ago) InstallationMedia: Ubuntu 22.04 LTS "Jammy Jellyfish" - Release amd64 (20220419) LocalLibraries: /home/rok/venv/lib/python3.10/site-packages/PySide6/Qt/lib/libQt6Network.so.6 /home/rok/venv/lib/python3.10/site-packages/PySide6/libpyside6.abi3.so.6.4 /home/rok/venv/lib/python3.10/site-packages/PySide6/Qt/lib/libQt6Qml.so.6 /home/rok/venv/lib/python3.10/site-packages/PySide6/Qt/lib/libicui18n.so.56 /home/rok/venv/lib/python3.10/site-packages/PySide6/QtQml.abi3.so /home/rok/venv/lib/python3.10/site-packages/PySide6/Qt/lib/libicudata.so.56 /home/rok/venv/lib/python3.10/site-packages/PySide6/Qt/lib/libicuuc.so.56 /home/rok/venv/lib/python3.10/site-packages/PySide6/Qt/lib/libQt6Core.so.6 /home/rok/venv/lib/python3.10/site-packages/PySide6/libpyside6qml.abi3.so.6.4 ProcCmdline: /lib64/ld-linux-x86-64.so.2 venv/lib64/python3.10/site-packages/PySide6/QtQml.abi3.so SegvAnalysis: Segfault happened at: 0x7f16cce8a480: add %ah,-0x19(%rax) PC (0x7f16cce8a480) in non-executable VMA region: 0x7f16cce8a000-0x7f16cce8c000 rw-p None source "%ah" ok destination "-0x19(%rax)" (0x7fff9a2e3f57) ok SegvReason: executing writable VMA None Signal: 11 SourcePackage: glibc StacktraceTop: ?? () ?? () ?? () ?? () ?? () Title: ld-linux-x86-64.so.2 crashed with SIGSEGV UpgradeStatus: No upgrade log present (probably fresh install) UserGroups: adm cdrom dip lpadmin lxd plugdev sambashare sudo mtime.conffile..etc.apport.crashdb.conf: 2022-11-01T12:12:40.406888 separator: [Impact] On Ubuntu 22.04.1 LTS, `ldd` (or rather, the underlying `/lib64/ld-linux-x86-64.so.2`) crashes when ran against some of the python extension modules from PySide6 PyPI wheels for linux. This does not happen under 20.04 nor 22.10, and neither does it happen under Fedora 36 (which nominally uses the glibc of same version, 2.35). When running jammy docker container, the crash does not happen as long as glib2 libraries are not installed (are unresolvable). The problem was encountered when freezing a PySide6-based python application using pyinstaller, which uses `ldd` to perform binary analysis (and in cases like this, comes up empty, resulting in missing libraries). Original bug report: https://github.com/pyinstaller/pyinstaller/issues/7197 The problem (at least in PyInstaller + PySide6 context) might become more widespread as `ubuntu-22.04` CI runners become more prevalent on the GitHub actions. It has been fixed upstream in the following patch: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=10fe3cd309b32c003a6b98e08928e7d6007caecf [Test Plan] The patch includes tests for this. However, it's fairly easy to test on an installed system: $ sudo apt install -y python3 python3-venv libglib2.0-0 $ python3 -m venv venv $ . venv/bin/activate $ pip install pyside6 $ LD_TRACE_LOADED_OBJECTS=1 /lib64/ld-linux-x86-64.so.2 venv/lib64/python3.10/site-packages/PySide6/QtQml.abi3.so That last command should *NOT* segfault. [Regression potential] We're touching a fairly sensible part of the system here. Besides "ldd is totally broken"-type scenarios, there could be more subtle breakage due to changes in the load order of dynamic libraries (unlikely given the nature of the patch, though)
2023-06-01 16:05:40 Ubuntu Archive Robot bug added subscriber Simon Chopin
2023-06-06 08:28:45 Simon Chopin nominated for series Ubuntu Kinetic
2023-06-06 08:28:45 Simon Chopin bug task added glibc (Ubuntu Kinetic)
2023-06-06 08:28:49 Simon Chopin glibc (Ubuntu Kinetic): status New Fix Released
2023-06-06 19:53:51 Brian Murray glibc (Ubuntu Jammy): status In Progress Fix Committed
2023-06-06 19:53:52 Brian Murray bug added subscriber Ubuntu Stable Release Updates Team
2023-06-06 19:53:55 Brian Murray bug added subscriber SRU Verification
2023-06-06 19:53:58 Brian Murray tags amd64 apport-crash jammy local-libs wayland-session amd64 apport-crash jammy local-libs verification-needed verification-needed-jammy wayland-session
2023-06-11 09:44:13 Rok Mandeljc tags amd64 apport-crash jammy local-libs verification-needed verification-needed-jammy wayland-session amd64 apport-crash jammy local-libs verification-done-jammy verification-needed wayland-session
2023-06-29 08:51:08 Simon Chopin tags amd64 apport-crash jammy local-libs verification-done-jammy verification-needed wayland-session amd64 apport-crash jammy local-libs verification-done verification-done-jammy wayland-session
2023-07-28 18:36:28 Brian Murray tags amd64 apport-crash jammy local-libs verification-done verification-done-jammy wayland-session amd64 apport-crash jammy local-libs verification-needed verification-needed-jammy wayland-session
2023-07-28 21:17:37 Rok Mandeljc tags amd64 apport-crash jammy local-libs verification-needed verification-needed-jammy wayland-session amd64 apport-crash jammy local-libs verification-done-jammy verification-needed wayland-session
2023-08-08 09:37:13 Simon Chopin tags amd64 apport-crash jammy local-libs verification-done-jammy verification-needed wayland-session amd64 apport-crash jammy local-libs verification-done verification-done-jammy wayland-session
2023-09-12 15:48:24 Launchpad Janitor glibc (Ubuntu Jammy): status Fix Committed Fix Released
2023-09-12 15:48:47 Steve Langasek removed subscriber Ubuntu Stable Release Updates Team