Bug 213986 - Infinite loops in librpmdb
Summary: Infinite loops in librpmdb
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: 6
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Panu Matilainen
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-11-04 10:58 UTC by Don't mail me
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-08-13 09:13:49 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
DB_RUNRECOVERY errors from yum (87.98 KB, image/png)
2006-11-10 19:04 UTC, Don't mail me
no flags Details

Description Don't mail me 2006-11-04 10:58:19 UTC
Description of problem:
While trying to upgrade from FC5 to FC6 with yum, it entered an infinite loop
(100% reproducible). rpm --rebuilddb didn't help. Memory&disk are far from being
full.
Stack trace:
#0  0x490f675a in __memp_fget_rpmdb () from /usr/lib/librpmdb-4.4.so
#1  0x490c7850 in __db_goff_rpmdb () from /usr/lib/librpmdb-4.4.so
#2  0x490cf15d in __db_ret_rpmdb () from /usr/lib/librpmdb-4.4.so
#3  0x490ba48d in __db_c_get_rpmdb () from /usr/lib/librpmdb-4.4.so
#4  0x490c0946 in __db_c_get_pp_rpmdb () from /usr/lib/librpmdb-4.4.so
#5  0x49050946 in tagType () from /usr/lib/librpmdb-4.4.so
#6  0x4904b66d in rpmdbNextIterator () from /usr/lib/librpmdb-4.4.so
#7  0x4904cb72 in rpmdbFindFpListExclude () from /usr/lib/librpmdb-4.4.so
#8  0x44ea0565 in rpmtsRun () from /usr/lib/librpm-4.4.so
#9  0x006f0eed in rpmts_Create ()
#10 0x4a145cfd in PyCFunction_Call () from /usr/lib/libpython2.4.so.1.0
#11 0x4a180e2b in PyEval_EvalFrame () from /usr/lib/libpython2.4.so.1.0
#12 0x4a181758 in PyEval_EvalCodeEx () from /usr/lib/libpython2.4.so.1.0
#13 0x4a17fb0b in PyEval_EvalFrame () from /usr/lib/libpython2.4.so.1.0
#14 0x4a1808cc in PyEval_EvalFrame () from /usr/lib/libpython2.4.so.1.0
#15 0x4a181758 in PyEval_EvalCodeEx () from /usr/lib/libpython2.4.so.1.0
#16 0x4a17fb0b in PyEval_EvalFrame () from /usr/lib/libpython2.4.so.1.0
#17 0x4a181758 in PyEval_EvalCodeEx () from /usr/lib/libpython2.4.so.1.0
#18 0x4a1817e3 in PyEval_EvalCode () from /usr/lib/libpython2.4.so.1.0
#19 0x4a19e548 in Py_CompileString () from /usr/lib/libpython2.4.so.1.0
#20 0x4a19fc58 in PyRun_SimpleFileExFlags () from /usr/lib/libpython2.4.so.1.0
#21 0x4a1a033a in PyRun_AnyFileExFlags () from /usr/lib/libpython2.4.so.1.0
#22 0x4a1a6d65 in Py_Main () from /usr/lib/libpython2.4.so.1.0
#23 0x080485b2 in main ()


Version-Release number of selected component (if applicable):
RPM version 4.4.2
yum 2.6.1

How reproducible:
100%

Steps to Reproduce:
1. Try to upgrade FC5 to FC6.
2.
3.
  
Actual results:
Infinite loop

Expected results:
Fedora Core 6 ( ^_^);

Additional info:

Comment 1 Don't mail me 2006-11-04 11:03:29 UTC
Oh, it happens during the Transaction test.

Comment 2 Jeff Johnson 2006-11-04 12:42:45 UTC
How do you know "infinite"?

Can you append the output of rpm -qa here please?

Comment 3 Don't mail me 2006-11-04 13:37:07 UTC
Longest I let it run was 30 minutes, with absolutely 0 disk activity in vmstat.

