Bug 53048 - rpm segfaults on --rebuilddb
rpm segfaults on --rebuilddb
Status: CLOSED WORKSFORME
Product: Red Hat Linux
Classification: Retired
Component: rpm (Show other bugs)
7.0
i686 Linux
medium Severity medium
: ---
: ---
Assigned To: Jeff Johnson
:
: 53047 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2001-09-02 13:33 EDT by Brad Cox
Modified: 2008-05-01 11:38 EDT (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2001-09-05 13:30:30 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Brad Cox 2001-09-02 13:33:53 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux 2.2.16-22 i686; en-US; 0.8.1)
Gecko/20010421

Description of problem:
I've been living with a corrupt db ever since trying ximian red-carpet.
I've read similar reports in bugzilla and tried everything mentioned there,
including db_dump Packages.old | db_load Packages. Even tried the txxxxx.c
program mentioned in one of them, replacing the record numbers hardcoded in
with record numbers reported by db_verify Packages.old. Latest try was to
download rpm 4.03 from ftp.rpm.org test directory, which is the version
being loaded below. Symptoms are identical regardless the rpm version

rpm -vv --rebuilddb
...(clip)...
D:   +++        384 openssh-askpass-2.5.2p2-1.7.2
D: adding "openssh-askpass" to Name index.
D: adding 11 entries to Basenames index.
D: adding "Applications/Internet" to Group index.
D: adding 11 entries to Requirename index.
D: adding 1 entries to Providename index.
Segmentation fault (core dumped)

[root@linux rpm]# db_verify Packages.old 
db_verify: Overflow page 3339 of invalid type
db_verify: Overflow item incomplete on page 4268
db_verify: DB->verify: Packages.old: DB_VERIFY_BAD: Database verification
failed

db_verify runs silently on all /var/lib/rpm files EXCEPT for
Packages.old. Packages.old is a copy of Packages. Packages is a copy built
by db_dump Packages.old | db_load Packages


 

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


How reproducible:
Always

Steps to Reproduce:
1.rpm --rebuilddb -vv
2.with rpm2.tgz (to be attached)
3.
	

Actual Results:  D:   +++        384 openssh-askpass-2.5.2p2-1.7.2
D: adding "openssh-askpass" to Name index.
D: adding 11 entries to Basenames index.
D: adding "Applications/Internet" to Group index.
D: adding 11 entries to Requirename index.
D: adding 1 entries to Providename index.
Segmentation fault (core dumped)
[root@linux rpm]# rpm


Expected Results:  No core dump

Additional info:

[root@linux rpm]# rpm --rebuilddb
Segmentation fault (core dumped)
[root@linux rpm]# which rpm
/bin/rpm
[root@linux rpm]# gdb /bin/rpm core
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...(no debugging symbols
found)...

warning: core file may not match specified executable file.
Core was generated by `/usr/lib/rpm/rpmdb --rebuilddb'.
Program terminated with signal 11, Segmentation fault.
#0  0x40061a03 in ?? ()
(gdb) Quit
(gdb) Quit
(gdb) quit
[root@linux rpm]# gcb /usr/lib/rpm/rpm core
bash: gcb: command not found
[root@linux rpm]# gdb /usr/lib/rpm/rpm core
GNU gdb 5.0
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux".../usr/lib/rpm/rpm: No such
file or directory.

Core was generated by `/usr/lib/rpm/rpmdb --rebuilddb'.
Program terminated with signal 11, Segmentation fault.
#0  0x40061a03 in ?? ()
(gdb) bt
#0  0x40061a03 in ?? ()
#1  0x40061afd in ?? ()
#2  0x400624dd in ?? ()
#3  0x4006266a in ?? ()
#4  0x40073a20 in ?? ()
#5  0x4007608c in ?? ()
#6  0x8049e4f in ?? ()
#7  0x40167f31 in ?? ()
(gdb)
Comment 1 Jeff Johnson 2001-09-02 13:51:04 EDT
bugzilla attachments won't work, an rpmdb is too big.
A pointer (i.e. URL, please).

