Bug 450988 - baloo_file_extractor crashes when login
Summary: baloo_file_extractor crashes when login
Status: RESOLVED UNMAINTAINED
Alias: None
Product: frameworks-baloo
Classification: Frameworks and Libraries
Component: Baloo File Daemon (show other bugs)
Version: 5.68.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: baloo-bugs-null
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2022-03-01 05:08 UTC by 23m448a32
Modified: 2022-03-16 08:12 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (7.36 KB, patch)
2022-03-15 22:22 UTC, Joe Turpin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description 23m448a32 2022-03-01 05:08:56 UTC
Application: baloo_file_extractor (5.68.0)

Qt Version: 5.12.8
Frameworks Version: 5.68.0
Operating System: Linux 5.13.0-30-generic x86_64
Windowing system: X11
Distribution: Ubuntu 20.04.4 LTS

-- Information about the crash:
- What I was doing when the application crashed:

baloo_file_extractor  crashes when login
Crashes once every two or three times, not every time

The crash can be reproduced every time.

-- Backtrace:
Application: Baloo File Extractor (baloo_file_extractor), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f2c73b33f80 (LWP 2285))]

Thread 3 (Thread 0x7f2c72348700 (LWP 2289)):
#0  0x00007f2c75b884dd in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f2c75b3a8fa in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f2c75b3b29b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f2c75b3b4a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f2c76f20453 in QEventDispatcherGlib::processEvents (this=0x7f2c64000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007f2c76ec73ab in QEventLoop::exec (this=this@entry=0x7f2c72347d70, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#6  0x00007f2c76cff785 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#7  0x00007f2c77f2aefa in ?? () from /lib/x86_64-linux-gnu/libQt5DBus.so.5
#8  0x00007f2c76d009d2 in QThreadPrivate::start (arg=0x7f2c77fadd80) at thread/qthread_unix.cpp:361
#9  0x00007f2c763fa609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#10 0x00007f2c7698e293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f2c72b7e700 (LWP 2287)):
#0  0x00007f2c76981aff in __GI___poll (fds=0x7f2c72b7dca8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f2c75ac8c1a in ?? () from /lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f2c75aca90a in xcb_wait_for_event () from /lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f2c73384298 in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
#4  0x00007f2c76d009d2 in QThreadPrivate::start (arg=0x558405b5b5c0) at thread/qthread_unix.cpp:361
#5  0x00007f2c763fa609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#6  0x00007f2c7698e293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f2c73b33f80 (LWP 2285)):
[KCrash Handler]
#6  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#7  0x00007f2c76891859 in __GI_abort () at abort.c:79
#8  0x00007f2c765bba83 in mdb_assert_fail (env=0x558405bd8ae0, expr_txt=expr_txt@entry=0x7f2c765be02f "rc == 0", func=func@entry=0x7f2c765be978 <__func__.7221> "mdb_page_dirty", line=line@entry=2127, file=0x7f2c765be010 "mdb.c") at mdb.c:1542
#9  0x00007f2c765b06d5 in mdb_page_dirty (mp=<optimized out>, txn=0x558405bd9f80) at mdb.c:2114
#10 mdb_page_dirty (txn=0x558405bd9f80, mp=<optimized out>) at mdb.c:2114
#11 0x00007f2c765b1966 in mdb_page_alloc (num=num@entry=1, mp=mp@entry=0x7ffea1b723d8, mc=<optimized out>) at mdb.c:2308
#12 0x00007f2c765b1ba3 in mdb_page_touch (mc=mc@entry=0x7ffea1b72910) at mdb.c:2495
#13 0x00007f2c765b37c7 in mdb_cursor_touch (mc=mc@entry=0x7ffea1b72910) at mdb.c:6523
#14 0x00007f2c765b68f9 in mdb_cursor_put (mc=mc@entry=0x7ffea1b72910, key=key@entry=0x7ffea1b72cf0, data=data@entry=0x7ffea1b72d00, flags=flags@entry=0) at mdb.c:6657
#15 0x00007f2c765b976b in mdb_put (txn=0x558405bd9f80, dbi=2, key=key@entry=0x7ffea1b72cf0, data=data@entry=0x7ffea1b72d00, flags=flags@entry=0) at mdb.c:9022
#16 0x00007f2c77ff7d92 in Baloo::PostingDB::put (this=this@entry=0x7ffea1b72de0, term=..., list=...) at ./src/engine/postingdb.cpp:80
#17 0x00007f2c7800fca8 in Baloo::WriteTransaction::commit (this=0x558405bd8be0) at ./src/engine/writetransaction.cpp:326
#18 0x00007f2c77fffc63 in Baloo::Transaction::commit (this=0x558405bd3ab0) at ./src/engine/transaction.cpp:306
#19 0x0000558404ab562c in ?? ()
#20 0x00007f2c76f01486 in QtPrivate::QSlotObjectBase::call (a=0x7ffea1b72f70, r=<optimized out>, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#21 QSingleShotTimer::timerEvent (this=0x558405c95310) at kernel/qtimer.cpp:318
#22 0x00007f2c76ef4bc5 in QObject::event (this=0x558405c95310, e=<optimized out>) at kernel/qobject.cpp:1283
#23 0x00007f2c778e0a66 in QApplicationPrivate::notify_helper (this=this@entry=0x558405b58140, receiver=receiver@entry=0x558405c95310, e=e@entry=0x7ffea1b73290) at kernel/qapplication.cpp:3700
#24 0x00007f2c778ea0f0 in QApplication::notify (this=0x7ffea1b73570, receiver=0x558405c95310, e=0x7ffea1b73290) at kernel/qapplication.cpp:3446
#25 0x00007f2c76ec880a in QCoreApplication::notifyInternal2 (receiver=0x558405c95310, event=0x7ffea1b73290) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:142
#26 0x00007f2c76f1f780 in QTimerInfoList::activateTimers (this=0x558405b9f130) at kernel/qtimerinfo_unix.cpp:643
#27 0x00007f2c76f2006c in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:182
#28 0x00007f2c75b3b17d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007f2c75b3b400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007f2c75b3b4a3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007f2c76f20435 in QEventDispatcherGlib::processEvents (this=0x558405b85ae0, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#32 0x00007f2c76ec73ab in QEventLoop::exec (this=this@entry=0x7ffea1b734d0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:140
#33 0x00007f2c76ecf116 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:120
#34 0x0000558404ab37d4 in ?? ()
#35 0x00007f2c768930b3 in __libc_start_main (main=0x558404ab3580, argc=1, argv=0x7ffea1b737b8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffea1b737a8) at ../csu/libc-start.c:308
#36 0x0000558404ab388e in ?? ()
[Inferior 1 (process 2285) detached]