rpm -qa;
evolution-2.6.3-1.fc5.5
xorg-x11-server-Xorg-1.0.1-9.fc5.5
mgetty-1.1.33-7.FC5.2
libacl-2.2.34-1.2
cdda2wav-2.01.01.0.a03-3
dbus-python-0.61-3.fc5.1
sound-juicer-2.14.4-1.fc5.1
gnome-applets-2.14.3-2.fc5
bc-1.06-19.2.1
ethtool-3-1.2.1
libbonobo-2.14.0-1.fc5.1
libXvMC-1.0.1-3
libcroco-0.6.1-1
mod_perl-2.0.2-5.1
bluez-pin-0.30-2
termcap-5.4-7.1
xorg-x11-drv-cyrix-1.0.0.5-1.1
newt-devel-0.52.2-6
gnome-python2-extras-2.14.0-3.fc5
sed-4.1.5-5.fc5
system-config-rootpassword-1.1.8-1.1
texinfo-4.8-9.2.fc5.1
freetype-devel-2.1.10-5.2.1
foomatic-3.0.2-33.3
lvm2-2.02.01-1.2.1
cyrus-sasl-devel-2.1.21-10
dosfstools-2.11-5.FC5
zsh-4.2.5-1.2.2
gpm-1.20.1-73.3
readahead-1.2-2
poppler-0.5.1-2
tux-3.2.18-4.2.1
alsa-utils-1.0.11-4.rc2
rsync-2.6.8-1.FC5.1
newt-perl-1.08-9.2.1
linuxwacom-0.7.2-1.2
pstack-1.2-7.2.1
db4-4.3.29-8.fc5
nautilus-cd-burner-2.14.3-2.fc5
pam_passwdqc-1.0.2-1.2.1
gimp-libs-2.2.13-1.fc5
gtk2-2.8.20-1
startup-notification-0.8-3.2.1
perl-Digest-SHA1-2.11-1.2
SysVinit-2.86-2.2.2
php-pear-1.4.9-1.2
patch-2.5.4-29.2.1
sendmail-8.13.7-2.fc5.2
xorg-x11-twm-1.0.1-1.2
passwd-0.71-3.2
evolution-webcal-2.4.1-3.4
xorg-x11-drv-sis-0.8.1.3-1.2
procps-3.2.6-3.5
libjpeg-devel-6b-36.2.1
newt-0.52.2-6
aspell-en-6.0-2
gdk-pixbuf-0.22.0-22
mod_python-3.2.8-3
dbus-0.61-3.fc5.1
kernel-devel-2.6.17-1.2187_FC5
e2fsprogs-devel-1.38-12
gdm-2.14.9-1
xsri-2.1.0-9.2.1
evolution-data-server-1.6.3-1.fc5.2
xorg-x11-xkb-utils-1.0.1-1.2
gpg-pubkey-a109b1ec-3f6e28d5
spamassassin-3.1.3-1.fc5
gdb-6.3.0.0-1.134.fc5
talk-0.17-29.2.1
cpuspeed-1.2.1-1.33
chkconfig-1.3.29-1
libXdmcp-devel-1.0.0-2.2
glibc-headers-2.4-11
tcsh-6.14-6.fc5.3
xorg-x11-proto-devel-7.0-6
libXft-2.1.8.2-3.2
openldap-clients-2.3.19-4
desktop-printing-0.19-6
hesiod-3.0.2-31.2.1
irssi-0.8.10-4.fc5
netpbm-10.34-1.fc5
rhpxl-0.18-1
ypbind-1.19-1
gtkhtml3-3.10.3-1.fc5.1
libXScrnSaver-1.0.1-1.2
atk-1.11.4-1.fc5.1
system-config-language-1.1.11-1
xorg-x11-xtrans-devel-1.0.0-3.2.FC5.0
glib2-devel-2.10.3-1
xorg-x11-drv-evdev-1.0.0.5-1.2
cracklib-2.8.6-1.2.1
pinfo-0.6.9-1.fc5
librsvg2-2.14.4-1.fc5.1
distcache-1.4.5-13
ImageMagick-6.2.5.4-4.2.1.fc5.6
patchutils-0.2.31-2.2.1
net-snmp-libs-5.3-4.2
gnome-terminal-2.14.2-1
NetworkManager-glib-0.6.4-1.fc5
xdelta-1.1.3-17.2.1
audit-libs-1.2.9-1.fc5
rp-pppoe-3.5-31
kudzu-1.2.34.4-1
libXfont-devel-1.0.0-3
fbset-2.1-20.2.1
mdadm-2.3.1-3
libXpm-devel-3.5.4.2-2.2
selinux-policy-2.3.7-2.fc5
frysk-0.0.1.2006.10.30.rh1-1.fc5
screen-4.0.2-12
libgnomecanvas-2.14.0-1
elinks-0.11.0-2.2
xorg-x11-fonts-misc-7.0-3
strace-4.5.14-1.2
xorg-x11-drv-digitaledge-1.0.1.3-1.2
kernel-devel-2.6.18-1.2200.fc5
squid-2.5.STABLE14-2.FC5
libXvMC-devel-1.0.1-3
redhat-rpm-config-8.0.40-1
nmap-4.03-0.fc5
libgcrypt-1.2.2-1.2.1
eog-2.14.3-1.fc5
gnutls-1.2.10-3
libtermcap-2.0.8-45
redhat-lsb-3.0-9.2
gnome-user-docs-2.14.2-1.fc5.1
httpd-2.2.2-1.2
gnome-volume-manager-1.5.15-1
db4-devel-4.3.29-8.fc5
gnopernicus-1.0.4-1.fc5.1
libxslt-python-1.1.15-1.2.1
libXxf86dga-1.0.0-2.2
libXxf86misc-1.0.0-2.2
iptables-1.3.5-1.2
zlib-devel-1.2.3-1.2.1
libXfixes-3.0.1.2-2.2
libXfontcache-1.0.1-1.2
totem-1.4.1-1
zisofs-tools-1.0.6-3.2.1
mailcap-2.1.21-1.fc5
chkfontpath-1.10.1-1
readline-5.0-3.2.1
xorg-x11-drv-mutouch-1.0.0.5-1.2
xsane-0.991-4.fc5
xorg-x11-drv-palmax-1.0.0.5-1.2
swig-1.3.24-2.2.1
gphoto2-2.1.99-8
xorg-x11-drv-savage-2.0.2.3-1.2
xorg-x11-drv-vmware-10.11.1.3-1.1
cpp-4.1.1-1.fc5
xorg-x11-drv-apm-1.0.1.5-1.1
sysklogd-1.4.1-36
pango-1.12.4-4
xterm-213-1.FC5
byacc-1.9-29.2.1
system-config-users-1.2.47-1.fc5
xorg-x11-drv-citron-2.1.5-1
crash-4.0-2.18.1
netpbm-progs-10.34-1.fc5
hal-0.5.7.1-2.fc5
diffutils-2.8.1-15.2.1
samba-common-3.0.23c-1.fc5
xorg-x11-drv-microtouch-1.0.0.5-1.2
groff-1.18.1.1-10
ipsec-tools-0.6.4-1.1
xorg-x11-drv-magellan-1.0.0.5-1.2
xorg-x11-drv-ark-0.5.0.5-1.1
gmime-2.1.19-3
libXt-devel-1.0.0-2.2
libao-0.8.6-1.2.1
mingetty-1.07-5.2.1
netdump-0.7.14-1.2.1
gnome-python2-canvas-2.12.4-1
nscd-2.4-11
automake17-1.7.9-6.1
sqlite-3.3.3-1.2
xorg-x11-drv-acecad-1.0.0.5-1.2
libXext-1.0.0-3.2
nss-3.11.3-0.5.fc5
openssh-server-4.3p2-4.10
giflib-4.1.3-6.2.1
vnc-4.1.1-39.fc5
sudo-1.6.8p12-4.1
xorg-x11-drv-vesa-1.0.1.3-1.2
pciutils-2.2.1-1.2
webalizer-2.01_10-29.2.1
libSM-1.0.0-2.2
gnome-desktop-2.14.3-1.fc5
mlocate-0.14-0.fc5.1
iptstate-1.4-1.1.2.1
gedit-2.14.3-1
neon-0.25.5-1.2
libXevie-devel-1.0.0-2.2
portmap-4.0-65.2.2
libFS-1.0.0-2.2
SDL-1.2.9-5.2.1
perl-BSD-Resource-1.24-3.2.2
gnome-panel-2.14.3-1.fc5
gd-devel-2.0.33-6.2
acpid-1.0.4-2
MAKEDEV-3.21-3
pirut-1.0.3-0.fc5
dhcpv6_client-0.10-16.1
rpm-build-4.4.2-15.2
libidn-0.6.2-1.1
nss_db-2.2-35
parted-1.7.1-15.fc5
jessie-1.0.1-5
dbus-x11-0.61-3.fc5.1
vim-minimal-7.0.042-0.fc5
mono-core-1.1.13.7-2.fc5.1
setarch-1.8-1.2.1
libgnomeprint22-2.12.1-4.2
perl-Compress-Zlib-1.41-1.2.2
ncurses-5.5-19
xsane-gimp-0.991-4.fc5
elfutils-libelf-devel-0.119-1.2.1
libfontenc-1.0.1-1.2
sgml-common-0.6.3-17.1
libselinux-devel-1.30.3-4.fc5
libattr-2.4.28-1.2
rpm-python-4.4.2-15.2
gtkhtml2-2.6.3-1.2.1
mono-data-1.1.13.7-2.fc5.1
xorg-x11-drv-neomagic-1.0.0.5-1.1
popt-1.10.2-15.2
libgcc-4.1.1-1.fc5
alsa-lib-1.0.11-4.rc2
e2fsprogs-1.38-12
libXxf86vm-1.0.0-2.2
gmp-4.1.4-6.2.1
tcp_wrappers-7.6-40.2
evince-0.5.1-3
libgnomeui-2.14.1-1.fc5.1
system-config-network-1.3.30-2.1
libXxf86dga-devel-1.0.0-2.2
m4-1.4.4-1.2.1
gnome-pilot-2.0.13-7.fc5.6
syslinux-3.10-2.2
apr-1.2.2-7.3
boost-devel-1.33.1-5
libXScrnSaver-devel-1.0.1-1.2
compat-libstdc++-33-3.2.3-56.fc5
tomboy-0.3.5-3
xorg-x11-xauth-1.0.1-1.2
wireless-tools-28-0.pre13.5.1
xorg-x11-xfs-1.0.1-4.FC5.0
nfs-utils-lib-1.0.8-4.FC5
gtk-engines-0.12-7.2.1
dbus-glib-0.61-3.fc5.1
perl-Digest-HMAC-1.01-14.2
gsf-sharp-0.6-8
gail-1.8.11-1
xorg-x11-drv-keyboard-1.0.1.3-1.2
dvd+rw-tools-5.21.4.10.8-6.2.1
mono-data-sqlite-1.1.13.7-2.fc5.1
freeglut-2.4.0-4
rpm-4.4.2-15.2
xorg-x11-filesystem-7.0-1
xorg-x11-fonts-ISO8859-1-100dpi-7.0-3
metacity-2.14.3-1.fc5.1
libXmu-devel-1.0.0-2.2
gstreamer-plugins-base-0.10.5-1
pciutils-devel-2.2.1-1.2
tcpdump-3.9.4-2.2
pwlib-1.10.0-1
gettext-0.14.5-3
usermode-1.85-2.2
tetex-3.0-29.fc5
bzip2-devel-1.0.3-2.2.1
libgsf-1.13.3-2.2.1
gnome-audio-2.0.0-3.1
samba-client-3.0.23c-1.fc5
libICE-devel-1.0.0-2.2
mkbootdisk-1.5.2-7
libdv-0.104-3.fc5
libtool-ltdl-1.5.22-2.3
cadaver-0.22.3-2.2
lockdev-1.0.1-9.2.1
pam_krb5-2.2.6-2.2
PyXML-0.8.4-3.2.2
NetworkManager-0.6.4-1.fc5
samba-3.0.23c-1.fc5
desktop-file-utils-0.10-6.1
libxml2-python-2.6.23-1.2
cups-1.2.4-1.1
readline-devel-5.0-3.2.1
cups-libs-1.2.4-1.1
hdparm-6.3-2.2
libstdc++-4.1.1-1.fc5
libavc1394-0.5.1-2.2
gmime-sharp-2.1.19-3
avahi-glib-0.6.10-1.FC5
gnome-python2-gnomeprint-2.14.0-1
less-394-3
system-config-printer-gui-0.6.151.8-1
krbafs-1.2.2-9.2.1
yp-tools-2.9-0
autoconf-2.59-7
xorg-x11-drv-mga-1.2.1.3-1.2
libusb-0.1.11-2.2
gnome-mount-0.4-5
gnome-vfs2-2.14.2-1
dcraw-0.0.20051211-1.2
fedora-logos-1.1.42-1.fc5.1
dialog-1.0.20051107-1.2.1
lsof-4.77-1
audiofile-0.2.6-2.2.1
festival-1.95-5.2
mailx-8.1.1-44.2.1
setuptool-1.18.1-1.2
libogg-devel-1.1.3-1.2
pam_ccreds-3-3.2
valgrind-3.1.0-2
aspell-0.60.3-5
ghostscript-fonts-5.50-13.1
libXfontcache-devel-1.0.1-1.2
words-3.0-8.1
gnome-mime-data-2.4.2-1.2.1
python-numeric-23.7-2.2.1
xorg-x11-apps-7.0-1
rmt-0.4b41-2.fc5
kernel-2.6.17-1.2187_FC5
glx-utils-6.4.2-6.FC5.3
NetworkManager-gnome-0.6.4-1.fc5
vim-enhanced-7.0.042-0.fc5
pm-utils-0.15-1
slrn-0.9.8.1pl1-1.2.1
liboil-0.3.8-1.fc5
utempter-0.5.5-7.2.1
krb5-auth-dialog-0.6.cvs20060212-1.1
rcs-5.7-29.2.1
java-1.4.2-gcj-compat-1.4.2.0-40jpp_83rh.1
pnm2ppa-1.04-13.2.1
hal-cups-utils-0.5.5-1.2.fc5.2
tmpwatch-2.9.6-1.2.1
dump-0.4b41-2.fc5
initscripts-8.31.6-1
krb5-libs-1.4.3-5.1
slang-2.0.6-1.fc5
xorg-x11-xinit-1.0.1-2.FC5.0
mutt-1.4.2.1-7.fc5
libXfixes-devel-3.0.1.2-2.2
tcl-8.4.13-1.1
cyrus-sasl-2.1.21-10
xorg-x11-fonts-ISO8859-1-75dpi-7.0-3
beecrypt-4.1.2-9.2.1
dbus-sharp-0.61-3.fc5.1
libexif-0.6.12-3.2.1
libtiff-devel-3.8.2-1.fc5
xorg-x11-drv-mouse-1.0.4-1
rng-utils-2.0-1.11
glibc-common-2.4-11
libmng-devel-1.0.9-3.2.1
mktemp-1.5-23.2.1
grub-0.97-5
vim-common-7.0.042-0.fc5
elfutils-libs-0.119-1.2.1
authconfig-5.2.3-1
bzip2-1.0.3-2.2.1
gnome-spell-1.0.5-13.2
xorg-x11-drv-aiptek-1.0.0.5-1.2
libsepol-1.15.1-1.fc5
libdaemon-0.10-3.1
flac-1.1.2-25.2.1
xorg-x11-drv-dynapro-1.0.0.5-1.2
pyxf86config-0.3.24-1
libvte-java-0.12.1-5.fc5
libieee1284-0.2.9-3.2.1
man-pages-2.21-1
krbafs-devel-1.2.2-9.2.1
xorg-x11-drv-i810-1.4.1.3-3.1
slang-devel-2.0.6-1.fc5
libXrandr-1.1.0.2-2.2
fedora-release-6-4
libXcursor-devel-1.1.5.2-2.2
selinux-policy-targeted-2.3.7-2.fc5
gnome-power-manager-2.14.3-1
glibc-devel-2.4-11
cyrus-sasl-lib-2.1.21-10
pkgconfig-0.20-2.2.1
boost-1.33.1-5
xorg-x11-drv-cirrus-1.0.0.5-1.1
libwmf-0.2.8.4-5.2
sane-backends-libs-1.0.18-2.fc5
libtermcap-devel-2.0.8-45
gimp-print-utils-4.2.7-16
open-1.4-24.2.1
device-mapper-1.02.02-3.2
gdbm-1.8.0-26.2
yelp-2.14.3-1.fc5
openldap-devel-2.3.19-4
libXcursor-1.1.5.2-2.2
xorg-x11-drv-fbdev-0.1.0.5-1.2
nautilus-2.14.3-1.fc5
gtk-sharp2-2.8.2-1
libcap-1.10-24.2
gnome-doc-utils-0.6.0-1
neon-devel-0.25.5-1.2
automake16-1.6.3-5.1
nc-1.84-3.2
evolution-sharp-0.10.2-9.5
libXrender-devel-0.9.0.2-3.2
httpd-manual-2.2.2-1.2
xorg-x11-drv-ati-6.5.8.0-1
setup-2.5.49-1
fontconfig-2.3.94-1
xorg-x11-drv-glint-1.0.1.3-2
libXxf86vm-devel-1.0.0-2.2
flex-2.5.4a-41.fc5
usermode-gtk-1.85-2.2
rsh-0.17-34.1
desktop-backgrounds-basic-2.0-31.fc5.1
libXmu-1.0.0-2.2
dmidecode-2.7-1.23
automake15-1.5-14
xorg-x11-drv-voodoo-1.0.0.5-1.2
expat-devel-1.95.8-8.2
python-sqlite-1.1.7-1.2
gpg-pubkey-4f2a6fd2-3f9d9d3b
basesystem-8.0-5.1
libpng-devel-1.2.8-2.2.1
gnome-system-monitor-2.14.1-1.fc5.1
mkinitrd-5.0.32-2
diffstat-1.41-1.2.1
libX11-1.0.0-3.FC5.0
xorg-x11-drv-nsc-2.7.6.5-2.1
xorg-x11-fonts-base-7.0-3
attr-2.4.28-1.2
libXfont-1.0.0-3
gnome-python2-bonobo-2.12.4-1
glib-1.2.10-18.2.2
liblbxutil-1.0.0-2.2
freetype-2.1.10-5.2.1
xorg-x11-xkbdata-1.0.1-7
mtools-3.9.10-2.fc5
make-3.80-10.2
iproute-2.6.16-1.fc5
system-config-securitylevel-tui-1.6.16-3
xorg-x11-drv-tseng-1.0.0.5-1.1
cdrecord-2.01.01.0.a03-3
libXaw-devel-1.0.1-1.2
SDL-devel-1.2.9-5.2.1
at-spi-1.7.7-1.fc5.3
ntsysv-1.3.29-1
gd-2.0.33-6.2
gnome-session-2.14.3-1.fc5
system-config-samba-1.2.34-1
gjdoc-0.7.7-3.1
ekiga-2.0.1-1
gnome-utils-2.14.0-5.fc5
fetchmail-6.3.4-0.fc5.1
systemtap-0.5.10-1.fc5
gnome-python2-gtksourceview-2.14.0-1
libart_lgpl-2.3.17-2.2.1
pcmciautils-012-0.FC5.2
lcms-1.15-1.2.1
libSM-devel-1.0.0-2.2
ksh-20060214-1.fc5.1
libX11-devel-1.0.0-3.FC5.0
specspo-10-1
libgnomecups-0.2.2-3.2.1
rootfiles-8.1-1.1
libsane-hpaio-1.6.6a-1.1
glib2-2.10.3-1
alsa-lib-devel-1.0.11-4.rc2
pygtk2-libglade-2.8.6-0.fc5.1
gstreamer-plugins-good-0.10.2-1
xorg-x11-drv-tdfx-1.1.1.3-1.3
symlinks-1.2-24.2.1
rpm-devel-4.4.2-15.2
subversion-1.3.2-2.1
libsilc-0.9.12-12.2.1
irda-utils-0.9.16-7.2.1
ORBit2-2.14.3-2.fc5
cairo-1.0.4-1
libXrender-0.9.0.2-3.2
libgpg-error-1.1-1.2.1
intltool-0.34.2-1.1
ftp-0.17-33.fc5
bitmap-fonts-0.3-5.1
nautilus-cd-burner-2.14.3-1.fc5
dmraid-1.0.0.rc9-FC5_5.2
pyorbit-2.14.0-1
wget-1.10.2-3.2.1
zip-2.31-1.2.1
bitstream-vera-fonts-1.10-5.1
tar-1.15.1-16.FC5
at-3.1.8-81.1
xorg-x11-drv-jamstudio-1.0.0.5-1.2
python-devel-2.4.3-8.FC5
synaptics-0.14.4-4.2.1
cdparanoia-libs-alpha9.8-27.1
libXau-1.0.0-2.2
postgresql-libs-8.1.4-1.FC5.1
libevent-1.1a-3.2
libgail-gnome-1.1.3-1.2
shadow-utils-4.0.14-10.FC5
gnome-python2-gtkhtml2-2.14.0-3.fc5
firstboot-tui-1.4.6-1
perl-HTML-Tagset-3.10-2.1
xorg-x11-drv-penmount-1.0.0.5-1.2
hesiod-devel-3.0.2-31.2.1
cyrus-sasl-plain-2.1.21-10
libXevie-1.0.0-2.2
libtheora-1.0alpha5-1.2.1
binutils-2.16.91.0.6-5
indent-2.2.9-14.fc5
stunnel-4.14-3.2
python-urlgrabber-2.9.8-2
alchemist-1.0.36-1.2.1
libxklavier-2.2-1
libraw1394-1.2.1-1.fc5
system-config-soundcard-1.2.16-2
elfutils-0.119-1.2.1
vnc-server-4.1.1-39.fc5
libXdmcp-1.0.0-2.2
gaim-1.5.0-16.fc5
krb5-devel-1.4.3-5.1
libXres-devel-1.0.0-2.2
systemtap-runtime-0.5.10-1.fc5
libpng-1.2.8-2.2.1
xorg-x11-drv-calcomp-1.0.0.5-1.2
procmail-3.22-16.2.1
system-config-date-1.8.3-0.fc5.1
pilot-link-0.11.8-12.4.fc5
rhythmbox-0.9.4.1-1.fc5.1
ckermit-8.0.211-5.fc5
info-4.8-9.2.fc5.1
automake14-1.4p6-12.1
librsvg2-2.14.2-1
ghostscript-8.15.2-1.1
gnome-menus-2.14.3-1.fc5
libacl-devel-2.2.34-1.2
libgfortran-4.1.1-1.fc5
time-1.7-27.2.1
redhat-artwork-0.241-1
glib-java-0.2.6-1.fc5
xorg-x11-drv-siliconmotion-1.3.1.5-1.1
libdmx-1.0.1-1.2
xorg-x11-drv-void-1.0.0.5-1.2
file-roller-2.14.4-1.fc5
mod_ssl-2.2.2-1.2
dhclient-3.0.3-28
pam-0.99.5.0-5.fc5
gtksourceview-1.6.2-1.fc5
nss_ldap-249-1
opal-2.2.1-1
libwnck-2.14.3-1.fc5
curl-7.15.5-1.fc5
openssl-0.9.8a-5.4
gnome-icon-theme-2.14.2-1.fc5.2
libXTrap-1.0.0-2.2
xorg-x11-drv-elo2300-1.0.0.5-1.2
wpa_supplicant-0.4.9-1.fc5
xorg-x11-drv-via-0.1.33.2-2
xorg-x11-drv-vga-4.0.0.5-2
pygtk2-2.8.6-0.fc5.1
system-config-securitylevel-1.6.16-3
udev-084-13.fc5.2
libXp-1.0.0-2.2
openldap-2.3.19-4
gimp-print-plugin-4.2.7-16
system-config-nfs-1.3.19-1
ntp-4.2.0.a.20050816-11.FC5
xorg-x11-drv-chips-1.0.1.3-1.1
perl-5.8.8-5
xorg-x11-fonts-75dpi-7.0-3
xorg-x11-drv-dmc-1.0.0.5-1.2
apmd-3.2.2-3.2
anacron-2.3-42.fc5
openssh-askpass-4.3p2-4.10
php-ldap-5.1.6-1.1
Xaw3d-devel-1.5E-6.2.2
libXtst-1.0.1-1.2
libIDL-0.8.6-2.2.1
gnome-vfs2-smb-2.14.2-1
libXres-1.0.0-2.2
libcap-devel-1.10-24.2
libnl-1.0-0.8.pre5
libsoup-2.2.96-1.fc5.1
xorg-x11-drv-s3virge-1.8.6.5-1.2
libXtst-devel-1.0.1-1.2
libjpeg-6b-36.2.1
expat-1.95.8-8.2
mesa-libGLU-6.4.2-6.FC5.3
libgpod-0.3.0-2.2
module-init-tools-3.2.2-0.FC5.3
firstboot-1.4.6-1
glibc-2.4-11
vixie-cron-4.1-58.fc5
ncurses-devel-5.5-19
logrotate-3.7.3-2.2.1
xorg-x11-fonts-100dpi-7.0-3
libgnome-java-2.12.4-1.fc5
rpm-libs-4.4.2-15.2
libbeagle-0.2.6-1.fc5.1
nfs-utils-1.0.8-3.fc5
libgcj-4.1.1-1.fc5
libpcap-0.9.4-2.1.2
bison-2.1-2.FC5
zlib-1.2.3-1.2.1
ed-0.2-38.2.1
php-5.1.6-1.1
libuser-devel-0.54.5-1
libgnomeprintui22-2.12.1-1.2.1
xorg-x11-drivers-7.0-2
vte-0.12.2-1.fc5.1
bluez-libs-2.25-1
sane-backends-1.0.18-2.fc5
isdn4k-utils-3.2-41.1.fc5
gtk-sharp-1.0.10-5
wvdial-1.54.0-5.2.2
pam_smb-1.1.7-7.2
scrollkeeper-0.3.14-5.2.1
netpbm-devel-10.34-1.fc5
gcc-gfortran-4.1.1-1.fc5
libXv-devel-1.0.1-1.2
mtr-0.71-0.FC5.1
cdparanoia-alpha9.8-27.1
eel2-2.14.3-1.fc5
elfutils-libelf-0.119-1.2.1
diskdumputils-1.2.8-4
gnome-python2-gnomevfs-2.12.4-1
Xaw3d-1.5E-6.2.2
xorg-x11-drv-hyperpen-1.0.0.5-1.2
imlib-1.9.13-27
libglade-java-2.12.5-1.fc5
hicolor-icon-theme-0.9-2
shared-mime-info-0.17-1.fc5.2
perl-Net-IP-1.25-1.fc5
avahi-0.6.10-1.FC5
gthumb-2.7.7-1
openssl-devel-0.9.8a-5.4
psmisc-22.2-1.1
perl-URI-1.35-2.2
libidn-devel-0.6.2-1.1
gnome-mag-0.12.4-1
gnupg-1.4.5-2
kernel-2.6.18-1.2200.fc5
system-config-display-1.0.37-2
ttmkfdir-3.0.9-19.2.1
automake-1.9.6-2
system-config-printer-0.6.151.8-1
libICE-1.0.0-2.2
traceroute-1.0.4-1.2
caching-nameserver-9.3.3-0.1.rc2.fc5
libtool-1.5.22-2.3
apr-util-1.2.7-1.1
libXinerama-1.0.1-1.2
krb5-workstation-1.4.3-5.1
vorbis-tools-1.1.1-1.2.1
vino-2.13.5-2.2
gtk+-1.2.10-50
gdbm-devel-1.8.0-26.2
libXxf86misc-devel-1.0.0-2.2
gnome-python2-2.12.4-1
firefox-1.5.0.7-1.fc5
urw-fonts-2.3-6.1
gimp-help-2-0.1.0.10.0.fc5.1
libXcomposite-devel-0.2.2.2-2.2
comps-extras-11.1-1
cracklib-dicts-2.8.6-1.2.1
fontconfig-devel-2.3.94-1
gok-1.0.7-1
system-config-keyboard-1.2.7-1.1
libXTrap-devel-1.0.0-2.2
acl-2.2.34-1.2
cryptsetup-luks-1.0.3-0.rc2
libgtk-java-2.8.7-2.fc5
quota-3.13-1.2.2
mkisofs-2.01.01.0.a03-3
bzip2-libs-1.0.3-2.2.1
lftp-3.4.7-2.FC5
irqbalance-1.12-1.25
gimp-2.2.13-1.fc5
libdrm-devel-2.0-2.2
netconfig-0.8.24-1.2.2
xorg-x11-drv-i740-1.0.0.5-2
gtk2-engines-2.7.4-3
rdate-1.4-4.2.1
libXv-1.0.1-1.2
dhcdbd-1.15-1.FC5
bash-3.1-9.fc5.1
rhgb-0.16.3-1.fc5.1
libvorbis-1.1.2-1.2
policycoreutils-1.30.10-2.fc5
mesa-libGL-devel-6.4.2-6.FC5.3
perl-String-CRC32-1.4-2.fc5
libXcomposite-0.2.2.2-2.2
gnu-crypto-2.1.0-1jpp_2fc
setserial-2.17-19.2.1
xorg-x11-drv-trident-1.0.1.2-1.2
python-2.4.3-8.FC5
mesa-libGL-6.4.2-6.FC5.3
libwvstreams-4.2.1-2
which-2.16-6.2.1
kudzu-devel-1.2.34.4-1
xorg-x11-font-utils-1.0.1-3
numactl-0.6.4-1.27
libXdamage-devel-1.0.2.2-2.2
lockdev-devel-1.0.1-9.2.1
bind-libs-9.3.3-0.1.rc2.fc5
libXdamage-1.0.2.2-2.2
libXrandr-devel-1.1.0.2-2.2
iso-codes-0.49-1
xorg-x11-utils-1.0.1-1.2
perl-Net-DNS-0.59-1.fc5
jwhois-3.2.3-3.3.fc5.1
mpage-2.5.4-6.1
hwdata-0.177-1
libgconf-java-2.12.4-5.fc5
sysreport-1.4.3-3
gnome-user-share-0.10-1.fc5.1
redhat-menus-6.7.5-1
perl-libwww-perl-5.805-1.1
xorg-x11-drv-spaceorb-1.0.0.5-1.2
vconfig-1.9-2
nautilus-sendto-0.4-7.2
xorg-x11-drv-i128-1.1.0.5-1.1
audit-libs-python-1.2.9-1.fc5
GConf2-2.14.0-1
libuser-0.54.5-1
file-4.17-2.fc5
libXft-devel-2.1.8.2-3.2
xorg-x11-drv-sisusb-0.7.1.3-1.2
libglade2-2.5.1-4.fc5.1
libgomp-4.1.1-1.fc5
hal-gnome-0.5.7.1-2.fc5
doxygen-1.4.6-3
libXt-1.0.0-2.2
logwatch-7.2.1-1.fc5
libattr-devel-2.4.28-1.2
xrestop-0.2-6.2.1
ppp-2.4.3-6.2.1
ctags-5.5.4-4.2.1
tzdata-2006m-2.fc5
curl-devel-7.15.5-1.fc5
dbus-devel-0.61-3.fc5.1
gpg-pubkey-1ac70ce6-41bebeef
xorg-x11-drv-elographics-1.0.0.5-1.2
prelink-0.3.6-3
gstreamer-tools-0.10.4-1
xorg-x11-drv-fpit-1.0.0.5-1.2
sqlite-devel-3.3.3-1.2
libvorbis-devel-1.1.2-1.2
gcc-c++-4.1.1-1.fc5
libgdiplus-1.1.13.6-1.fc5.1
xorg-x11-drv-s3-0.3.5.5-2
findutils-4.2.27-4
gnome-keyring-0.4.9-1
tree-1.5.0-3.2.1
psacct-6.3.2-41
qt-3.3.7-0.1.fc5
gpm-devel-1.20.1-73.3
longrun-0.9-1.12
libgssapi-0.9-1.FC5
notify-daemon-0.3.1-9
cvs-1.11.22-2.FC5
pax-3.4-1.2.1
dos2unix-3.1-24.2.1
crontabs-1.10-7.1
perl-HTML-Parser-3.51-1.FC5
minicom-2.1-1.2.1
system-config-lvm-1.0.18-1.2.FC5
libxml2-devel-2.6.23-1.2
openssh-4.3p2-4.10
ltrace-0.3.36-4.2
rhpl-0.185-1
gamin-0.1.7-1.2.1
libxml2-2.6.23-1.2
pcre-6.3-1.2.1
bluez-utils-2.25-4
sox-12.17.9-1.2
libnotify-0.3.0-6
xorg-x11-server-utils-1.0.1-1.2
speex-1.0.5-1.2.1
eject-2.1.5-0.2.fc5
libXpm-3.5.4.2-2.2
gnome-netstatus-2.12.0-3.2.1
unzip-5.52-2.2
system-config-httpd-1.3.3-1.1
gnome-screensaver-2.14.3-3.fc5
gnome-speech-0.3.9-3
docbook-dtds-1.0-30
jpackage-utils-1.6.6-1jpp_2rh
tetex-fonts-3.0-29.fc5
xorg-x11-drv-dummy-0.1.0.5-1.2
libbonoboui-2.14.0-1
gtkspell-2.0.11-1.2.1
coreutils-5.97-1.2
perl-XML-Parser-2.34-6.1.2.2
system-config-network-tui-1.3.30-2.1
glibc-kernheaders-3.0-5.2
gnome-python2-desktop-2.14.0-1
libmusicbrainz-2.1.1-2.1
libXau-devel-1.0.0-2.2
autofs-4.1.4-33
nspr-4.6.3-0.5.fc5
livna-release-5-8
cscope-15.5-15.fc5.1
xorg-x11-drv-v4l-0.0.1.5-1.1
openssh-clients-4.3p2-4.10
crypto-utils-2.2-9.2.1
unrar-3.6.8-1.lvn5
gimp-print-4.2.7-16
telnet-0.17-35.2.1
sane-frontends-1.0.14-1.2.1
libmng-1.0.9-3.2.1
util-linux-2.13-0.20.4
nano-1.3.8-1.2.1
cpio-2.6-16.FC5
mono-web-1.1.13.7-2.fc5.1
python-elementtree-1.2.6-4.2.1
yum-2.6.1-0.fc5
net-tools-1.60-62.1
libselinux-1.30.3-4.fc5
htmlview-3.0.0-14
libgnome-2.14.1-1.fc5.1
xorg-x11-drv-joystick-1.0.0.5-1.2
filesystem-2.3.7-1.2.1
gcc-4.1.1-1.fc5
libXext-devel-1.0.0-3.2
xorg-x11-drv-nv-1.2.0-3.fc5
libxkbfile-1.0.1-1.2
xorg-x11-drv-magictouch-1.0.0.5-1.2
kbd-1.12-13.2
libgtop2-2.14.1-1.fc5.1
libstdc++-devel-4.1.1-1.fc5
rdist-6.1.5-42.2.1
xorg-x11-fonts-truetype-7.0-3
iputils-20020927-35
libsemanage-1.6.2-2.fc5
gnome-backgrounds-2.14.2.1-1
oprofile-0.9.1-8.1.1
xml-common-0.6.3-17.1
gnome-media-2.14.2-1
pycairo-1.0.2-1.2.1
unix2dos-2.2-26.2.1
authconfig-gtk-5.2.3-1
system-config-services-0.9.0-1
mozilla-1.7.13-1.1.fc5
e2fsprogs-libs-1.38-12
gstreamer-0.10.4-1
fedora-release-notes-6-3
gnome-themes-2.14.3-1.fc5
poppler-utils-0.5.1-2
bind-9.3.3-0.1.rc2.fc5
libselinux-python-1.30.3-4.fc5
control-center-2.14.2-1
gawk-3.1.5-6.3
libxslt-1.1.15-1.2.1
libdrm-2.0-2.2
libXi-1.0.0-2.2
gmp-devel-4.1.4-6.2.1
bind-utils-9.3.3-0.1.rc2.fc5
pam-devel-0.99.5.0-5.fc5
grep-2.5.1-52.2
xorg-x11-drv-summa-1.0.0.5-1.2
gzip-1.3.5-8.fc5
gimp-data-extras-2.0.1-1.1
libsetrans-0.1.20-1.fc5
cairo-java-1.0.5-1.fc5
libtiff-3.8.2-1.fc5
libogg-1.1.3-1.2
man-1.6c-2.fc5
smartmontools-5.36-fc5.1
valgrind-callgrind-0.10.1-1.1
xorg-x11-drv-rendition-4.0.1.3-1.1
libXaw-1.0.1-1.2
esound-0.2.36-2.2.1
lrzsz-0.12.20-21.2.1
xorg-x11-drv-ur98-1.0.0.5-1.2
python-ldap-2.0.6-5.2.1
xorg-x11-fonts-Type1-7.0-3
finger-0.17-32.2