Meanwhile, I believe just removing /var/lib/rpm/Packages.old
should be done, that isn't an element in the rpm database,
but rather is left over from trying db_dump | db_load.

Did rpm-4.0.3 fix your database? If not, please give me a
pointer, and I'll get you a fix.
Comment 2 Jeff Johnson 2001-09-02 13:51:52 EDT
*** Bug 53047 has been marked as a duplicate of this bug. ***
Comment 3 Brad Cox 2001-09-02 21:03:08 EDT
I'll start an upload of /var/lib/rpm as rpm.tgz tonight. Should be at
http://virtualschool.edu/rpm.tgz by the morning. Thanks!
Comment 4 Brad Cox 2001-09-02 22:22:37 EDT
File uploaded OK to http://virtualschool.edu/rpm.tgz. 
Let me know when you get it; I'm short on space. 

FYI the upgrade to rpm4.0.3 from ftp://rpm.org/test made no difference.
Comment 5 Jeff Johnson 2001-09-03 15:26:53 EDT
An rpm --rebuilddb with rpm-4.0.3-1.01 fixes your problem
here.

You can get a copy of rpm-4.0.3-1.02 packages from Raw Hide at
     ftp://ftp.redhat.com/pub/redhat/linux/rawhide/i386/RedHat/RPMS

Reopen this bug if you need more ...
Comment 6 Brad Cox 2001-09-04 08:57:59 EDT
Login test
Comment 7 Brad Cox 2001-09-04 09:08:50 EDT
The new rpm wouln't install with the old database.

[root@linux z]# rpm -Uvh rpm-4.0.3-0.96.i386.rpm 
error: failed dependencies:
	libc.so.6(GLIBC_2.2.3)   is needed by rpm-4.0.3-0.96

In desperation, forced it with --nodeps, which appeared to work.
But trying to
install glibc (even though its really installed) gives this new symptom.

[root@linux kde]# rpm -Uvh glibc-2.2.4-5.i386.rpm 
error: rpmdb: damaged header instance #2728 retrieved, skipping.
error: rpmdb: damaged header instance #2729 retrieved, skipping.
error: rpmdb: damaged header instance #2731 retrieved, skipping.
error: rpmdb: damaged header instance #2732 retrieved, skipping.
--- clip 1 1/2 page of similar ---


