Bug 26935 - RPM segfaults when trying to do a rpm -Uvh
Summary: RPM segfaults when trying to do a rpm -Uvh
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: rpm
Version: 7.0
Hardware: i386
OS: Linux
medium
high
Target Milestone: ---
Assignee: Jeff Johnson
QA Contact: David Lawrence
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2001-02-10 11:14 UTC by Torkar, Richard
Modified: 2007-04-18 16:31 UTC (History)
0 users

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2001-02-13 09:38:41 UTC
Embargoed:


Attachments (Terms of Use)

Description Torkar, Richard 2001-02-10 11:14:57 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux 2.4.2-pre3 i686; en-US; m18)
Gecko/20010208


When trying to do a rpm -Uvh *.rpm om a couple of packages rpm segfaults.

Reproducible: Always
Steps to Reproduce:
1.Just do a rpm -Uvh on a rpm package...
2.
3.
	

Actual Results:  I here do a rpm -Uvvvh

D: counting packages to install
D: found 1 packages
D: looking for packages to download
D: retrieved 0 packages
D: New Header signature
D: Signature size: 68
D: Signature pad : 4
D: sigsize         : 72
D: Header + Archive: 616030
D: expected size   : 616030
D: opening db index       /var/lib/rpm/Packages rdonly mode=0x0
D: locked  db index       /var/lib/rpm/Packages
D: opening db index       /var/lib/rpm/Name rdonly mode=0x0
D: found 0 source and 1 binary packages
D: opening db index       /var/lib/rpm/Depends create mode=0x0
D: opening db index       /var/lib/rpm/Providename rdonly mode=0x0
D:   YES    A oaf = 0.6.2-100_helix_2001020908  B oaf >= 0.2.4
D:  Requires: oaf >= 0.2.4                                  YES (db provides)
D: opening db index       /var/lib/rpm/Basenames rdonly mode=0x0
D:  Requires: /bin/sh                                       YES (db files)
D:   NO     A rpmlib(PayloadFilesHavePrefix) <= 4.0-1   B
rpmlib(VersionedDependencies) = 3.0.3-1
D:   NO     A rpmlib(PayloadFilesHavePrefix) <= 4.0-1   B
rpmlib(CompressedFileNames) = 3.0.4-1
D:   NO     A rpmlib(PayloadFilesHavePrefix) <= 4.0-1   B
rpmlib(PayloadIsBzip2) = 3.0.5-1
D:   YES    A rpmlib(PayloadFilesHavePrefix) <= 4.0-1   B
rpmlib(PayloadFilesHavePrefix) = 4.0-1
D:  Requires: rpmlib(PayloadFilesHavePrefix) <= 4.0-1       YES (rpmlib
provides)
D:  Requires: ld-linux.so.2                                 YES (db provides)
D:  Requires: libIIOP.so.0                                  YES (db provides)
D:  Requires: libORBit.so.0                                 YES (db provides)
D:  Requires: libORBitCosNaming.so.0                        YES (db provides)
D:  Requires: libORBitutil.so.0                             YES (db provides)
D:  Requires: libc.so.6                                     YES (db provides)
D:  Requires: libdl.so.2                                    YES (db provides)
D:   YES    A libgconf-1.so.1   B libgconf-1.so.1
D:  Requires: libgconf-1.so.1                               YES (added provide)
D:  Requires: libglib-1.2.so.0                              YES (db provides)
D:  Requires: libgmodule-1.2.so.0                           YES (db provides)
D:  Requires: libm.so.6                                     YES (db provides)
D:  Requires: libnsl.so.1                                   YES (db provides)
D:  Requires: liboaf.so.0                                   YES (db provides)
D:  Requires: libpopt.so.0                                  YES (db provides)
D:  Requires: libxml.so.1                                   YES (db provides)
D:  Requires: libz.so.1                                     YES (dbprovides)
D:  Requires: libc.so.6(GLIBC_2.0)                          YES (db provides)
D:  Requires: libc.so.6(GLIBC_2.1)                          YES (db provides)
D:  Requires: libc.so.6(GLIBC_2.1.3)                        YES (db provides)

D:   NO     A rpmlib(CompressedFileNames) <= 3.0.4-1    B
rpmlib(VersionedDependencies) = 3.0.3-1
D:   YES    A rpmlib(CompressedFileNames) <= 3.0.4-1    B
rpmlib(CompressedFileNames) = 3.0.4-1
D:  Requires: rpmlib(CompressedFileNames) <= 3.0.4-1        YES (rpmlib
provides)
D: opening db index       /var/lib/rpm/Conflictname rdonly mode=0x0
D: opening db index       /var/lib/rpm/Requirename rdonly mode=0x0
D:   YES    A GConf = 0.12-100_helix_2001021007 B GConf = 0.12
D:  Requires: GConf = 0.12                                  YES (added provide)
D:  Requires: R libgconf-1.so.1                             YES (cached)
D:  Requires: R libgconf-1.so.1                             YES (cached)
D:   YES    A libgconf-gtk-1.so.1       B libgconf-gtk-1.so.1
D:  Requires: libgconf-gtk-1.so.1                           YES (added provide)
D:  Requires: R libgconf-gtk-1.so.1                         YES (cached)
D:  Requires: R GConf = 0.12                                YES (cached)
D: installing binary packages
D: getting list of mounted filesystems
D: opening db index       /var/lib/rpm/Group rdonly mode=0x0
D: opening db index       /var/lib/rpm/Triggername rdonly mode=0x0
Segmentation fault (core dumped)