Comment 4 Jeff Johnson 2006-11-04 14:18:46 UTC
OK.

You have ~876 packages installed, and no significant duplicates.
That's well within the capabilities of rpmlib.

The stack trace is consistent with looking for file conflicts, computing fingerprints.

Try upgrading the rpm packages (rpm, rpm-libs, rpm-python) and
yum first.

Comment 5 Don't mail me 2006-11-05 17:48:13 UTC
I tried 'yum upgrade yum rpm-python rpm-libs rpm', after a 'yum clean all' and 
removing /var/lib/rpm/__* and 'rpm --rebuilddb'.
It still brings in 127 packages total, and again entered an "infinite" loop (30
min) first after downloading all packages.
Then I killed yum, (removed /var/lib/rpm/__* and did 'rpm --rebuilddb' [let's
call this step A]), and tried the yum command again. Now it segfaulted after the
Transaction Test. I did step A again, and now running the yum command resulted
in the above reported "infinite" loop (I let it run for about 1 hour). Killed
yum, step A, run yum again - it segfaulted. Unfortunately core dumps were
disabled, I then enabled them, but when I did the whole thing yet again, it
finally got past Transaction Test and started installing those 127 packages!
After installing rpm, it called rpmdb_stat which entered an "infinite" loop (9
hours). So now I have a 1:10 fc6 9:10 fc5 system, but fortunately it still boots.

