[root@mailserver rpm]# rm -f /var/lib/rpm/__db.00? [root@mailserver rpm]# /usr/lib/rpm/rpmdb_verify /var/lib/rpm/Packages [root@mailserver rpm]# rpm -q kernel kernel-2.4.22-1.2199.nptl kernel-2.4.22-1.2188.nptl kernel-2.4.22-1.2115.nptl kernel-2.4.22-1.2179.nptl [root@mailserver rpm]# rpm -e kernel-2.4.22-1.2188.nptl Segmentation fault [root@mailserver rpm]# This is a stock current-on-patches FC1 box
Created attachment 103345 [details] strace of rpm segfault
Strace hints at data problem with retrieved header. Does rpm -qa --qf '[%{*:xml}\n]' segfault? that command reads every byte of every header. Try --rebuilddb if segfault. You might also import pubkeys to strengthen the header blob integrity checks (if you haven't already).
And perhaps try cache removal before --rebuilddb rm -f /var/lib/rpn/__db*
The rpm -qa --qf didn't segfault, but it did produce this error: [root@mailserver rpm]# rpm -qa --qf '[%{*:xml}\n]' > /tmp/rpm-headers error: rpmdbNextIterator: skipping h# 395 Header V3 DSA signature: BAD, key ID 4f2a6fd2 [root@mailserver rpm]#
OK, that is damaged data blob. rpm --rebuilddb will discard any header that do not verify. /var/log/rpmpkgs.log comparison ill teel you what header was dropped, see also rpm -qa --last output.
Looks like that fixed it [root@mailserver tmp]# cd /var/lib/rpm [root@mailserver rpm]# rm -f __db.00? [root@mailserver rpm]# rpm --rebuilddb error: rpmdbNextIterator: skipping h# 395 Header V3 DSA signature: BAD, key ID 4f2a6fd2 [root@mailserver rpm]# rpm -e kernel-2.4.22-1.2188.nptl [root@mailserver rpm]# rpm -e kernel-2.4.22-1.2179.nptl thanks!
np