]> code.ossystems Code Review - openembedded-core.git/commit
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:15:16 +0000 (11:15 +0100)
commitbfb2906206158748d0be33baf7984cf885756da1
tree13b9fd6272c0ca54c5097d7b7e21b47db1871ac5
parentd109c6bd163469d6281d20174e4b79cb63483cd4
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.

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