[root@linux kde]# rpm -vv --rebuilddb
/usr/lib/rpm/rpmd: /lib/libc.so.6: version `GLIBC_2.2.3' not found (required by
/usr/lib/librpmdb-4.0.3.so)

I'm thinking I'll need to reinstall to get past this. If you agree that's the
only option, please send instructions on how to do this from the CD without
erasing my whole system. I don't mind erasing the / device (sda7), but don't
want to risk losing everything on /usr (sda6) and /home (sda1). The install disk
instructions is quite vague on exactly what gets erased when you choose
"install" as distinct from "update". 

[root@linux kde]# df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/sda7              5328901   3618541   1434446  72% /
/dev/sda5                23300      8585     13512  39% /boot
/dev/sda1              1018298    700318    265369  73% /home
/dev/sda6             10629526   8817688   1260007  88% /usr


Comment 8 Jeff Johnson 2001-09-04 09:47:21 EDT
Nah, don't reinstall just to fix a rpmdb problem.

I'll get you a fixed copy of your /var/lib/rpm/Packages
in an hour or so.
Comment 9 Jeff Johnson 2001-09-04 09:56:12 EDT
OK get ftp://people.redhat.com/jbj/rpmdb3-53048-FIX.tar.gz
and do
    cd /var/lib/rpm
    mv Packages Packages-SAVE
    cd ..
    tar xzvf rpmdb3-53048-FIX.tar.gz
    rpm --rebuilddb -vv
Comment 10 Brad Cox 2001-09-04 10:20:35 EDT
Thanks! BTW part of the problem could be that there's no rpm-4.0.3-1.02 at
ftp://ftp.redhat.com/pub/redhat/linux/rawhide/i386/RedHat/RPMS, just
rpm-4.0.3-0.96.i386.rpm, which is what I've been trying to install. Just noticed
the disparty.
Comment 11 Brad Cox 2001-09-04 12:06:28 EDT
Still hosed after installing your rpmdb.

[root@linux rpm.fix]# rpm -Uvh glib2-1.3.6-6.i386.rpm --nodeps -vv
D: ============== glib2-1.3.6-6.i386.rpm
D: Expected size:       313544 = lead(96)+sigs(160)+pad(0)+data(313288)
D:   Actual size:       313544
D: opening  db environment /var/lib/rpm/Packages joinenv
D: opening  db index       /var/lib/rpm/Packages create mode=0x42
D: locked   db index       /var/lib/rpm/Packages
D: opening  db environment /var/lib/rpm/Name joinenv
D: opening  db index       /var/lib/rpm/Name create mode=0x42
D: 	added binary package [0]
D: found 0 source and 1 binary packages
D: ========== recording tsort relations
D:   YES    A libglib-1.3.so.6	B libglib-1.3.so.6
D: ========== tsorting packages (order, #predecessors, #succesors, depth)
D:    0   0   1   0  glib2-1.3.6-6
D: installing binary packages
D: getting list of mounted filesystems
Preparing...                D: opening  db environment /var/lib/rpm/Basenames
joinenv
D: opening  db index       /var/lib/rpm/Basenames create mode=0x42
Segmentation fault (core dumped)

First guess was that your Packages became incompatible with changes in other
files since I sent it, so I tried rolling back to the tar that I sent you. Like
this:

[root@linux lib]# tar zcf rpm5.tgz rpm
[root@linux lib]# tar zxf rpm4.tgz 
[root@linux lib]# tar zxf /home/bcox/rpmdb3-53048-FIX.tar.gz 
[root@linux lib]# rpm -qa
/usr/lib/rpm/rpmq: /lib/libc.so.6: version `GLIBC_2.2.3' not found (required by
/usr/lib/librpmdb-4.0.3.so)
[root@linux lib]# cd /home/bcox/rpm.fix/
[root@linux rpm.fix]# d
total 8216
-rw-------    1 bcox     sdi        140245 Sep  4 10:15 glib-1.2.10-5.i386.rpm
-rw-------    1 bcox     sdi        122601 Sep  4 10:16 glib-devel-1.2.10-5.i386.rpm
-rw-------    1 bcox     sdi         29704 Sep  4 10:17 glib10-1.0.6-10.i386.rpm
-rw-------    1 bcox     sdi        313544 Sep  4 10:28 glib2-1.3.6-6.i386.rpm
-rw-------    1 bcox     sdi        285548 Sep  4 10:43 glib2-devel-1.3.6-6.i386.rpm
-rw-r--r--    1 bcox     sdi         67411 Sep  4 10:11 popt-1.6.3-0.96.i386.rpm
-rw-------    1 bcox     sdi       2085840 Sep  3 16:17 rpm-4.0.3-0.96.i386.rpm
-rw-------    1 bcox     sdi         75654 Sep  3 16:17
rpm-build-4.0.3-0.96.i386.rpm
-rw-------    1 bcox     sdi       4868254 Sep  3 16:40
rpm-devel-4.0.3-0.96.i386.rpm
-rw-------    1 bcox     sdi         97880 Sep  3 16:40 rpm-perl-4.0.3-0.96.i386.rpm
-rw-------    1 bcox     sdi         45195 Sep  3 16:40
rpm-python-4.0.3-0.96.i386.rpm
-rw-------    1 bcox     sdi         74039 Sep  3 16:41 rpm2html-1.7-1.i386.rpm
-rw-------    1 bcox     sdi         63155 Sep  3 16:41 rpmfind-1.7-2.i386.rpm
-rw-------    1 bcox     sdi         91815 Sep  3 16:41 rpmlint-0.32-4.noarch.rpm
[root@linux rpm.fix]# rpm -Uvh glib2-1.3.6-6.i386.rpm 
error: failed dependencies:
	/sbin/ldconfig   is needed by glib2-1.3.6-6
	/sbin/ldconfig   is needed by glib2-1.3.6-6
	ld-linux.so.2   is needed by glib2-1.3.6-6
	libc.so.6   is needed by glib2-1.3.6-6
	libdl.so.2   is needed by glib2-1.3.6-6
	libpthread.so.0   is needed by glib2-1.3.6-6
	libc.so.6(GLIBC_2.0)   is needed by glib2-1.3.6-6
	libc.so.6(GLIBC_2.1)   is needed by glib2-1.3.6-6
	libc.so.6(GLIBC_2.1.2)   is needed by glib2-1.3.6-6
	libc.so.6(GLIBC_2.1.3)   is needed by glib2-1.3.6-6
	libdl.so.2(GLIBC_2.0)   is needed by glib2-1.3.6-6
	libdl.so.2(GLIBC_2.1)   is needed by glib2-1.3.6-6
	libpthread.so.0(GLIBC_2.0)   is needed by glib2-1.3.6-6
	libpthread.so.0(GLIBC_2.1)   is needed by glib2-1.3.6-6
