ldd / ld-linux-x86-64.so.2 crashes with SIGSEGV when ran against certain shared libraries
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
glibc (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Jammy |
Fix Released
|
Medium
|
Unassigned | ||
Kinetic |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
On Ubuntu 22.04.1 LTS, `ldd` (or rather, the underlying `/lib64/
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:/
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:/
[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_
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)
Changed in glibc (Ubuntu Jammy): | |
status: | Triaged → In Progress |
description: | updated |
Changed in glibc (Ubuntu Kinetic): | |
status: | New → Fix Released |
tags: |
added: verification-done removed: verification-needed |
tags: |
added: verification-done removed: verification-needed |
StacktraceTop:
?? ()
?? ()
?? ()
?? ()
?? ()