You are right — this is a local host issue on our side, not a systemd
packaging problem. Apologies for the noise and thank you for pushing
back on comment #4.

Root cause: our jammy hosts have orphan copies of systemd binaries in
bin that no dpkg package owns, dating back to 249.11-0ubuntu3 (jammy GA,
mtime 2023-03-20 15:32:08). Almost certainly a botched image-build step
(cp from bin into bin on hosts where usrmerge was never installed and
bin is not a symlink). Every apt upgrade since then has correctly
replaced /bin/systemd-*, and the /usr/bin/systemd-* shadows have never
been touched because they belong to no package.

systemd's default service PATH is
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin — bin
before bin — and unit files ship with ExecStart=systemd-tmpfiles … (no
absolute path), so the stale /usr/bin/systemd-tmpfiles shadows the
correctly-upgraded /bin/systemd-tmpfiles. .22 is the first release where
the shadow's ABI actually breaks against the current libsystemd-
shared-249.so, so the problem became visible now.

Concretely on the host I posted evidence from:

$ sha256sum /bin/systemd-tmpfiles /usr/bin/systemd-tmpfiles
b61d62bbd74c7dd17c61c6eeb4a59783553a42816d566a2fa2384344fe84873a  
/bin/systemd-tmpfiles
67ba770213ade78b0b887d7355aa6e2a98df4dc54a7334c2f2149a7d4bd3aa42  
/usr/bin/systemd-tmpfiles

$ dpkg -S /bin/systemd-tmpfiles      → systemd: /bin/systemd-tmpfiles
$ dpkg -S /usr/bin/systemd-tmpfiles  → no path found matching pattern

$ type -a systemd-tmpfiles
systemd-tmpfiles is /usr/bin/systemd-tmpfiles
systemd-tmpfiles is /bin/systemd-tmpfiles


/bin/systemd-tmpfiles matches your clean-system b61d…873a exactly, confirming 
the .22 deb ships internally consistent binary + library. Same shadow pattern 
exists for journalctl, systemctl, systemd-sysusers, systemd-inhibit, 
systemd-notify, udevadm, loginctl, networkctl — all the units that failed at 
boot line up.

Fix on our side is to remove the unowned /usr/bin/systemd-* orphans; the
packaged /bin/* binaries then win the PATH lookup as intended. No
changes needed to the systemd package. Sorry for the runaround, and
thanks for the sharp eye on the sha256/mtime comparison — that's what
cracked it.

Feel free to close this bug as invalid.

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

Reply via email to