[root@linux rpm.fix]# rpm -Uvh glib2-1.3.6-6.i386.rpm --nodeps
Preparing...                Segmentation fault (core dumped)
[root@linux rpm.fix]# rpm -Uvh glib2-1.3.6-6.i386.rpm 
error: failed dependencies:
	/sbin/ldconfig   is needed by glib2-1.3.6-6
	/sbin/ldconfig   is needed by glib2-1.3.6-6
	ld-linux.so.2   is needed by glib2-1.3.6-6
	libc.so.6   is needed by glib2-1.3.6-6
	libdl.so.2   is needed by glib2-1.3.6-6
	libpthread.so.0   is needed by glib2-1.3.6-6
	libc.so.6(GLIBC_2.0)   is needed by glib2-1.3.6-6
	libc.so.6(GLIBC_2.1)   is needed by glib2-1.3.6-6
	libc.so.6(GLIBC_2.1.2)   is needed by glib2-1.3.6-6
	libc.so.6(GLIBC_2.1.3)   is needed by glib2-1.3.6-6
	libdl.so.2(GLIBC_2.0)   is needed by glib2-1.3.6-6
	libdl.so.2(GLIBC_2.1)   is needed by glib2-1.3.6-6
	libpthread.so.0(GLIBC_2.0)   is needed by glib2-1.3.6-6
	libpthread.so.0(GLIBC_2.1)   is needed by glib2-1.3.6-6
[root@linux rpm.fix]# rpm -Uvh *.rpm
warning: Expected size:       642066 = lead(96)+sigs(160)+pad(0)+data(641810)
warning:   Actual size:       285548
Segmentation fault (core dumped)

I tried a google search on rpm-4.0.3-1.02 and it came up empty. Any other ideas?
Comment 12 Jeff Johnson 2001-09-04 12:16:03 EDT
Hmmm, you wouldn't be using LDAP passwords, would you? If so,
then you need to run nscd to avoid a loader/linkage problem
with the LDAP PAM module that affects statically linked
binaries like rpm.
Comment 13 Brad Cox 2001-09-04 12:27:13 EDT
No, ldap is installed but not running. 

[root@linux init]# ps ax | grep ldap
 5259 pts/1    S      0:00 grep ldap

ncsd is not installed. Never heard of it.

[root@linux init]# which ncsd
/usr/bin/which: no ncsd in
(/usr/kerberos/sbin:/usr/kerberos/bin:/usr/X11R6/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin:/bin:/www/bin:/usr/local/bin:/jdk/bin:~bcox/bin:.)
Comment 14 Brad Cox 2001-09-04 12:31:47 EDT
Sorry, you said nscd. That's there. 

I'm running named on linux + nis serving one macosx client but not nscd.
Apparently typing its name started it. Will try rpm again... nope, no difference.

