-
Bug
-
Resolution: Won't Do
-
Normal
-
None
-
rhel-8.1.0
-
None
-
Moderate
-
rhel-plumbers
-
ssg_core_services
-
None
-
False
-
False
-
-
None
-
None
-
None
-
None
-
If docs needed, set a value
-
-
All
-
None
-
57,005
Description of problem:
Some products register their libraries in the library search path by
creating an entry in /etc/ld.so.conf.d/ directory.
This is not an issue unless a library conflicts with a system library in
standard path /usr/lib64 (this is distribution dependent, may also be
/usr/lib), which happens quite frequently.
Adding LD_LIBRARY_PATH for system services guarantees that standard
libraries will be used, preventing critical issues such as D-Bus daemon
not starting when 'libexpat' has been overloaded by some non-system
library for example, causing boot issues (nothing works then).
See Upstream PR: https://github.com/systemd/systemd/pull/13640
I doubt Upstream will want this patch, but IMHO RHEL needs this anyway
to protect critical services from failing/hanging at boot
(typically DBus is affected, which then impacts systemd, NetworkManager, ...).
This would solve many boot failure cases we see.
Version-Release number of selected component (if applicable):
All releases of systemd
How reproducible:
Always
Steps to Reproduce:
1. Install an incompatible library (e.g. /broken/libexpat.so*, see private attachment)
- mkdir /broken && tar xzf libexpat.tar.gz -C /broken
- echo "/broken" > /etc/ld.so.conf.d/broken.conf
- ldconfig
2. Reboot
Actual results:
Hang of the boot after starting D-Bus
Expected results:
No issue