I don't really know how to investigate further though, it looks like rpm doesn't
like my rpmdb. I hope my filesystem is not corrupted, I use ext3.

Comment 6 Don't mail me 2006-11-06 03:38:00 UTC
Successfully upgraded rpm, rpm-libs, rpm-python, yum, and python to their FC6
version.
[so I assigned the bug fc5->fc6]
However, while again attempting a full yum upgrade, it again got stuck in an
"infinite loop". When it happens yum takes 100% CPU, it generates no I/O, and
doesn't respond to kill, I have to kill -9 it. This time I only waited 1/2 hour,
but I'm pretty sure it would sit there infinitely. This one happened while
downloading headers:
Stack trace:
#0  0x007977e5 in __memp_fput_rpmdb () from /usr/lib/librpmdb-4.4.so
#1  0x0071430f in __ham_release_meta_rpmdb () from /usr/lib/librpmdb-4.4.so
#2  0x0070d297 in __ham_c_init_rpmdb () from /usr/lib/librpmdb-4.4.so
#3  0x00757c9e in __db_c_get_rpmdb () from /usr/lib/librpmdb-4.4.so
#4  0x0075e5f6 in __db_c_get_pp_rpmdb () from /usr/lib/librpmdb-4.4.so
#5  0x006ee706 in tagType () from /usr/lib/librpmdb-4.4.so
#6  0x006eb45f in rpmdbInitIterator () from /usr/lib/librpmdb-4.4.so
#7  0x005f2854 in rpmtsInitIterator () from /usr/lib/librpm-4.4.so
#8  0x005bf2d2 in rpmtsAddInstallElement () from /usr/lib/librpm-4.4.so
#9  0x00344b68 in rpmte_Wrap ()
#10 0x00ce751d in PyCFunction_Call () from /usr/lib/libpython2.4.so.1.0
#11 0x00d21abd in PyEval_EvalFrame () from /usr/lib/libpython2.4.so.1.0
#12 0x00d22d68 in PyEval_EvalCodeEx () from /usr/lib/libpython2.4.so.1.0
#13 0x00d21526 in PyEval_EvalFrame () from /usr/lib/libpython2.4.so.1.0
#14 0x00d2162f in PyEval_EvalFrame () from /usr/lib/libpython2.4.so.1.0
#15 0x00d2162f in PyEval_EvalFrame () from /usr/lib/libpython2.4.so.1.0
#16 0x00d22d68 in PyEval_EvalCodeEx () from /usr/lib/libpython2.4.so.1.0
#17 0x00d21526 in PyEval_EvalFrame () from /usr/lib/libpython2.4.so.1.0
#18 0x00d22d68 in PyEval_EvalCodeEx () from /usr/lib/libpython2.4.so.1.0
#19 0x00d22df3 in PyEval_EvalCode () from /usr/lib/libpython2.4.so.1.0
#20 0x00d3fa98 in Py_CompileString () from /usr/lib/libpython2.4.so.1.0
#21 0x00d411a8 in PyRun_SimpleFileExFlags () from /usr/lib/libpython2.4.so.1.0
#22 0x00d4188a in PyRun_AnyFileExFlags () from /usr/lib/libpython2.4.so.1.0
#23 0x00d48285 in Py_Main () from /usr/lib/libpython2.4.so.1.0
#24 0x08048582 in main ()

