Created attachment 412159 [details] save/restore ld.so.cache in mkdumprd Description of problem: When mkdumprd is run there's an ldconfig -l call to run ldd with a different cache, and then another ldconfig call follows to re-generate the cache. This can present problems when mkdumprd is run during boot. The kdump service (S20) is started before autofs (S28), so when ldconfig is run it will remove any symlinks to shared libs which reside on autofs managed filesystems. To resolve this we should instead save/restore the original ld.so.cache. This way we ensure we end up getting back to the original cache even if network filesystems aren't yet available to us. Version-Release number of selected component (if applicable): kexec-tools-1.102pre-96.el5 How reproducible: 100% Steps to Reproduce: 1. install shared libs on fs managed by autofs 2. touch /etc/kdump.conf 3. reboot Actual results: symlinks to shared libs on autofs managed fs's are gone Expected results: symlinks are preserved Additional info:
Dave, I don't understand the problem here. ldconfig remove symlinks if they are not cached??
Ok, understand now. I will take this patch.
Tested with kexec-tools-1.102pre-96.el5: ================================================ [root@dhcp-65-178 derek]# cat /etc/ld.so.conf include ld.so.conf.d/*.conf [root@dhcp-65-178 derek]# cat /etc/ld.so.conf.d/qt-i386.conf /usr/lib/qt-3.3/lib [root@dhcp-65-178 derek]# cp /etc/ld.so.cache /etc/ld.so.cache.bak [root@dhcp-65-178 derek]# md5sum /etc/ld.so.cache.bak 88e02a822f8319996944a7eef766a8b9 /etc/ld.so.cache.bak [root@dhcp-65-178 derek]# vim /etc/ld.so.conf.d/qt-i386.conf [root@dhcp-65-178 derek]# cat /etc/ld.so.conf.d/qt-i386.conf /usr/lib/qt-3.3/lib/error [root@dhcp-65-178 derek]# touch /etc/kdump.conf [root@dhcp-65-178 derek]# serviceconf NetworkManager NetworkManager is stopped chargen-dgram xinetd (pid 2965) is running... NetworkManager NetworkManager is stopped NetworkManager NetworkManager is stopped chargen-dgram xinetd (pid 2965) is running... kdump Kdump is operational kdump Kdump is operational kdump Kdump is operational [root@dhcp-65-178 derek]# md5sum /etc/ld.so.cache 5f7c521284b37f3cbdec710fb83241e9 /etc/ld.so.cache -------------------------------------- The original ld.so.cache md5 is 88e02a822f8319996944a7eef766a8b9, after kdump restarted, it changed to 5f7c521284b37f3cbdec710fb83241e9. Verified with kexec-tools-1.102pre-108.el5: ================================================ [root@dhcp-65-178 derek]# vim /etc/ld.so.conf.d/qt-i386.conf [root@dhcp-65-178 derek]# cat /etc/ld.so.conf.d/qt-i386.conf /usr/lib/qt-3.3/lib [root@dhcp-65-178 derek]# rpm -Uvh /boot/kexec-tools-1.102pre-108.el5.i386.rpm Preparing... ########################################### [100%] 1:kexec-tools ########################################### [100%] [root@dhcp-65-178 derek]# touch /etc/kdump.conf [root@dhcp-65-178 derek]# cp /etc/ld.so.cache /etc/ld.so.cache.bak96 [root@dhcp-65-178 derek]# md5sum /etc/ld.so.cache.bak96 5f7c521284b37f3cbdec710fb83241e9 /etc/ld.so.cache.bak96 [root@dhcp-65-178 derek]# serviceconf NetworkManager NetworkManager is stopped chargen-dgram xinetd (pid 2965) is running... NetworkManager NetworkManager is stopped NetworkManager NetworkManager is stopped chargen-dgram xinetd (pid 2965) is running... kdump Kdump is operational kdump Kdump is operational kdump Kdump is operational [root@dhcp-65-178 derek]# md5sum /etc/ld.so.cache 5f7c521284b37f3cbdec710fb83241e9 /etc/ld.so.cache -------------------------------------- The original ld.so.cache md5 is 5f7c521284b37f3cbdec710fb83241e9, after kdump restarted, it changed to 5f7c521284b37f3cbdec710fb83241e9. Change status to VERIFIED.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2011-0061.html