[root@linux rpm.fix]# rpm -qa
/usr/lib/rpm/rpmq: /lib/libc.so.6: version `GLIBC_2.2.3' not found (required by
/usr/lib/librpmdb-4.0.3.so)
[root@linux rpm.fix]# rpm --rebuilddb
/usr/lib/rpm/rpmd: /lib/libc.so.6: version `GLIBC_2.2.3' not found (required by
/usr/lib/librpmdb-4.0.3.so)
[root@linux rpm.fix]# rpm --rebuilddb -vv
/usr/lib/rpm/rpmd: /lib/libc.so.6: version `GLIBC_2.2.3' not found (required by
/usr/lib/librpmdb-4.0.3.so)
[root@linux rpm.fix]# rpm -Uvh glib*
warning: Expected size:       642066 = lead(96)+sigs(160)+pad(0)+data(641810)
warning:   Actual size:       285548
Segmentation fault (core dumped)
Comment 15 Brad Cox 2001-09-04 13:01:35 EDT
Just tried your rpm2cpio fix. That failed too.


[root@linux rpm.fix]# cd /var/tmp
[root@linux tmp]# d
total 0
[root@linux tmp]# mkdir xxx
[root@linux tmp]# cd xxx
/var/tmp/xxx
[root@linux xxx]# man rpm2cpio
[root@linux xxx]# rpm2cpio /home/bcox/rpm.fix/rpm-4.0.3-0.96
.i386.rpm | cpio -dim
rpm2cpio: /lib/libc.so.6: version `GLIBC_2.2.3' not found (r
equired by /usr/lib/librpmdb-4.0.3.so)
cpio: premature end of archive
[root@linux xxx]# d
total 0

Any other ideas?


Comment 16 Brad Cox 2001-09-04 13:13:37 EDT
Could you just send a copy of rpm-4.0.3-1.02 via email? I suspect that's why
we're getting different results.
Comment 17 Brad Cox 2001-09-04 15:35:50 EDT
Got it. Typed rpm -Uvh -vv rpm-4.0.3-1.02.src.rpm to install it
which appeared to work ok.  Based on the following I looked in
/usr/src/redhat/SOURCES/ and found the tar.gz file
 
1:rpm                    D: fini      100664  1 (   0,   0)   5068601
/usr/src/redhat/SOURCES/rpm-4.0.3.tar.gz  

Then did a tar zxf rpm-4.0.3.tar.gz to expand it, creating rpm--4.0.3 directory.

Edited the autogen.sh script as instructed
#LTV="libtoolize (GNU libtool) 1.4"
#ACV="Autoconf version 2.13"
#AMV="automake (GNU automake) 1.4-p5"
LTV="libtoolize (GNU libtool) 1.3.5"
ACV="Autoconf version 2.13"
AMV="automake (GNU automake) 1.4"

Ran that in the source directoy which seemed to do fine (looks like ./configure
ran properly). But make won't run

[root@linux rpm-4.0.3]# make
make  all-recursive
make[1]: Entering directory `/usr/src/redhat/SOURCES/rpm-4.0.3'
Making all in intl
/usr/src/redhat/SOURCES/rpm-4.0.3/intl
make[2]: Entering directory `/usr/src/redhat/SOURCES/rpm-4.0.3/intl'
make[2]: *** No rule to make target `all-no-@BUILD_INCLUDED_LIBINTL@', needed by
`all-no'.  Stop.
make[2]: Leaving directory `/usr/src/redhat/SOURCES/rpm-4.0.3/intl'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/src/redhat/SOURCES/rpm-4.0.3'
make: *** [all-recursive-am] Error 2
[root@linux rpm-4.0.3]# pwd
/usr/src/redhat/SOURCES/rpm-4.0.3

Sorry for all the trouble but I'm really counting on you. Appreciate the help so
far.



Comment 18 Brad Cox 2001-09-04 17:31:10 EDT
That didn't work either

[root@linux xxx]# rpm2cpio /home/bcox/rpm-4.0-6x.i386.rpm | cpio -dim
rpm2cpio: /lib/libc.so.6: version `GLIBC_2.2.3' not found (required by
/usr/lib/librpmdb-4.0.3.so)
cpio: premature end of archive