Well, I take back the '100% reproducible'.

Comment 7 Jeff Johnson 2006-11-09 12:56:05 UTC
You might check #181363 for a possibly related solution, i.e. disabling hda dma
and/or upgrading to a later kernel.

rpm is not unstable as you have described, or bugzilla and mailing lists would be full of
problem reports. So there is something else different about your setup imho.

Comment 8 Don't mail me 2006-11-10 19:02:56 UTC
Unintentionally I already "tested" those (disabling HD DMA and upgrading to
latest kernel). Becuase while upgrading rpm and yum and python, the latest
kernel was also installed, so comment #6 was while using kernel
2.6.18-1.2798.fc6. And, DMA also got disabled during boot because udev or kudzu
or something else was still at the old version. I have an IDE disk though.

However I also got the DB_RUNRECOVERY errors seen in bug#181363 (from yum in my
case). [screenshot attached]

rpm is not unstable. I successfully upgraded to FC6 fully with commands like
'yum upgrade a\*'. When the total number of packages yum operates on stays below
about 70, everything works fine. The problems only occur when operating on more
packages which I accidentally did with 'yum upgrade l\*' which tried to upgrade
all lib*s. I think there are few bug reports because people mostly use the
suggested way of upgrade using Anaconda.
Here is one badly described issue that might have the same root:
http://www.oreillynet.com/onlamp/blog/2005/02/updating_fedora_core_yum_or_ap.html



