Bug 183350 - glibc update breaks automount - libresolv relocation error symbol __res_iclose
Summary: glibc update breaks automount - libresolv relocation error symbol __res_iclose
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: glibc
Version: 4
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Jakub Jelinek
QA Contact: Brian Brock
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-02-28 15:55 UTC by Orion Poplawski
Modified: 2007-11-30 22:11 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-02-28 16:11:05 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

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!


Note You need to log in before you can comment on or make changes to this bug.