Bug 385846 - baloo_file crashes in Baloo::IdFilenameDB::get()
Summary: baloo_file crashes in Baloo::IdFilenameDB::get()
Status: RESOLVED DUPLICATE of bug 372880
Alias: None
Product: frameworks-baloo
Classification: Frameworks and Libraries
Component: Baloo File Daemon (show other bugs)
Version: 5.36.0
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Pinak Ahuja
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2017-10-17 08:15 UTC by Geert Janssens
Modified: 2018-11-26 20:03 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
New crash information added by DrKonqi (3.99 KB, text/plain)
2018-08-06 22:39 UTC, Bob Wildfong
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Geert Janssens 2017-10-17 08:15:48 UTC
Application: baloo_file_extractor (5.36.0)

Qt Version: 5.7.1
Frameworks Version: 5.36.0
Operating System: Linux 4.13.5-200.fc26.x86_64 x86_64
Distribution: "Fedora release 26 (Twenty Six)"

-- Information about the crash:
I get this crash notification during login in my plasma session. It has happened more than once by now.

-- Backtrace:
Application: Baloo File Extractor (baloo_file_extractor), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fe6c9d488c0 (LWP 3591))]

Thread 2 (Thread 0x7fe6ab770700 (LWP 3604)):
#0  0x00007fe6c6d41acd in poll () at /lib64/libc.so.6
#1  0x00007fe6c28ea569 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007fe6c28ea67c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007fe6c7b59e6b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007fe6c7b0a60a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007fe6c796299a in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007fe6c9e6aa39 in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#7  0x00007fe6c7966c9e in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#8  0x00007fe6c628636d in start_thread () at /lib64/libpthread.so.0
#9  0x00007fe6c6d4dbbf in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7fe6c9d488c0 (LWP 3591)):
[KCrash Handler]
#6  0x00007fe6c9126c7b in Baloo::IdFilenameDB::get(unsigned long long) () at /lib64/libKF5BalooEngine.so.5
#7  0x00007fe6c912064a in Baloo::DocumentUrlDB::get(unsigned long long) const () at /lib64/libKF5BalooEngine.so.5
#8  0x00007fe6c9130fa4 in Baloo::Transaction::documentUrl(unsigned long long) const () at /lib64/libKF5BalooEngine.so.5
#9  0x000055744fc28fe8 in Baloo::App::processNextFile() ()
#10 0x00007fe6c7b3e954 in QSingleShotTimer::timerEvent(QTimerEvent*) () at /lib64/libQt5Core.so.5
#11 0x00007fe6c7b3388b in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
#12 0x00007fe6c83565dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#13 0x00007fe6c835dc74 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#14 0x00007fe6c7b0b627 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#15 0x00007fe6c7b5948b in QTimerInfoList::activateTimers() () at /lib64/libQt5Core.so.5
#16 0x00007fe6c7b599d1 in timerSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5Core.so.5
#17 0x00007fe6c28ea247 in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#18 0x00007fe6c28ea5e8 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#19 0x00007fe6c28ea67c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#20 0x00007fe6c7b59e4f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#21 0x00007fe6c7b0a60a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#22 0x00007fe6c7b1227c in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#23 0x000055744fc2819f in main ()

Possible duplicates by query: bug 373006.

Reported using DrKonqi
Comment 1 Stefan Brüns 2018-05-03 22:37:34 UTC
Git commit f57c4bc27b81f2b40d910d376a0bb531cd8472c6 by Stefan Brüns.
Committed on 03/05/2018 at 22:37.
Pushed by bruns into branch 'master'.

Avoid infinite loops when fetching the URL from DocumentUrlDB

Summary:
Some users apparently have DBs which contain infinite loops in the idTree
(a parentId pointing to itself or one of its children). This manifests in
either crashes due to exhausted memory and/or the process being stuck
with 100% CPU load.

The problem can only be completely solved by either recreating the DB, or
by cleaning the DB from any problematic records. As in interim solution,
stop the code from crashing.
Related: bug 378754, bug 391258, bug 393181

Reviewers: #baloo, michaelh, #frameworks, ngraham

Reviewed By: ngraham

Subscribers: ngraham, #frameworks

Tags: #frameworks, #baloo

Differential Revision: https://phabricator.kde.org/D12335

M  +10   -2    src/engine/documenturldb.cpp

https://commits.kde.org/baloo/f57c4bc27b81f2b40d910d376a0bb531cd8472c6
Comment 2 Geert Janssens 2018-05-04 07:34:02 UTC
How can I clean the db ? I have searched for this but didn't find an obvious answer.
Comment 3 Wolfgang Bauer 2018-05-04 09:08:42 UTC
(In reply to Geert Janssens from comment #2)
> How can I clean the db ? I have searched for this but didn't find an obvious
> answer.

Delete or rename ~/.local/share/baloo/.

Everything has to be reindexed afterwards of course.
Comment 4 Bob Wildfong 2018-08-06 22:39:32 UTC
Created attachment 114344 [details]
New crash information added by DrKonqi

baloo_file_extractor (5.47.0) using Qt 5.9.6

- What I was doing when the application crashed: logged into plasma after a fresh boot, crash appeared instantly. Happens nearly every login, except one time very recently Baloo did not crash but gradually consumed all memory. That time, I rebooted, and it crashed on first login as usual.

-- Backtrace (Reduced):
#6  0x00007fece6ca248b in Baloo::IdFilenameDB::get(unsigned long long) () from /lib64/libKF5BalooEngine.so.5
#7  0x00007fece6c9bdaf in Baloo::DocumentUrlDB::get(unsigned long long) const () from /lib64/libKF5BalooEngine.so.5
#8  0x00007fece6cac7c4 in Baloo::Transaction::documentUrl(unsigned long long) const () from /lib64/libKF5BalooEngine.so.5
#9  0x00005591e2ab1bd8 in Baloo::App::processNextFile() ()
#10 0x00007fece4bc9a24 in QSingleShotTimer::timerEvent(QTimerEvent*) () from /lib64/libQt5Core.so.5
Comment 5 Nate Graham 2018-11-26 19:33:39 UTC
*** Bug 393756 has been marked as a duplicate of this bug. ***
Comment 6 Nate Graham 2018-11-26 19:33:42 UTC
*** Bug 393896 has been marked as a duplicate of this bug. ***
Comment 7 Nate Graham 2018-11-26 20:03:29 UTC

*** This bug has been marked as a duplicate of bug 372880 ***