- fix erronous double cursor open, causing yum reinstall hang (#678644)

This commit is contained in:
Panu Matilainen 2011-02-21 11:03:32 +02:00
parent e50e6cafd1
commit 8e71066bd2
2 changed files with 30 additions and 1 deletions

View File

@ -0,0 +1,24 @@
commit 4f7fe5e668e9cd8ba62e700f6f3fdaf2256306d8
Author: Panu Matilainen <pmatilai@redhat.com>
Date: Mon Feb 21 10:55:02 2011 +0200
Fix db cursor double-open, causing yum to hang on reinstall (RhBug:678644)
- A refactoring error in commit 475391dc581bf5ba72b6d59d16d875505b45bd51
causes us to open a double cursor on the Package db. This doesn't
seem to affect much in rpm context, but Yum is being naughty and holding
two different handles to the same db simultaneously, which causes
to deadlock on trying to lock the same record twice from two different
handles .. or something to that effect.
diff --git a/lib/rpmdb.c b/lib/rpmdb.c
index dc6d7a7..eb7a49d 100644
--- a/lib/rpmdb.c
+++ b/lib/rpmdb.c
@@ -2331,7 +2331,6 @@ static int updatePackages(dbiIndex dbi, unsigned int hdrNum, DBT *hdr)
DBT data;
memset(&data, 0, sizeof(data));
- xx = dbiCopen(dbi, &dbcursor, DB_WRITECURSOR);
rc = dbiGet(dbi, dbcursor, &key, &data, DB_SET);
if (rc) {
rpmlog(RPMLOG_ERR,

View File

@ -22,7 +22,7 @@
Summary: The RPM package management system
Name: rpm
Version: %{rpmver}
Release: %{?snapver:0.%{snapver}.}2%{?dist}
Release: %{?snapver:0.%{snapver}.}3%{?dist}
Group: System Environment/Base
Url: http://www.rpm.org/
Source0: http://rpm.org/releases/rpm-4.8.x/%{name}-%{srcver}.tar.bz2
@ -42,6 +42,7 @@ Patch4: rpm-4.8.1-use-gpg2.patch
# Patches already in upstream
Patch100: rpm-4.9.0-rc1-getoutput.patch
Patch101 : rpm-4.9.0-rc1-double-cursor.patch
# These are not yet upstream
Patch301: rpm-4.6.0-niagara.patch
@ -208,6 +209,7 @@ packages on a system.
%patch4 -p1 -b .use-gpg2
%patch100 -p1 -b .getoutput
%patch101 -p1 -b .double-cursor
%patch301 -p1 -b .niagara
%patch302 -p1 -b .geode
@ -418,6 +420,9 @@ exit 0
%doc COPYING doc/librpm/html/*
%changelog
* Mon Feb 21 2011 Panu Matilainen <pmatilai@redhat.com> - 4.9.0-0.rc1.3
- fix erronous double cursor open, causing yum reinstall hang (#678644)
* Mon Feb 21 2011 Panu Matilainen <pmatilai@redhat.com> - 4.9.0-0.rc1.2
- fix broken logic in depgen collector, hopefully curing #675002