Comment 9 Don't mail me 2006-11-10 19:04:03 UTC
Created attachment 140926 [details]
DB_RUNRECOVERY errors from yum

Comment 10 Jeff Johnson 2006-11-10 19:29:24 UTC
Hmmm, so the error is dependent on the number of packages, that may be significant.

Meanwhile, to "run recovery" do the following

1) Remove the dbenv files
    cd /var/lib/rpm
    rm -f __db*

2) Verify contents of Packages.
    cd /var/lib/rpm
    /usr/lib/rpm/rpmdb_verify
  If/when Packages is okay, go to 3)

2.1) If Packages is *NOT* okay, then dump/load will fix most problems:
    cd /var/lib/rpm
    mv Packages Packages-ORIG
    /usr/lib/rpm/rpmdb_dump Packages-ORIG | /usr/lib/rpm/rpmdb_load Packages
and go back to 2)

3) Once Packages verifies, recreate the indices by doing
    rpm --rebuilddb -vv

In order to truly fix your problem, what needs to be determined is what
is different (and special ;-) about yr machine. rpm (and yum) do not normally
have DB_RUNRECOVERY panic's, so there's somethin peculier going on related
to either disk I/O (as in #181363), or with NPTL locking, is my guess.

Comment 11 Jeff Johnson 2006-11-10 19:50:32 UTC
Hmm, my typo

2) should have read
    /usr/lib/rpm/rpmdb_verify Packages

