LMDB _bug_

Steffen Nurpmeso steffen at sdaoden.eu
Fri Jun 14 17:35:31 CEST 2019


Hello Matthias, all.

Well i do not know where he knew it from, but by the end of May
i got private contact from Quanah Gibson-Mount of symas.com
regarding "In the future, please report bugs in LMDB at", "I
believe the issue you encountered is this one:".

So on Wednesday evening and Thursday i finally looked into that
again, and wrote a lengthy README and prepared a git repo with
three different cases.  Unfortunately Howard Chu closed them with
"works as designed", which is a total mess, intelligent
programmers earn thousand bucks and more in that time.  Sic.

   |I would strongly advise you subscribe to the openldap-technical list
   ...

  Oh please no.

   |discuss your issues there.  None of the issues you filed are actual bugs,
   |but incorrect usage of LMDB.

  But why?  An initial set_mapsize() works in the fixed size case,
  but if i need resizes than that initial set_mapsize() causes
  crashes further on!  On the other hand, if i leave out the
  initial set_mapsize() case, then further set_mapsize() calls work
  just fine, thousands and thousands of times, for a year it will be
  at the begin of July.

  So no, why is that an incorrect usage?

Sigh.  What a mess.  Anyway, LMDB works fine, even if its design
is possibly messy, and the tests do not cover all these cases at
all.  (By the way, is there a way to test specific bogofilter
tests?  I had a terrible time because i had to "make check" over
and over again, even though only four tests were involved here.
Luckily i now have that fast box.  Have you already told me, last
year?  Man.)

Dear Matthias.
So even though the yet uncommitted patch which addresses another
problem possibly does not fix "a bug", but instead just deals with
LMDB as designed,

  But say, if you have an environment and open a transaction in
  it.  And if you abort a transaction some settings of the
  environment are forgotten and others are not, and all that not
  documented.  And they become committed on successful
  transaction.  And i think, can't you have multiple transactions
  at a time.  What is that?

it is required to make bogofilter work with LMDB gracefully.
I do not know why, but from July 2018 to January 2019 (until LMDB
0.9.23 hit AlpineLinux, which i was still using back then), i have
successfully used bogofilter/LMDB on a daily base with a spam
database which currently is about ~90 MB in vacuum state.

So please let me attach that patch once again.  It applies cleanly
to yesterday's master branch.  (I know my MUA cannot OpenPGP just
yet; that will become autumn.)

Ciao, Matthias.

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)


More information about the bogofilter-dev mailing list