[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Latest tree broke rpm?

Jakub Jelinek wrote :

> > When this is printed, this means /sbin/ldconfig surely had to be run
> > successfully.
> Actually, I found out what's going on.
> If you are unlucky and /sbin/ldconfig run in glibc_post_upgrade (from
> glibc's %post) is the last /sbin/ldconfig run during the update,
> then at the point when that /sbin/ldconfig is run, files from both
> new glibc and old glibc might still exist in the filesystem.
> Particularly there might be still /lib/tls/librtkaio-2.3.3.so
> (from glibc-2.3.3-20 or earlier) and /lib/tls/librt-2.3.3.so (from
> glibc-2.3.3-24 (well, -21 or later, the rpm currently being installed)).
> The libraries have the same SONAME (that's because they provide the same
> ABI, librt.so.1) but different filename (librtkaio uses kernel aio,
> librt is pure userland implementation).
> Unfortunately librtkaio is the one picked by ldconfig, so librt.so.1
> stays pointing to librtkaio-2.3.3.so.  Some time after glibc %post ends
> rpm removes /lib/tls/librtkaio-2.3.3.so (as it is present just in the old
> package) and there is a stale symlink.
> If you are lucky and some other package's %post runs ldconfig after the
> librtkaio-2.3.3.so file is removed (or if you are upgrading already
> from glibc which did not have that file), everything is fine.
> Guess I'll need to add some more ugly hacks into glibc_post_upgrade :(.
> FYI, librtkaio has been removed for FC2, because 2.6.x kernel AIO support
> is in a bad shape and insufficient for POSIX AIO on top of it.

Thanks a lot for tracking this down and giving such a detailed
explanation about the problem!

I think such glibc knowledge would be useful to track down something
funny that has been seen when trying to run a FC1 chroot on a FC2 test
host... can't point to the discussion as sf.net lists seem to have
stopped archiving, though :-(
Basically all applications in the FC1 root segfault, and this doesn't
happen with FC2test or RHLx roots and is reproducible. If it rings a
bell, pointers are welcome ;-)


Clean custom Red Hat Linux rpm packages : http://freshrpms.net/
Fedora Core release 1.92 (FC2 Test 3) - Linux kernel 2.6.5-1.350
Load : 0.49 0.53 0.45

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]