Comment 12 Don't mail me 2006-11-14 19:36:42 UTC
Might be NPTL then..!

Another loop I got:

(4/4): emacs-21.4-17.i386 100% |=========================| 1.6 MB    01:59     
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing: emacs-common                 ######################### [1/4] 
rpmdb: unable to lock mutex: Invalid argument
rpmdb: unable to lock mutex: Invalid argument

...And it stays there. This is the first time I get error an message before it
gets stuck. s/ltrace show no activity.
Stack trace this time is:
#0  0x4b0532a2 in __db_shalloc_rpmdb () from /usr/lib/librpmdb-4.4.so
#1  0x4b079011 in __memp_alloc_rpmdb () from /usr/lib/librpmdb-4.4.so
#2  0x4b07a690 in __memp_fget_rpmdb () from /usr/lib/librpmdb-4.4.so
#3  0x4affb955 in __ham_next_cpage_rpmdb () from /usr/lib/librpmdb-4.4.so
#4  0x4affc3f4 in __ham_item_rpmdb () from /usr/lib/librpmdb-4.4.so
#5  0x4affc62d in __ham_item_next_rpmdb () from /usr/lib/librpmdb-4.4.so
#6  0x4aff2ad0 in __ham_c_init_rpmdb () from /usr/lib/librpmdb-4.4.so
#7  0x4aff342c in __ham_c_init_rpmdb () from /usr/lib/librpmdb-4.4.so
#8  0x4b03dc9e in __db_c_get_rpmdb () from /usr/lib/librpmdb-4.4.so
#9  0x4b0445f6 in __db_c_get_pp_rpmdb () from /usr/lib/librpmdb-4.4.so
#10 0x4afd4706 in tagType () from /usr/lib/librpmdb-4.4.so
#11 0x4afcf1e8 in rpmdbAdd () from /usr/lib/librpmdb-4.4.so
#12 0x4b0e0385 in rpmpsmStage () from /usr/lib/librpm-4.4.so
#13 0x4b0e1bf2 in rpmpsmStage () from /usr/lib/librpm-4.4.so
#14 0x4b0e0fc2 in rpmpsmStage () from /usr/lib/librpm-4.4.so
#15 0x4b0e1bf2 in rpmpsmStage () from /usr/lib/librpm-4.4.so
#16 0x4b0e09de in rpmpsmStage () from /usr/lib/librpm-4.4.so
#17 0x4b107f66 in rpmtsRun () from /usr/lib/librpm-4.4.so
#18 0x0029d56d in rpmts_Create ()
#19 0x4c08c8bd in PyCFunction_Call () from /usr/lib/libpython2.4.so.1.0
#20 0x4c0c71ac in PyEval_EvalFrame () from /usr/lib/libpython2.4.so.1.0
#21 0x4c0c81b5 in PyEval_EvalCodeEx () from /usr/lib/libpython2.4.so.1.0
#22 0x4c0c6865 in PyEval_EvalFrame () from /usr/lib/libpython2.4.so.1.0
#23 0x4c0c72dd in PyEval_EvalFrame () from /usr/lib/libpython2.4.so.1.0
#24 0x4c0c81b5 in PyEval_EvalCodeEx () from /usr/lib/libpython2.4.so.1.0
#25 0x4c0c6865 in PyEval_EvalFrame () from /usr/lib/libpython2.4.so.1.0
#26 0x4c0c81b5 in PyEval_EvalCodeEx () from /usr/lib/libpython2.4.so.1.0
#27 0x4c0c8293 in PyEval_EvalCode () from /usr/lib/libpython2.4.so.1.0
#28 0x4c0e5078 in Py_CompileString () from /usr/lib/libpython2.4.so.1.0
#29 0x4c0e67b8 in PyRun_SimpleFileExFlags () from /usr/lib/libpython2.4.so.1.0
#30 0x4c0e6e9a in PyRun_AnyFileExFlags () from /usr/lib/libpython2.4.so.1.0
#31 0x4c0ed825 in Py_Main () from /usr/lib/libpython2.4.so.1.0
#32 0x08048582 in main ()