I'm downloading rpm-4.02.i3876.tar.gz in the hope that this contains
a working rpm, but I'm starting to give up hope. Any suggestions would be
most welcome.
Comment 19 Jeff Johnson 2001-09-04 17:37:17 EDT
Yup, the tarball is the next step.

Don't lose hope, the problems are just noise from changing
versions of rpm manually :-)
Comment 20 Brad Cox 2001-09-04 17:54:02 EDT
Nope. Other ideas? Should I be using 4.0? 4.0.2? 4.0.3? 4.0.4?

[root@linux SPECS]# /home/bcox/z/bin/rpm -ba rpm.spec 
RPM version 4.0.2
...Usage instructions---

presumably because 4.0.2 doesn't do-ba. Who knows? 
Comment 21 Jeff Johnson 2001-09-05 09:02:54 EDT
Install the rpm-build-4.0.2-*6x package using
rpm2cpio.

Rebuild and install rpm-4.0.3.

Do rpm --rebuilddb.

Almost there :-)
Comment 22 Brad Cox 2001-09-05 09:26:50 EDT
That won't work because rpm2cpio needs libc. See the "That didn't work either"
comment.

But I seem to have found a workaround on rpm.org. I downloaded the rpm2cpio.pl
perl script and used that instead. From indications so far, that seems to have
done it.

rpm2cpio.pl /home/bcox/rpm/4.0.3/rpm-4.0.3-0.6.i386.rpm | cpio -dim
CPIO archive found!
5926 blocks

[root@linux xxx]# d
total 3
drwx------    2 root     root         1024 Sep  5 09:24 bin
drwx------    3 root     root         1024 Sep  5 09:24 etc
drwx------    5 root     root         1024 Sep  5 09:24 usr
[root@linux xxx]# find . -type d -exec chmod 755 {} \;


[root@linux xxx]# tar cf - . | (cd /; tar xvf -)

[root@linux /root]# rpm --rebuilddb -vv
D: rebuilding database /var/lib/rpm into /var/lib/rpmrebuilddb.31996
D: creating directory /var/lib/rpmrebuilddb.31996
D: opening old database with dbapi 1
D: opening db index       /var/lib/rpm/Packages rdonly mode=0x0
D: locked  db index       /var/lib/rpm/Packages
---snip---
D:   +++        240 hpijs-0.97-1
D: adding "hpijs" to Name index.
D: adding 11 entries to Basenames index.
D: adding "Applications/Publishing" to Group index.
D: adding 10 entries to Requirename index.
D: adding 1 entries to Providename index.
error: db3 error(-30989) from dbcursor->c_get: DB_RUNRECOVERY: Fatal error, run
database recovery
D: closed  db index       /var/lib/rpm/Packages
D: closed  db index       /var/lib/rpmrebuilddb.31996/Triggername
D: closed  db index       /var/lib/rpmrebuilddb.31996/Conflictname
D: closed  db index       /var/lib/rpmrebuilddb.31996/Providename
D: closed  db index       /var/lib/rpmrebuilddb.31996/Requirename
D: closed  db index       /var/lib/rpmrebuilddb.31996/Group
D: closed  db index       /var/lib/rpmrebuilddb.31996/Basenames
D: closed  db index       /var/lib/rpmrebuilddb.31996/Name
D: closed  db index       /var/lib/rpmrebuilddb.31996/Packages
D: removing /etc/rpm/macros.db1 after successful db3 rebuild.
D: removing directory /var/lib/rpmrebuilddb.31996

[root@linux lib]# tar zcf rpm6.tgz rpm ## just in case

Note the db3 error above. Is that significant?  What is "database recovery"?

Also note that I used rpm 4.0.3 instead of 4.0.2 as you said, on the grounds
that 4.0.2 doesn't support -ba. Is this OK?



