rpm: Implement workaround for DB_BUFFER_SMALL error
authorMark Hatle <mark.hatle@windriver.com>
Sun, 30 Sep 2012 00:19:18 +0000 (19:19 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 2 Oct 2012 10:40:50 +0000 (11:40 +0100)
commit1f3332d6f087951cc9fdac3497a5c3d0faf7a1ce
tree8d8a418048b09a6a7d6581f6af77e0a5d92095c3
parentf0acada63f42203ef4f2137225d0b1370c8992da
rpm: Implement workaround for DB_BUFFER_SMALL error

In certain cases with BerkleyDB 5.3.x we are getting the error:

db3.c:1443: dbcursor->pget(-30999): BDB0063 DB_BUFFER_SMALL: User memory too small fo

See https://bugs.launchpad.net/rpm/+bug/934420 for more information.

It appears to be some type of a bug in the BerkleyDB 5.3.x.  In an attempt
to workaround the problem, when we encounter this situation we attempt
to adjust the size of the mmap buffer until the call works, or we
end up trying 10 times.  The new size is either the updated vp->size
from the failed pget call, or the previous size + 1024.

If DBI debugging is enabled, additional diagnostics are printed, otherwise
a basic retry and success message is added to show that the failure was
resolved.

(From OE-Core rev: bfb2906206158748d0be33baf7984cf885756da1)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/rpm/rpm/rpm-db_buffer_small.patch [new file with mode: 0644]
meta/recipes-devtools/rpm/rpm_5.4.9.bb