Public bug reported:
After the automatic security upgrade from `249.11-0ubuntu3.21` to
`249.11-0ubuntu3.22` (installed via unattended-upgrades on 2026-08-11
06:57 local time), `journalctl` and `systemd-tmpfiles` fail immediately
with a symbol lookup error. The issue only manifested after a full
reboot; the system kept running normally for ~40 hours between the
package upgrade and the reboot, since the already-running processes kept
using the previously loaded (working) library in memory.
Steps to reproduce:
1. System running `249.11-0ubuntu3.21` upgrades to `249.11-0ubuntu3.22` via
unattended-upgrades.
2. Reboot the machine.
3. Run `journalctl --version` or any `journalctl` command.
Expected result:
`journalctl` runs normally.
Actual result:
```
journalctl: symbol lookup error: journalctl: undefined symbol: strv_push,
version SD_SHARED
```
The same error appears for `systemd-tmpfiles` during package
configuration.
Additional diagnostics:
- `dpkg -S /usr/bin/journalctl` confirms the binary belongs to the `systemd`
package (version `249.11-0ubuntu3.22`).
- `debsums -c systemd` reports no checksum mismatches — the binary is not
corrupted or modified locally; it matches exactly what the `.deb` package
installs.
- `nm -D /usr/lib/systemd/libsystemd-shared-249.so | grep strv_push` shows the
library only exports `strv_push_pair` and `strv_push_with_size` (both versioned
`SD_SHARED`), but not a bare `strv_push` symbol.
- `objdump -T $(which journalctl) | grep strv_push` confirms `journalctl` has
an **undefined** reference to plain `strv_push` versioned `SD_SHARED`.
- Reinstalling the same package version (`apt install --reinstall systemd
libsystemd0 udev`) does not fix the issue — the same symbol mismatch persists
after reinstall and after a full reboot.
- Downstream effects observed: `wireplumber.service` fails to start
(`status=70`), breaking all audio output (wired and Bluetooth). Bluetooth
devices are visible and the adapter is functional, but no audio profiles
(A2DP/HSP/HFP) are advertised, since `wireplumber` never registers them with
`bluetoothd`.
This looks like an internal ABI/symbol mismatch introduced by the `.22`
security update — specifically possibly related to the patch `basic-
strv-add-optimizable-version-of-strv_push-consume-e.patch` included in
that release's changelog, which appears to have altered how `strv_push`
is exported/split into `strv_push_pair`/`strv_push_with_size` without
updating all callers.
System information:
- Ubuntu 22.04 (Jammy)
- systemd version: 249.11-0ubuntu3.22
- Architecture: amd64
Workaround:
Downgrading `systemd`, `libsystemd0`, `udev`, and related packages to
`249.11-0ubuntu3.21` should restore functionality, but these versions are no
longer available in the standard Ubuntu archive pool (only `.22` and the
original `.3` remain).
** Affects: systemd (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2163371
Title:
journalctl and other systemd binaries fail with "undefined symbol:
strv_push, version SD_SHARED" after upgrade to 249.11-0ubuntu3.22
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2163371/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs