Bug 75179 - rpm -U to glibc-2.3-1 fails
rpm -U to glibc-2.3-1 fails
Product: Red Hat Linux
Classification: Retired
Component: glibc (Show other bugs)
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Jakub Jelinek
Brian Brock
Depends On:
  Show dependency treegraph
Reported: 2002-10-05 01:44 EDT by Alexandre Oliva
Modified: 2007-04-18 12:47 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2002-10-05 02:41:14 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Alexandre Oliva 2002-10-05 01:44:15 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020830

Description of problem:
After an `Everything' install of Red Hat Linux 8.0, selecting en_US as the
default language and pt_BR as the only additional language, attempting to update
to the glibc test packages at ftp://people.redhat.com/jakub/glibc/2.3-1 fails
with the following error:

error: %post(glibc-common-2.3-1) scriptlet failed, exit status 0

After this error, the system appears to be functional, but glibc-common-2.2.93-5
claims to still be installed, in addition to glibc-common-2.3-1.  After removing
glibc-common-2.2.93-5, the system appears to still be usable, but I rpm -U
--replacepkgs glibc-common-2.3-1 again just in case, and the same error message
shows up again and again on *most* (but not all) machines in which I followed
this procedure.

Another minor problem is that, unlike the system installation, that installs
locales only for the selected languages, rpm -U will install all locales, so
glibc-common ends up taking much more disk space.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.rpm -U glibc-2.3-1.i686.rpm glibc-common-2.3-1.i386.rpm etc etc (on both
athlon and i686 boxes)
2.rpm -e glibc-common-2.2.95-3
3.rpm -U --replacepkgs glibc-common-2.3-1.i386.rpm
4.repeat 3 over and over until the error message is gone or your patience is over

Actual Results:  The error message is still there, and I'm worried that there
may be something broken on my systems, even though this happened with the glibc
updates on null too and the system was functional afterwards.

Expected Results:  The first rpm -U shouldn't have failed.

Additional info:

Is this scriptlet failure serious, doc? :-)
Comment 1 Alexandre Oliva 2002-10-05 02:08:19 EDT
Further investigation has revealed that it is build-locale-archive that crashes
with a segmentation fault:
Starting program: /usr/sbin/build-locale-archive
warning: shared library handler failed to enable breakpoint

Program received signal SIGSEGV, Segmentation fault.
0x0804bbd0 in ?? ()
(gdb) where
#0  0x0804bbd0 in ?? ()
#1  0x0804bb22 in ?? ()
#2  0x0804c6bc in ?? ()
#3  0x0804b4a3 in ?? ()
#4  0x0804961e in ?? ()
#5  0x08049e3f in ?? ()
#6  0x0804a70e in ?? ()
#7  0x0804864f in ?? ()
#8  0x0804c81c in ?? ()

strace says:
open("/usr/lib/locale/locale-archive.GstyG6", O_RDWR|O_CREAT|O_EXCL, 0600) = 3
write(3, "\t\1\2\336\0\0\0\0008\0\0\0\0\0\0\0\213\3\0\0\274*\0\0"..., 56) = 56
ftruncate64(0x3, 0x235fc)               = 0
mmap2(NULL, 144892, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0) = 0x4012b000
fcntl64(3, F_SETLKW64, {type=F_WRLCK, whence=SEEK_CUR, start=0, len=144892},
0xbffeb020) = 0
--- SIGSEGV (Segmentation fault) ---

Curiously, it crashes after a complete /usr/lib/locale/locale-archive file was
created, and for some reason it then proceeds to create yet another locale-archive.
Comment 2 Alexandre Oliva 2002-10-05 02:41:06 EDT
Another interesting data point: if I rm -rf /usr/lib/locale/*_* before the
update from 2.2.93-5, the problem does not occur, build-locale-archive runs just
fine.  Perhaps there's some junk that is installed by glibc-2.2.93-5 and is used
by build-locale-archive before it is removed by the upgrade?
Comment 3 Jakub Jelinek 2002-12-03 18:07:57 EST
Should be fixed in rawhide glibc.

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