Bug 183350

Summary: glibc update breaks automount - libresolv relocation error symbol __res_iclose
Product: [Fedora] Fedora Reporter: Orion Poplawski <orion>
Component: glibcAssignee: Jakub Jelinek <jakub>
Status: CLOSED NOTABUG QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 4   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-02-28 16:11:05 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Orion Poplawski 2006-02-28 15:55:57 UTC
Description of problem:

Since the update to glibc-2.3.6-2, automount fails.  strace reports:

[pid 10696] writev(2, [{"/usr/sbin/automount", 19}, {": ", 2}, {"relocation
error", 16}, {": ", 2}, {"/lib/libresolv.so.2", 19}, {": ", 2}, {"symbol
__res_iclose, version GLI"..., 97}, {"", 0}, {"", 0}, {"\n", 1}], 10) = 158

restarting autofs fixes the problem.

Comment 1 Jakub Jelinek 2006-02-28 16:01:13 UTC
Have you restarted the daemon?
Mixing some libraries from old and some libraries from new glibc obviously
doesn't work.
__res_iclose is certainly provided by the new glibc package:
readelf -Ws /lib/libc.so.6 | grep res_iclose@; echo; readelf -Ws
/lib/libresolv.so.2 |
grep res_iclose@
  1685: 00bace24   244 FUNC    GLOBAL DEFAULT   11 __res_iclose@@GLIBC_PRIVATE

   129: 00000000   229 FUNC    GLOBAL DEFAULT  UND __res_iclose@GLIBC_PRIVATE
(10)
   325: 00000000   229 FUNC    GLOBAL DEFAULT  UND __res_iclose@@GLIBC_PRIVATE



Comment 2 Orion Poplawski 2006-02-28 16:04:48 UTC
> restarting autofs fixes the problem.

But this was not done automatically, and in fact can be tricky to do if any
mounts are in use, so this will be a problematic update.

Comment 3 Jakub Jelinek 2006-02-28 16:11:05 UTC
Of course glibc upgrade doesn't want to reboot your box, that's admin's
responsibility to decide if that's really needed and when to do that.
You can just restart services that are needed.
The only thing glibc does as part of its upgrade is to restart sshd
(so that if you do a remote upgrade, you can still log in and fix things up)
and init (so that the system can shut down or reboot cleanly).

In your case, if you don't restart the daemon, it most likely has
libc.so.6 already loaded, but in case the first DNS query from the app happens
only after the upgrade, it will load new libresolv.so.2 and you end up with
mixing two incompatible libs.

Comment 4 Orion Poplawski 2006-02-28 16:14:50 UTC
All I'm suggesting is a release note that this update will break
autofs/automount (and ?) until restarted.  I suppose this is possible with any
glibc update, but certainly doesn't happen with every one of them so folks might
forget.

Comment 5 Orion Poplawski 2006-03-15 15:56:07 UTC
Confirmed that glibc-2.3.6-3 provides a smooth upgrade.  Thanks!