Comment 23 Jeff Johnson 2001-09-05 09:43:02 EDT
Apologies, I have a rpm2cpio.sh script, I forgot
I will mail privately, as well as rpm-4.0.3-1.02
packages for 6.x, as we're getting stuck in peripheral
details.

I didn't see a DB_RUNRECOVERY problem when rebuilding
your database. Have you tried that copy of /var/lib/rpm/Packages?

Comment 24 Brad Cox 2001-09-05 10:16:51 EDT
Got the mail with the enclosures. Its downloading now. Best not to try this in
the future; my server is too short on space to handle large enclosures. I can
get it from people.redhat.com if need be. 

Will try the 1.02 version when it gets here. But right now I don't really feel
"stuck in periopheral details"; rpm2cpio.pl is the first ray of hope I've seen
since we started this quest! ;)

I untarred the Packages tarball you sent me on top of the other files in
/var/lib when you sent it. But so much has gone on since, and my understanding
so dim, that I'm not 100% sure I didn't overwrite it. 

It would help if I understood the significance of that DB_RUN_RECOVERY message.
Can you explain? All I can see is that rpm now seems to be working, butwith a
truncated database, which I've been trying to repopulate by doing rpm -Uvh *.rpm
from the Redhat install CD disk 1. That's not working properly; unresolved
references, which I'm dealing with by not reinstalling packages with unresolved
deps.

 Am I on the right track here?
Comment 25 Jeff Johnson 2001-09-05 10:46:37 EDT
If you overwrote Packages, I still have a copy of the original.

