Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1645114
Summary: | baloo_file crashed after starting Plasma due a failed assertion rc == 0 in mdb_page_dirty at mdb.c:2127-2128 in liblmdb.so.0.0.0 in the lmdb-libs package | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Matt Fagnani <matthew.fagnani> |
Component: | lmdb | Assignee: | KDE SIG <kde-sig> |
Status: | CLOSED EOL | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 31 | CC: | jgrulich, jstanek, jv+fedora, kde-sig, matthew.fagnani, me, rdieter, than |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | lmdb-0.9.22-4.fc29 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2020-11-24 16:53:25 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Matt Fagnani
2018-11-01 12:37:23 UTC
I'm reassigning this report to lmdb per the suggestion of Stefan Brüns since the fix is for lmdb-libs "Fixed in lmdb upstream and openSUSE lmdb RPMs, see 389848 for details. For any other distribution, ask the respective LMDB maintainers to cherry-pick the fix." at https://bugs.kde.org/show_bug.cgi?id=389625#c5 lmdb-0.9.22-4.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-71a2ad112c lmdb-0.9.22-4.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-059ebfc6e0 I have imported the upstream fix [1] from Github. Once the packages reach the updates-testing repo, can you please test it? [1]: https://github.com/LMDB/lmdb/commit/1ffe472a080fcd3c7dab6e352848703ad7adbe14 I upgraded to lmdb-libs 0.9.22-4.fc29 and its debug packages from Koji yesterday. I haven't seen any baloo_file crashes after running several sessions of Plasma with baloo_file autostarted for longer than 30 minutes by which baloo_file usually would have crashed before. Thanks for the update. lmdb-0.9.22-4.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-059ebfc6e0 lmdb-0.9.22-4.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-71a2ad112c I got the crash of baloo_file involving the same failed assertion of "rc == 0" in mdb_page_dirty at mdb.c:2127-8 on the third time I logged into Plasma after upgrading to KF5 5.52.0. The crash is much less frequent after I upgraded to lmdb-libs 0.9.22-4. Some change in KF5 5.52.0 might be related to the crash occurring again. The following is the backtrace from drkonqi. Application: Baloo File Indexing Daemon (baloo_file), signal: Aborted Using host libthread_db library "/lib/libthread_db.so.1". 1343 if G_UNLIKELY (g_atomic_int_add (&mutex->i[0], 1) != 0) [Current thread is 1 (Thread 0xb3970840 (LWP 1340))] Thread 3 (Thread 0x729feb40 (LWP 1375)): [KCrash Handler] #7 0xb7f01d41 in __kernel_vsyscall () #8 0xb71f6b36 in __libc_signal_restore_set (set=0x729fd24c) at ../sysdeps/unix/sysv/linux/internal-signals.h:84 #9 __GI_raise (sig=6) at ../sysdeps/unix/sysv/linux/raise.c:48 #10 0xb71e0374 in __GI_abort () at abort.c:79 #11 0xb7607b20 in mdb_assert_fail (env=0xf95e60, expr_txt=expr_txt@entry=0xb760a02f "rc == 0", func=func@entry=0xb760a920 <__func__.7063> "mdb_page_dirty", line=2127, file=0xb760a010 "mdb.c") at mdb.c:1542 #12 0xb75fca24 in mdb_page_dirty (txn=0xf970c0, mp=<optimized out>) at mdb.c:2128 #13 0xb75fdc5a in mdb_page_alloc (num=num@entry=1, mp=mp@entry=0x729fd800, mc=<optimized out>) at mdb.c:2308 #14 0xb75fdea1 in mdb_page_touch (mc=mc@entry=0x729fdb34) at mdb.c:2495 #15 0xb75ff9db in mdb_cursor_touch (mc=mc@entry=0x729fdb34) at mdb.c:6523 #16 0xb76029d6 in mdb_cursor_put (mc=0x729fdb34, key=0x729fdd9c, data=0x729fdda4, flags=<optimized out>) at mdb.c:6657 #17 0xb76058d8 in mdb_put (txn=0xf970c0, dbi=8, key=0x729fdd9c, data=0x729fdda4, flags=0) at mdb.c:9022 #18 0xb7c332ce in Baloo::IdFilenameDB::put (this=0x729fde30, docId=<optimized out>, path=...) at /usr/src/debug/kf5-baloo-5.52.0-2.fc29.i386/src/engine/idfilenamedb.cpp:75 #19 0xb7c2a92d in Baloo::DocumentUrlDB::add (this=0x729fdff0, id=7177929733766402, parentId=6192672825998594, name=...) at /usr/src/debug/kf5-baloo-5.52.0-2.fc29.i386/src/engine/documenturldb.cpp:125 #20 0xb7c2abc3 in Baloo::DocumentUrlDB::put (this=0x729fdff0, docId=7177929733766402, url=...) at /usr/src/debug/kf5-baloo-5.52.0-2.fc29.i386/src/engine/documenturldb.cpp:69 #21 0xb7c4b925 in Baloo::WriteTransaction::addDocument (this=0x720042b0, doc=...) at /usr/src/debug/kf5-baloo-5.52.0-2.fc29.i386/src/engine/writetransaction.cpp:57 #22 0xb7c437c3 in Baloo::Transaction::addDocument (this=0x729fe0b4, doc=...) at /usr/src/debug/kf5-baloo-5.52.0-2.fc29.i386/src/engine/transaction.cpp:233 #23 0x004e28e7 in Baloo::UnindexedFileIndexer::run (this=0xff3ca0) at /usr/include/qt5/QtCore/qrefcount.h:60 #24 0xb76b9c10 in QThreadPoolThread::run (this=<optimized out>) at thread/qthreadpool.cpp:101 #25 0xb76c2909 in QThreadPrivate::start (arg=<optimized out>) at thread/qthread_unix.cpp:367 #26 0xb619e5de in start_thread (arg=<optimized out>) at pthread_create.c:486 #27 0xb72b378a in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:108 Thread 2 (Thread 0xb34f5b40 (LWP 1353)): #0 0xb40be2b1 in g_mutex_lock (mutex=0xb2b00640) at gthread-posix.c:1343 #1 0xb40748d7 in g_main_context_iterate (context=context@entry=0xb2b00640, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3924 #2 0xb4074a5b in g_main_context_iteration (context=0xb2b00640, may_block=1) at gmain.c:3981 #3 0xb78a717c in QEventDispatcherGlib::processEvents (this=0xb2b005d0, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #4 0xb784eb6f in QEventLoop::exec (this=<optimized out>, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #5 0xb76b7dd1 in QThread::exec (this=0xb7d1a060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #6 0xb7c780d0 in QDBusConnectionManager::run (this=0xb7d1a060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:178 #7 0xb76c2909 in QThreadPrivate::start (arg=<optimized out>) at thread/qthread_unix.cpp:367 #8 0xb619e5de in start_thread (arg=<optimized out>) at pthread_create.c:486 #9 0xb72b378a in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:108 Thread 1 (Thread 0xb3970840 (LWP 1340)): #0 0xb40be2b1 in g_mutex_lock (mutex=0xf8cc20) at gthread-posix.c:1343 #1 0xb4073d59 in g_main_context_prepare (context=0xf8cc20, priority=0xbfc4f3f4) at gmain.c:3495 #2 0xb4074824 in g_main_context_iterate (context=context@entry=0xf8cc20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3900 #3 0xb4074a5b in g_main_context_iteration (context=0xf8cc20, may_block=1) at gmain.c:3981 #4 0xb78a717c in QEventDispatcherGlib::processEvents (this=0xf8d540, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #5 0xb784eb6f in QEventLoop::exec (this=<optimized out>, flags=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140 #6 0xb78573e2 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120 #7 0x004d5041 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kf5-baloo-5.52.0-2.fc29.i386/src/file/main.cpp:104 [Inferior 1 (process 1340) detached] lmdb-0.9.22-4.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report. Re-opening this as bodhi has no respect for additional comments. Matt, please get in touch with maintainers of baloo/kf5 again, as they are probably much more able to find the root cause then I am :) When the cause is found, I will be happy to apply it to the Fedora package ASAP. (In reply to Jan Staněk from comment #10) > Re-opening this as bodhi has no respect for additional comments. > > Matt, please get in touch with maintainers of baloo/kf5 again, as they are > probably much more able to find the root cause then I am :) When the cause > is found, I will be happy to apply it to the Fedora package ASAP. Jan, baloo_file 5.52.0 crashed several times right after starting due to the same failed assertion rc == 0 in mdb_page_dirty at mdb.c:2127-2128 in liblmdb.so.0.0.0 in the lmdb-libs-0.9.22-4 package with the suggested patch you applied. I moved the baloo index file ~/.local/share/baloo/index which was likely corrupted to ~/.local/share/baloo/index.old after which I ran balooctl start. baloo_file then ran without crashing as I noted at https://bugs.kde.org/show_bug.cgi?id=400498 If the abort signal made in mdb_assert_fail at mdb.c:1542 were changed to a warning or something more appropriate in the case of the failed assertion above, then the crashes might be avoided. lmdb-0.9.22-4.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report. This message is a reminder that Fedora 29 is nearing its end of life. Fedora will stop maintaining and issuing updates for Fedora 29 on 2019-11-26. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '29'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 29 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. Fedora 29 changed to end-of-life (EOL) status on 2019-11-26. Fedora 29 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed. I've seen these baloo_file aborts with the same failed assertion about 3 times when logging into Plasma on Wayland in F31. The latest baloo_file crashes were with KF 5.64.0, lmdb-libs-0.9.23-3.fc31, Plasma 5.17.3, qt 5.12.5. This message is a reminder that Fedora 31 is nearing its end of life. Fedora will stop maintaining and issuing updates for Fedora 31 on 2020-11-24. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '31'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 31 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. Fedora 31 changed to end-of-life (EOL) status on 2020-11-24. Fedora 31 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed. |