Hello community, here is the log from the commit of package lmdb for openSUSE:Leap:15.2 checked in at 2020-02-16 18:26:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/lmdb (Old) and /work/SRC/openSUSE:Leap:15.2/.lmdb.new.26092 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lmdb" Sun Feb 16 18:26:09 2020 rev:18 rq:772456 version:0.9.17 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/lmdb/lmdb.changes 2020-01-15 15:27:22.410642003 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.lmdb.new.26092/lmdb.changes 2020-02-16 18:26:16.362653677 +0100 @@ -1,0 +2,6 @@ +Thu Dec 12 09:58:06 UTC 2019 - Samuel Cabrero <[email protected]> + +- Fix assert in mdb_page_search_root (bsc#1159086). + * Add 0001-ITS-8336-fix-page_search_root-assert-on-FreeDB.patch + +------------------------------------------------------------------- New: ---- 0001-ITS-8336-fix-page_search_root-assert-on-FreeDB.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lmdb.spec ++++++ --- /var/tmp/diff_new_pack.aArdr4/_old 2020-02-16 18:26:16.662653834 +0100 +++ /var/tmp/diff_new_pack.aArdr4/_new 2020-02-16 18:26:16.662653834 +0100 @@ -38,6 +38,8 @@ Patch4: soname-configurable.patch # PATCH-FIX-UPSTREAM Patch5: 0001-ITS-8756-remove-loose-pg-from-dirty-list-in-freelist.patch +# PATCH-FIX-UPSTREAM +Patch6: 0001-ITS-8336-fix-page_search_root-assert-on-FreeDB.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf @@ -92,6 +94,7 @@ %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 sed -i -e 's,__VERSION__,%version,' libraries/liblmdb/Makefile.am %build ++++++ 0001-ITS-8336-fix-page_search_root-assert-on-FreeDB.patch ++++++ >From 58d1fd4c73c96ef3097816e975b3d421ead4d86e Mon Sep 17 00:00:00 2001 From: Howard Chu <[email protected]> Date: Tue, 8 Dec 2015 18:17:24 +0000 Subject: [PATCH] ITS#8336 fix page_search_root assert on FreeDB Let "illegal" branch pages thru on the FreeDB - the condition is only temporary and will be fixed by the time rebalance finishes. --- libraries/liblmdb/mdb.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index 0c93c37..c603654 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -5434,7 +5434,11 @@ mdb_page_search_root(MDB_cursor *mc, MDB_val *key, int flags) indx_t i; DPRINTF(("branch page %"Z"u has %u keys", mp->mp_pgno, NUMKEYS(mp))); - mdb_cassert(mc, NUMKEYS(mp) > 1); + /* Don't assert on branch pages in the FreeDB. We can get here + * while in the process of rebalancing a FreeDB branch page; we must + * let that proceed. ITS#8336 + */ + mdb_cassert(mc, !mc->mc_dbi || NUMKEYS(mp) > 1); DPRINTF(("found index 0 to page %"Z"u", NODEPGNO(NODEPTR(mp, 0)))); if (flags & (MDB_PS_FIRST|MDB_PS_LAST)) { -- 2.24.0