I have my own quota problems on people.redhat.com :-(

DB_RUNRECOVERY is the fatal -- can't happen -- last gasp
return code from Berkeley db3. In you case, considering
the amount of churn and burn that's been going on, the underlying
reaon is for the return is unimportant. Your database worked
fine for me, and had only a single damaged header

error: rpmdb: damaged header instance #2728 retrieved, skipping

sio the rest of the problems are due to problems trying
to get the same version of software I used installed on
your machine.
Comment 26 Brad Cox 2001-09-05 12:09:07 EDT
rpm is working. Have used it to reinstall most of Redhat 7.0 disk 1 without
problems. Hit this problem trying to upgrade to your rpm 1.02

[root@linux f]# d
total 5209
-rw-r--r--    1 bcox     sdi         67092 Sep  5 11:58 popt-1.6.3-1.02.6x.i386.rpm
-rw-r--r--    1 bcox     sdi       1927390 Sep  5 11:57 rpm-4.0.3-1.02.6x.i386.rpm
-rw-r--r--    1 bcox     sdi         76635 Sep  5 11:57
rpm-build-4.0.3-1.02.6x.i386.rpm
-rw-r--r--    1 bcox     sdi       3186620 Sep  5 11:57
rpm-devel-4.0.3-1.02.6x.i386.rpm
-rw-r--r--    1 bcox     sdi         46300 Sep  5 11:57
rpm-python-4.0.3-1.02.6x.i386.rpm
-rw-r--r--    1 bcox     sdi           613 Sep  5 11:57 rpm2cpio.sh
[root@linux f]# rpm -Uvh *.rpm
error: failed dependencies:
	libbz2.so.0   is needed by rpm-4.0.3-1.02.6x
	libbz2.so.0   is needed by rpm-build-4.0.3-1.02.6x
	libbz2.so.0   is needed by rpm-python-4.0.3-1.02.6x
[root@linux f]# gnorpm &

gnorpm will launch now. Used find to locate bzip2 1.0.1-3 which installed with
no problems. But this only defines /usr/lib/libbz2.so.1 which isn't what your
rpm needs. 

Suggestions?


Comment 27 Jeff Johnson 2001-09-05 12:24:31 EDT
Yes, rpm-4.0.3 links against what is "officially"
in Red Hat 6.x, namely bzip2-0.9.5d-2. Downgrade
to that if you wish to use my binary packages, otherwise
you'll have to build your own.
Comment 28 Brad Cox 2001-09-05 13:30:25 EDT
I got your rpm packages to install by

[root@linux f]# rpm -e bzip2-1.0.1-3
error: removing these packages would break dependencies:
	libbz2.so.1   is needed by rpm-python-4.0.3-0.6
	libbz2.so.1 is needed by anaconda-7.0.1-6

Then rpm -Uvh *.rpm in the directory you sent me, pulsthe old
bzip downloaded from the 6.2 distro. Seemed to work ok, except for a glood of
ldconfig errors of the form:

/sbin/ldconfig: /usr/lib/libavifil32.so is not a symbolic link

No idea what these files are, how they got there, whether I need them, or how to
get ldconfig to stop complaining. 

Looks like we're real close now. Really appreciate the help!

PS: In /var/lib, the .tgz files are my backup. Do I need the others, e.g.
rpmrebuilddb.17287 and similar? Also rpm.rpmsave?

drwxr-xr-x    2 rpm      rpm          1024 Sep  5 13:33 rpm
drwxr-xr-x    2 root     root         1024 Feb 14  1996 rpm.rpmsave
-rw-r--r--    1 root     root     12910066 Sep  2 12:05 rpm.tgz
-rw-r--r--    1 root     root     12905928 Sep  2 13:36 rpm2.tgz
-rw-r--r--    1 root     root      7208220 Sep  2 21:25 rpm3.tgz
-rw-r--r--    1 root     root      7208219 Sep  3 16:46 rpm4.tgz
-rw-r--r--    1 root     root     18642811 Sep  4 12:10 rpm5.tgz
-rw-r--r--    1 root     root     13215715 Sep  5 09:38 rpm6.tgz
-rw-r--r--    1 root     root      4060175 Sep  5 13:28 rpm7.tgz
drwxr-xr-x    2 root     root         1024 Aug 31 12:08 rpmrebuilddb.17287
drwxr-xr-x    2 root     root         1024 Aug 31 12:10 rpmrebuilddb.17293
drwxr-xr-x    2 root     root         1024 Sep  3 17:13 rpmrebuilddb.18722
drwxr-xr-x    2 root     root         1024 Sep  2 10:36 rpmrebuilddb.19785
drwxr-xr-x    2 root     root         1024 Sep  2 10:45 rpmrebuilddb.19857
drwxr-xr-x    2 root     root         1024 Sep  2 10:49 rpmrebuilddb.19891
drwxr-xr-x    2 root     root         1024 Jun  3 07:31 rpmrebuilddb.19990
drwxr-xr-x    2 root     root         1024 Jun  3 07:33 rpmrebuilddb.20006
drwxr-xr-x    2 root     root         1024 Sep  2 10:52 rpmrebuilddb.20217
drwxr-xr-x    2 root     root         1024 Sep  2 10:54 rpmrebuilddb.20236
drwxr-xr-x    2 root     root         1024 Sep  2 10:57 rpmrebuilddb.20259
drwxr-xr-x    2 root     root         1024 Sep  2 11:02 rpmrebuilddb.20317
drwxr-xr-x    2 root     root         1024 Sep  2 11:05 rpmrebuilddb.20343
drwxr-xr-x    2 root     root         1024 Sep  2 12:05 rpmrebuilddb.20852
drwxr-xr-x    2 root     root         1024 Sep  2 12:22 rpmrebuilddb.21741
drwxr-xr-x    2 root     root         1024 Sep  2 13:14 rpmrebuilddb.22623
drwxr-xr-x    2 root     root         1024 Sep  2 13:27 rpmrebuilddb.22828
drwxr-xr-x    2 root     root         1024 Sep  1 10:39 rpmrebuilddb.25921
drwxr-xr-x    2 root     root         1024 Sep  1 11:34 rpmrebuilddb.26698
drwxr-xr-x    2 root     root         1024 Sep  1 12:20 rpmrebuilddb.27557
Comment 29 Jeff Johnson 2001-09-05 13:49:45 EDT
All the rpmrebuild* directories can be removed
at your convenience, they're left over from segfaults
from rpm --rebuilddb.

I'm gonna close this bug, as it seems you're mostly
back together.

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