https://bugs.kde.org/show_bug.cgi?id=400498

--- Comment #11 from Stefan Brüns <stefan.bru...@rwth-aachen.de> ---
(In reply to Matt Fagnani from comment #10)
> I read in another post that the failed assertion might indicate a corrupted
> baloo index which seems likely as the crashes occur immediately on starting
> baloo_file or balooctl start.

In this case its a fault completely inside lmdb. It keeps a list of page no
longer used (i.e. containing stale data), the freelist, and reuses these pages
when writing new data. lmdb apparently has problems managing this list under
some circumstances, and while one issue was fixed, there seem to be another
one.

Can you please verify you are *really* using the fixed liblmdb package, i.e. it
has not been reverted locally on your system or in the fedora repo? 

> Some change to how lmdb-libs handles the
> exception from the failed assertion around mdb_assert_fail at mdb.c:1542 or
> mdb_page_dirty at mdb.c:2128 so that the abort signal isn't made might
> prevent the crashes at least. If baloo_file were able to handle that
> exception from the failed assertion, then it might be able to fix or
> recreate the index.

As the signal never reaches baloo, it has no chance of handling it. lmdb
notices something is wrong and commits suicide, unfortunately taking down
everything else with it ...

> I'm not familiar enough with baloo or lmdb to know how
> if or how those changes could be properly made.
> 
> -- Backtrace (Reduced):
> #8  0xb7207b36 in __libc_signal_restore_set (set=0x72a7c24c) at
> ../sysdeps/unix/sysv/linux/internal-signals.h:84
> #9  __GI_raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:48
> #10 0xb71f1374 in __GI_abort () at abort.c:79
> #11 0xb7618b20 in mdb_assert_fail (env=0xd159d0,
> expr_txt=expr_txt@entry=0xb761b02f "rc == 0", func=func@entry=0xb761b920
> <__func__.7063> "mdb_page_dirty", line=2127, file=0xb761b010 "mdb.c") at
> mdb.c:1542
> #12 0xb760da24 in mdb_page_dirty (txn=0xd16c30, mp=<optimized out>) at
> mdb.c:2128

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to