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