Bug 385056 - baloo_file crashes with malloc error "double free or corruption (top)" in Baloo::PendingFileQueue::enqueue() or Baloo::FileWatch::slotFileDeleted()
Summary: baloo_file crashes with malloc error "double free or corruption (top)" in Bal...
Status: RESOLVED FIXED
Alias: None
Product: frameworks-baloo
Classification: Frameworks and Libraries
Component: Baloo File Daemon (show other bugs)
Version: 5.38.0
Platform: Ubuntu Linux
: HI crash
Target Milestone: ---
Assignee: Pinak Ahuja
URL:
Keywords: drkonqi
: 385312 385474 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-09-25 16:11 UTC by francisco_t
Modified: 2020-10-26 16:16 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description francisco_t 2017-09-25 16:11:23 UTC
Application: baloo_file (5.38.0)

Qt Version: 5.9.1
Frameworks Version: 5.38.0
Operating System: Linux 4.10.0-35-generic x86_64
Distribution: KDE neon User Edition 5.10

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

I was deleting a lot of files from my personal folder. It was completely deleted (pushing keys Control + Delete), didn't move to the recycling bin.

-- Backtrace:
Application: Baloo File Indexing Daemon (baloo_file), signal: Aborted
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f650ca368c0 (LWP 1559))]

Thread 2 (Thread 0x7f6501e0c700 (LWP 1588)):
#0  0x00007f6507d33a79 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f6507cee929 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f6507cef2bb in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f6507cef49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f650b6d594b in QEventDispatcherGlib::processEvents (this=0x7f64fc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#5  0x00007f650b67e7ca in QEventLoop::exec (this=this@entry=0x7f6501e0bcd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#6  0x00007f650b4a7cd4 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:515
#7  0x00007f650cb4db75 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#8  0x00007f650b4ac989 in QThreadPrivate::start (arg=0x7f650cbc3da0) at thread/qthread_unix.cpp:368
#9  0x00007f650a1366ba in start_thread (arg=0x7f6501e0c700) at pthread_create.c:333
#10 0x00007f650aab03dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109

Thread 1 (Thread 0x7f650ca368c0 (LWP 1559)):
[KCrash Handler]
#6  0x00007f650a9de428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#7  0x00007f650a9e002a in __GI_abort () at abort.c:89
#8  0x00007f650aa207ea in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7f650ab39e98 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175
#9  0x00007f650aa2937a in malloc_printerr (ar_ptr=<optimized out>, ptr=<optimized out>, str=0x7f650ab39f88 "double free or corruption (top)", action=3) at malloc.c:5006
#10 _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3867
#11 0x00007f650aa2d53c in __GI___libc_free (mem=<optimized out>) at malloc.c:2968
#12 0x00007f650b4add91 in QArrayData::deallocate (data=<optimized out>, objectSize=objectSize@entry=2, alignment=alignment@entry=8) at tools/qarraydata.cpp:167
#13 0x0000000000421f00 in QTypedArrayData<unsigned short>::deallocate (data=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h:237
#14 QString::~QString (this=0x7fff4684aa70, __in_chrg=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qstring.h:1084
#15 Baloo::PendingFileQueue::enqueue (this=0xb162f0, file=...) at /workspace/build/src/file/pendingfilequeue.cpp:66
#16 0x000000000041fc16 in Baloo::FileWatch::slotFileDeleted (this=0x7fff4684b2f0, urlString=..., isDir=<optimized out>) at /workspace/build/src/file/filewatch.cpp:116
#17 0x00007f650b6acf46 in QtPrivate::QSlotObjectBase::call (a=0x7fff4684ad30, r=0x7fff4684b2f0, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:101
#18 QMetaObject::activate (sender=sender@entry=0xb12540, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7fff4684ad30) at kernel/qobject.cpp:3749
#19 0x00007f650b6ad527 in QMetaObject::activate (sender=sender@entry=0xb12540, m=m@entry=0x641be0 <KInotify::staticMetaObject>, local_signal_index=local_signal_index@entry=5, argv=argv@entry=0x7fff4684ad30) at kernel/qobject.cpp:3628
#20 0x0000000000426a04 in KInotify::deleted (_t2=true, _t1=..., this=0xb12540) at /workspace/build/obj-x86_64-linux-gnu/src/file/moc_kinotify.cpp:330
#21 KInotify::slotEvent (this=<optimized out>, socket=<optimized out>) at /workspace/build/src/file/kinotify.cpp:381
#22 0x00007f650b6acf46 in QtPrivate::QSlotObjectBase::call (a=0x7fff4684aeb0, r=0xb12540, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:101
#23 QMetaObject::activate (sender=sender@entry=0xb360b0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff4684aeb0) at kernel/qobject.cpp:3749
#24 0x00007f650b6ad527 in QMetaObject::activate (sender=sender@entry=0xb360b0, m=m@entry=0x7f650b937cc0 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff4684aeb0) at kernel/qobject.cpp:3628
#25 0x00007f650b6b8ec8 in QSocketNotifier::activated (this=this@entry=0xb360b0, _t1=14, _t2=...) at .moc/moc_qsocketnotifier.cpp:137
#26 0x00007f650b6b928b in QSocketNotifier::event (this=0xb360b0, e=<optimized out>) at kernel/qsocketnotifier.cpp:266
#27 0x00007f650b68078b in doNotify (event=0x7fff4684af70, receiver=0xb360b0) at kernel/qcoreapplication.cpp:1093
#28 QCoreApplication::notify (event=<optimized out>, receiver=<optimized out>, this=<optimized out>) at kernel/qcoreapplication.cpp:1079
#29 QCoreApplication::notifyInternal2 (receiver=0xb360b0, event=event@entry=0x7fff4684af70) at kernel/qcoreapplication.cpp:1018
#30 0x00007f650b6d65ad in QCoreApplication::sendEvent (event=0x7fff4684af70, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:233
#31 socketNotifierSourceDispatch (source=0xabff90) at kernel/qeventdispatcher_glib.cpp:106
#32 0x00007f6507cef197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007f6507cef3f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007f6507cef49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007f650b6d592f in QEventDispatcherGlib::processEvents (this=0xac06f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#36 0x00007f650b67e7ca in QEventLoop::exec (this=this@entry=0x7fff4684b190, flags=..., flags@entry=...) at kernel/qeventloop.cpp:212
#37 0x00007f650b687704 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1291
#38 0x000000000040ab1b in main (argc=1, argv=<optimized out>) at /workspace/build/src/file/main.cpp:104

Possible duplicates by query: bug 384860, bug 384737, bug 381268, bug 381213, bug 375933.

Reported using DrKonqi
Comment 1 Nate Graham 2018-11-26 18:28:52 UTC
*** Bug 385474 has been marked as a duplicate of this bug. ***
Comment 2 Nate Graham 2018-11-26 18:28:55 UTC
*** Bug 385312 has been marked as a duplicate of this bug. ***
Comment 3 Nate Graham 2020-10-26 16:16:36 UTC
No duplicate bug reports seen in almost two years. After all the bugfixing work done during that time, I think we can call this fixed!