Comment 13 Jeff Johnson 2006-11-14 22:10:42 UTC
Ah cool,I love da error messages! ;-)

Here's a possible scenario:

NPTL is based on kernel futexes.

If a process dies with a locked futex, that futex persists
in a locked state even after the process dies.

Since the names of rpmdb locks are also persistent (in /var/lib/rpm/__db* files),
its possible that a futex left behind from a previous execution is being rencountered.

Are you doing "kill -9" yum frequently?

The only way to clear the persistent futex (that I know of in FC rpm) is to reboot. Yes, pugly,
but could you try to verify if persistent futexes are the cause of your yum hangs?

The other currently known problem that might be related appears to be corrected by
using a later kernel, and appears to have something to do with dma on laptops with IDE
(iirc, see the rpmdb PANIC bug report in the last month for details).

Comment 14 Don't mail me 2006-11-16 15:49:15 UTC
Is it possible that somehow this all is an ill interaction with
/etc/cron.daily/rpm ? It's just 'rpm -qa | sort'. Though 'rpm -qa' only does 3
FUTEX_WAKEs.

Removing the __db* files and rebuilding the db always makes the next yum go
further than previously, I am trying to reproduce this and see if a reboot does too.


Comment 15 k3dzngrp8w2xtc9 2006-11-18 04:28:23 UTC
Indeed it's persistent futexes.

A reboot fixed it when I could reproduce it again.

However I have no idea what is crashing with futexes held. I definitely also got
the issue when running yum for the first time after boot.

Comment 16 Jeff Johnson 2006-11-18 20:17:58 UTC
You can find the process id that is leaving stale locks by doing
    cd /var/lib/rpm
    /usr/lib/rpm/rpmdb_stat -Cl


Comment 17 k3dzngrp8w2xtc9 2006-12-02 12:55:15 UTC
I now run 'rpmdb_stat -Cl' every time before running yum, and I got another hang
even though rpmdb_stat shown no stale locks.

I also traced yum and it seemed to hang while reading the Packages file (??)
even though that verifies with 'rpmdb_verify'.

I did run yum with niceness 10 usually - though not last time, is it possible
the new priority IO makes it starve for half an hour?

Also, apparently LWN's editor has similar problems with rpm/yum as well as most
of the readers who commented. Maybe my system is not special - just few people
report these issues? http://lwn.net/Articles/210373/

Comment 18 Jeff Johnson 2006-12-03 12:39:33 UTC
A "hang" without a lock registered in __db* is likely a locked futex from a previous
problem with yum. But that's only a guess.

Rebooting is the only way I know of to clear a locked futex. There
may be some other way.

Another, and better means, to prevent futexes becoming persistently locked
is to add a "robustness" attribute to futex's so that the next locker
that encounters the futex may inherit ownership, and unlock. rpm-4.4.8
now uses "robust" mutexes for that very reason.

Comment 19 Jeff Johnson 2006-12-03 18:20:26 UTC
FYI: Most rpmdb "hangs" are now definitely fixed by purging stale read locks when opening
a database environment in rpm-4.4.8-0.4. There's more todo, but I'm quite sure that a
large class of problems with symptoms of "hang" are now corrected.

UPSTREAM

Comment 20 k3dzngrp8w2xtc9 2006-12-05 23:56:13 UTC
Thank you

I am [trying to] downloading 4.4.8-0.4 rpms and will test it.

Comment 21 Jeff Johnson 2006-12-06 00:01:48 UTC
See bugzilla #214110 for a (very brief) howto. Specifically, you will need
to add /etc/rpm/sysinfo to work around certain incompatibilities between
FC6 packaging and stricter dependencies in rpm-4.4.8.

Alternatively, use -Uvh --noparentdirs, but that won't work with yum.

Comment 22 Håkon Løvdal 2007-01-07 16:05:13 UTC
This error has occurred for me now as well. It happened while yumex was in the
process of starting up (for a normal upgrade of some packages, not a system
upgrade). My system is Fedora Core 5 (rpm-4.4.2-15.2, yum-2.6.1-0.1.rhfc5.ccrma
and yumex-1.0.3-3.0.fc5).

This is the first time I have thoroughly debugged it, so I can only say for sure
once, but I think I have encountered this problem a couple of times before.
Rpm/yum/yumex hangs from time to time, and this has been the case for years,
although that has been caused by many other errors as well.

So for the good news. As I mentioned, I debugged it and I can give a detailed
error description describing why __memp_fget_rpmdb never exits. If this is
enough to solve the issue I do not know, but it should give some strong
indications of where to look for the cause.

When yumex is hanging it is executing the __memp_fget_rpmdb function in
mp_fget.c, looping lines 188, 189 and 190 repeatedly.

   187          for (bhp = SH_TAILQ_FIRST(&hp->hash_bucket, __bh);
   188              bhp != NULL; bhp = SH_TAILQ_NEXT(bhp, hq, __bh)) {
   189                  ++st_hsearch;
   190                  if (bhp->pgno != *pgnoaddr || bhp->mf_offset != mf_offset)
   191                          continue;

The macro SH_TAILQ_FIRST was not defined in any files from rpm-debuginfo or in
any files under /usr/include, but a search on the internet got one definition

#define SH_TAILQ_NEXTP(elm, field, type) \
	((struct type *)((u_int8_t *)(elm) + (elm)->field.stqe_next))

and printing "bhp->hq.stqe_next" shows that this has value zero!
Therefore bhp is never advanced and will never become NULL.
So the big question is why stqe_next is zero?

Running "rpm -qa | wc" returns 2439 packages. This command ran without problems
while yumex was being debugged and I wrote this. I can provide a full list if
this is wanted. I have also saved tar backups of /var/lib/rpm, /etc/yum* and
/var/cache/yum as well as a script capture of the gdb session.

(This problem is probably the same as reported at http://tracker.labix.org/issue239)


Comment 23 Jeff Johnson 2007-01-07 18:12:57 UTC
What makes rpmdb so hard is that the problems are data, not code, driven.

Why is nhp->hq.stqe_next zero? Because the value(s) read from the mpool
backing store are damaged.

Why are the mpool values damaged? Either because of the mmap problems in
2.6.18 kernels used to retrieve, or because locking through futexes is fubar ...



Comment 24 k3dzngrp8w2xtc9 2007-01-15 01:08:27 UTC
The mmap data corruption bug was only introduced in 2.6.19 [1] but I got this
"error" using earlier kernels so that's not it.

[1] http://kerneltrap.org/node/7534

Comment 25 k3dzngrp8w2xtc9 2007-03-17 14:31:21 UTC
I can't seem to be able to get the files from jbj.org. There is some strange
network behaviour.. Looking at packet traces, there seem to be one-direction
(->jbj.org) packet losses each lasting for about 2 seconds which trigger a lot
of duplicate ACKs and those in turn trigger a window overfill...

Is this some form of TCP fault-tolerance experiment? :)

Comment 26 Jeff Johnson 2007-03-18 18:38:23 UTC
Nope. jbj.org is a time-warner cable modem in my house distributing
upwards of 1Gb/day as best as it can.

Comment 27 Panu Matilainen 2007-08-13 09:13:49 UTC
> The mmap data corruption bug was only introduced in 2.6.19 [1] but I got this
> "error" using earlier kernels so that's not it.

The mmap() bug was certainly present in Fedora 2.6.18 kernels (and one is
present in the list of c#3). If you still get this while running kernel >=
2.6.19-1.2895, feel free to reopen.

(WORKSFORME resolution is arbitrary, the mmap() bug was in kernel, not rpm so
nothing to fix here...)


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