The reporter indicates this bug may be a duplicate of or related to bug 446621, bug 427224, bug 405284.

Possible duplicates by query: bug 450559, bug 450494, bug 450084, bug 449293, bug 448987.

Reported using DrKonqi
Comment 1 tagwerk19 2022-03-01 23:48:23 UTC
Did you say 5.68.0?

That's now really quite old. There's been loads of work done since then, you can have a look at Bug 431664 for a bit of history.

You can try purging the index and reindexing (as per 431664) or upgrade if you can...
Comment 2 tagwerk19 2022-03-04 08:03:02 UTC
Look like issues with 5.68.0 are flagged as "Unmaintained" (cf Bug 447157, different issue but 5.68.0)

Maybe there should be a Baloo flatpak/snap that would allow people to move from older versions. Something minimal through, that updates just the Baloo functionality.
Comment 3 Joe Turpin 2022-03-15 22:22:59 UTC
Created attachment 147519 [details]
New crash information added by DrKonqi

baloo_file_extractor (5.68.0) using Qt 5.12.8

- What I was doing when the application crashed:

I logged into the KDE desktop and shortly thereafter the baloo_file_extractor crash was reported through a desktop notification.

-- Backtrace (Reduced):
#7  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#8  0x00007f7e04cfb859 in __GI_abort () at abort.c:79
#9  0x00007f7e04a25a83 in mdb_assert_fail (env=0x5562845486a0, expr_txt=expr_txt@entry=0x7f7e04a2802f "rc == 0", func=func@entry=0x7f7e04a28978 <__func__.7221> "mdb_page_dirty", line=line@entry=2127, file=0x7f7e04a28010 "mdb.c") at mdb.c:1542
#10 0x00007f7e04a1a6d5 in mdb_page_dirty (mp=<optimized out>, txn=0x556284549b90) at mdb.c:2114
#11 mdb_page_dirty (txn=0x556284549b90, mp=<optimized out>) at mdb.c:2114
Comment 4 tagwerk19 2022-03-16 08:12:41 UTC
(In reply to Joe Turpin from comment #3)
> ... shortly thereafter the baloo_file_extractor crash was reported ...
It seems to fit a pattern, the crash seems to happen when trying to remove a entry:
> #19 0x00007f7e06445af9 in Baloo::DocumentDB::del (this=this@entry=0x7ffe557419e0, docId=<optimized out>, docId@entry=20274363055997009) at ./src/engine/documentdb.cpp:118
> #20 0x00007f7e06478239 in Baloo::WriteTransaction::removeDocument (this=0x556284548620, id=id@entry=20274363055997009) at ./src/engine/writetransaction.cpp:128
> #21 0x00007f7e06469987 in Baloo::Transaction::removeDocument (this=<optimized out>, id=id@entry=20274363055997009) at ./src/engine/transaction.cpp:266
I'm not a dump cracker so cannot say much more than that.

However as mentioned above 5.68.0 is now "way old". Nothing to say that newer code deals better with these situations but it seems that such crash reports generally reference old(er) versions. Upgrade if you can...

(See Bug 451245 for a brief discussion about alternatives)