Expected Results:  I think you can figure this one out :)

I installed the Nautlius rpm-4.0.2-0.34.i386.rpm with the build and python
packages as well. http://www.eazel.com

After I noticed that helix-update gave me core dumps I deinstalled this rpm
and reinstalled the standard RH 7.0 rpm. Afterwards I did a --rebuilddb

It says core dumped but no core is actually dumped. I have ulimit -c 10000

Comment 1 Torkar, Richard 2001-02-10 11:19:08 UTC
Ohh btw, after I had installed the original rpm from RedHat 7.0 I could install
a few packages. But today everything seems impossible to install...

Comment 2 Jeff Johnson 2001-02-10 14:11:20 UTC
Dunno what Nautilus is shipping/using in rpm-4.0.2. There's a known problem
with gcc mis-compiling rpm when -mcpu=i686 is used (just a guess at the cause).

rpm depends on reliable data from the database, many segfaults in rpm are
caused by unreliable data in the database. Specifically, after *any* segfault in
rpm,
you should do "rpm --rebuilddb", as further segfaults can be caused by
unreliable
data from the original segfault.

What do you mean "impossible to install" ?

Comment 3 Torkar, Richard 2001-02-10 22:06:13 UTC
Nothing att all can be upgraded or installed as of now.
Neither -i or -U works. I've tried to do --rebuilddb more than once now...

/Richard

Comment 4 Torkar, Richard 2001-02-11 11:04:48 UTC
Ok, this is strange...

I can do a -e and remove a package without a problem. Afterwards I do a
--rebuilddb and still I can *not* do a -i, -U or -F but....

W8, I found something strange!
When I try to do a rpm -Uvh *.rpm on the rpm packages provided each night by the
Evolution-team I can't install, upgrade or freshen them. Not even when I try a
single package. It *always* stops at:

D: opening db index       /var/lib/rpm/Group rdonly mode=0x0
D: opening db index       /var/lib/rpm/Triggername rdonly mode=0x0
Segmentation fault

BUT when I downloaded two other rpms it works to do a rpm -i.
ftp://ftp.enst.fr/pub/unix/a2ps/a2ps-4.13-3.i386.rpm
http://download.sourceforge.net/jedit/jedit-3.0.2-1.noarch.rpm

So the above rpms work but the evolution nightly builds below do not work.
ftp://ftp.ximian.com/pub/ximian/evolution-snapshots/distributions/RedHat-7/*.rpm

This is so strange..
Can it really be the -mcpu=i686 bug?

/Richard

Comment 5 Torkar, Richard 2001-02-11 14:36:21 UTC
ok, it's comfirmed. I can use all rpms made by RedHat, and others.
But as soon as I try to install/upgrade/freshen rpms from HelixCode/Ximian I get
segfaults.

/Richard

Comment 6 Torkar, Richard 2001-02-11 16:34:55 UTC
I tried to replace the rpm, rpm-build, rpm-devel and rpm-python packages that
comes with 7.0 with the ones that come with "fisher".
That didn't work, I got a segfault, as I get with HelixCode/Evolution packages..

/Richard

Comment 7 Torkar, Richard 2001-02-12 17:00:46 UTC
Hmmm, I *think* that this is a duplicate of Bug 24692 ?

/Richard

Comment 8 Torkar, Richard 2001-02-13 09:38:37 UTC
Okay, rpm finally gave me a core to work with.
But I'm afraid that the backtrace didn't give much.
[root@/]# gdb -c core /bin/rpm 
GNU gdb 5.0
Core was generated by `rpm -Uvh --test bonobo-0.36-100_helix_2001021008.i386.rpm
bonobo-devel-0.36-100'.
Program terminated with signal 11, Segmentation fault.
#0  0x806e4d4 in ?? ()
(gdb) bt
#0  0x806e4d4 in ?? ()
#1  0x8070371 in ?? ()
#2  0x8067974 in ?? ()
#3  0x804b29a in ?? ()
#4  0x8101801 in ?? ()
(gdb) 

Any ideas?
I'm running out of option now...

/Richard


Comment 9 Jeff Johnson 2001-02-13 18:43:47 UTC
Reinstall using rpm2cpio. As root do
	cd /var/tmp
	rpm2cpio rpm-4.0.1*.rpm | cpio -dim
	cp bin/rpm /bin
and then reinstall rpm-4.0.1 packages using the executable that you installed
manually.

I'd suggest using rpm-4.0.1-0.7x from ftp://ftp.rpm.org/pub/rpm/test-4.0.1 or a
recent Red Hat compiled rpm-4.0.2 from Raw Hide, that works for me.

Please reopen if you still have problems.


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