Bug 434456

Summary: Crash when collapsing detailed view of big folder
Product: [Applications] dolphin Reporter: Daniel Halens <DanielHalens>
Component: generalAssignee: Dolphin Bug Assignee <dolphin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kfm-devel, nate
Priority: NOR Keywords: drkonqi
Version: 20.12.2   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Daniel Halens 2021-03-15 19:05:52 UTC
Application: dolphin (20.12.2)

Qt Version: 5.15.2
Frameworks Version: 5.79.0
Operating System: Linux 5.8.0-44-generic x86_64
Windowing System: X11
Drkonqi Version: 5.21.1
Distribution: KDE neon User Edition 5.21

-- Information about the crash:
- What I was doing when the application crashed:
Expand a folder with hundreds of subfolders.
Collapse it before Dolphin finishes counting the number of elements inside those folders.

- Custom settings of the application:
Dolphin set to detailed view.
Previews on at minimum size.

The crash can be reproduced every time.

-- Backtrace:
Application: Dolphin (dolphin), signal: Aborted

[New LWP 3714]
[New LWP 4016]
[New LWP 176771]
[New LWP 265396]
[New LWP 265398]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f2116c78dff in __GI___wait4 (pid=265705, stat_loc=0x0, options=0, usage=0x0) at ../sysdeps/unix/sysv/linux/wait4.c:27
[Current thread is 1 (Thread 0x7f210fd3a8c0 (LWP 3532))]

Thread 6 (Thread 0x7f20fb7fe700 (LWP 265398)):
#0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f20fb7fdc50, clockid=<optimized out>, expected=0, futex_word=0x5618f06b7c60) at ../sysdeps/nptl/futex-internal.h:320
#1  __pthread_cond_wait_common (abstime=0x7f20fb7fdc50, clockid=<optimized out>, mutex=0x5618f06b7c10, cond=0x5618f06b7c38) at pthread_cond_wait.c:520
#2  __pthread_cond_timedwait (cond=0x5618f06b7c38, mutex=0x5618f06b7c10, abstime=0x7f20fb7fdc50) at pthread_cond_wait.c:656
#3  0x00007f2114799ca8 in QWaitConditionPrivate::wait_relative (this=0x5618f06b7c10, deadline=...) at thread/qwaitcondition_unix.cpp:136
#4  QWaitConditionPrivate::wait (deadline=..., this=0x5618f06b7c10) at thread/qwaitcondition_unix.cpp:144
#5  QWaitCondition::wait (this=this@entry=0x5618f0512100, mutex=mutex@entry=0x5618f074ff38, deadline=...) at thread/qwaitcondition_unix.cpp:225
#6  0x00007f21147971b1 in QThreadPoolThread::run (this=0x5618f05120f0) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:270
#7  0x00007f2114793bac in QThreadPrivate::start (arg=0x5618f05120f0) at thread/qthread_unix.cpp:329
#8  0x00007f211310d609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f2116cb5293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 5 (Thread 0x7f20fffff700 (LWP 265396)):
#0  futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f20ffffec50, clockid=<optimized out>, expected=0, futex_word=0x5618f05d4b14) at ../sysdeps/nptl/futex-internal.h:320
#1  __pthread_cond_wait_common (abstime=0x7f20ffffec50, clockid=<optimized out>, mutex=0x5618f05d4ac0, cond=0x5618f05d4ae8) at pthread_cond_wait.c:520
#2  __pthread_cond_timedwait (cond=0x5618f05d4ae8, mutex=0x5618f05d4ac0, abstime=0x7f20ffffec50) at pthread_cond_wait.c:656
#3  0x00007f2114799ca8 in QWaitConditionPrivate::wait_relative (this=0x5618f05d4ac0, deadline=...) at thread/qwaitcondition_unix.cpp:136
#4  QWaitConditionPrivate::wait (deadline=..., this=0x5618f05d4ac0) at thread/qwaitcondition_unix.cpp:144
#5  QWaitCondition::wait (this=this@entry=0x5618f0631970, mutex=mutex@entry=0x5618f074ff38, deadline=...) at thread/qwaitcondition_unix.cpp:225
#6  0x00007f21147971b1 in QThreadPoolThread::run (this=0x5618f0631960) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:270
#7  0x00007f2114793bac in QThreadPrivate::start (arg=0x5618f0631960) at thread/qthread_unix.cpp:329
#8  0x00007f211310d609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f2116cb5293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f20faffd700 (LWP 176771)):
#0  __GI___libc_read (nbytes=10, buf=0x7f20faffcb1e, fd=32) at ../sysdeps/unix/sysv/linux/read.c:26
#1  __GI___libc_read (fd=32, buf=0x7f20faffcb1e, nbytes=10) at ../sysdeps/unix/sysv/linux/read.c:24
#2  0x00007f21122c0975 in pa_read () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.99.so
#3  0x00007f21130ba416 in pa_mainloop_prepare () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#4  0x00007f21130baeb4 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#5  0x00007f21130baf70 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#6  0x00007f21130c911d in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
#7  0x00007f21122ef72c in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-13.99.so
#8  0x00007f211310d609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f2116cb5293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f20ff7fe700 (LWP 4016)):
#0  __GI___getdents64 (fd=3, buf=buf@entry=0x7f20e8015480, nbytes=<optimized out>) at ../sysdeps/unix/sysv/linux/getdents64.c:32
#1  0x00007f2116c744f5 in __GI___readdir64 (dirp=dirp@entry=0x7f20e8015450) at ../sysdeps/posix/readdir.c:65
#2  0x00007f2116b10117 in walkDir (dirPath=..., countHiddenFiles=countHiddenFiles@entry=true, countDirectoriesOnly=countDirectoriesOnly@entry=false, dirEntry=<optimized out>, dirEntry@entry=0x7f20e8010848, allowedRecursiveLevel=allowedRecursiveLevel@entry=0) at ./src/kitemviews/private/kdirectorycontentscounterworker.cpp:40
#3  0x00007f2116b103c6 in walkDir (dirPath=..., countHiddenFiles=true, countDirectoriesOnly=false, dirEntry=0x7f20e8010848, dirEntry@entry=0x0, allowedRecursiveLevel=1) at ./src/kitemviews/private/kdirectorycontentscounterworker.cpp:79
#4  0x00007f2116b1048c in KDirectoryContentsCounterWorker::subItemsCount (path=..., options=...) at ./src/kitemviews/private/kdirectorycontentscounterworker.cpp:112
#5  0x00007f2116b104bb in KDirectoryContentsCounterWorker::countDirectoryContents (this=0x5618f225dc50, path=..., options=...) at ./src/kitemviews/private/kdirectorycontentscounterworker.cpp:120
#6  0x00007f21149a7239 in QObject::event (this=0x5618f225dc50, e=0x5618f28edb30) at kernel/qobject.cpp:1314
#7  0x00007f2115450dc3 in QApplicationPrivate::notify_helper (this=this@entry=0x5618f020c6d0, receiver=receiver@entry=0x5618f225dc50, e=e@entry=0x5618f28edb30) at kernel/qapplication.cpp:3632
#8  0x00007f2115459bb8 in QApplication::notify (this=0x7ffefd5fad30, receiver=0x5618f225dc50, e=0x5618f28edb30) at kernel/qapplication.cpp:3156
#9  0x00007f211497969a in QCoreApplication::notifyInternal2 (receiver=0x5618f225dc50, event=0x5618f28edb30) at ../../include/QtCore/5.15.2/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#10 0x00007f211497bfa1 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5618f051b890) at kernel/qcoreapplication.cpp:1817
#11 0x00007f21149d4947 in postEventSourceDispatch (s=0x7f20e8004fe0) at kernel/qeventdispatcher_glib.cpp:277
#12 0x00007f211273df9d in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007f211273e220 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007f211273e2c3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007f21149d3fa2 in QEventDispatcherGlib::processEvents (this=0x7f20e8000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#16 0x00007f21149781ab in QEventLoop::exec (this=this@entry=0x7f20ff7fdce0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#17 0x00007f2114792a12 in QThread::exec (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#18 0x00007f2114793bac in QThreadPrivate::start (arg=0x5618f05d6340) at thread/qthread_unix.cpp:329
#19 0x00007f211310d609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#20 0x00007f2116cb5293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f210e077700 (LWP 3714)):
#0  0x00007f2116ca8aff in __GI___poll (fds=0x7f2100014b70, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f211273e18e in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f211273e2c3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f21149d3fbb in QEventDispatcherGlib::processEvents (this=0x7f2100000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f21149781ab in QEventLoop::exec (this=this@entry=0x7f210e076cb0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#5  0x00007f2114792a12 in QThread::exec (this=this@entry=0x7f2115aadd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#6  0x00007f2115a29f4b in QDBusConnectionManager::run (this=0x7f2115aadd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#7  0x00007f2114793bac in QThreadPrivate::start (arg=0x7f2115aadd80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:329
#8  0x00007f211310d609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9  0x00007f2116cb5293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f210fd3a8c0 (LWP 3532)):
[KCrash Handler]
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#5  0x00007f2116bb8859 in __GI_abort () at abort.c:79
#6  0x00007f2116c233ee in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7f2116d4d285 "%s\n") at ../sysdeps/posix/libc_fatal.c:155
#7  0x00007f2116c2b47c in malloc_printerr (str=str@entry=0x7f2116d4f5d0 "free(): double free detected in tcache 2") at malloc.c:5347
#8  0x00007f2116c2d0ed in _int_free (av=0x7f2116d7eb80 <main_arena>, p=0x5618f1784a30, have_lock=0) at malloc.c:4201
#9  0x00007f2116ac614c in KFileItemModel::removeItems (behavior=KFileItemModel::DeleteItemData, itemRanges=..., this=0x5618f1d69940) at /usr/include/c++/9/bits/atomic_base.h:326
#10 KFileItemModel::removeItems (this=0x5618f1d69940, itemRanges=..., behavior=KFileItemModel::DeleteItemData) at ./src/kitemviews/kfileitemmodel.cpp:1273
#11 0x00007f2116ad2d54 in KFileItemModel::setExpanded (this=0x5618f1d69940, index=237, expanded=<optimized out>) at ./src/kitemviews/kitemrange.h:48
#12 0x00007f2116ae7d41 in KItemListController::onRelease (this=this@entry=0x5618f290edb0, pos=..., modifiers=modifiers@entry=..., buttons=buttons@entry=..., touch=touch@entry=false) at ./src/kitemviews/kitemlistcontroller.cpp:1581
#13 0x00007f2116ae7ee9 in KItemListController::mouseReleaseEvent (transform=..., event=0x7ffefd5f9dd0, this=0x5618f290edb0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qflags.h:121
#14 KItemListController::mouseReleaseEvent (this=0x5618f290edb0, event=0x7ffefd5f9dd0, transform=...) at ./src/kitemviews/kitemlistcontroller.cpp:627
#15 0x00007f2116ae9b49 in KItemListController::processEvent (this=this@entry=0x5618f290edb0, event=event@entry=0x7ffefd5f9dd0, transform=...) at ./src/kitemviews/kitemlistcontroller.cpp:1112
#16 0x00007f2116af9096 in KItemListView::event (this=0x5618f13529c0, event=0x7ffefd5f9dd0) at ./src/kitemviews/kitemlistview.cpp:933
#17 0x00007f2115450dc3 in QApplicationPrivate::notify_helper (this=this@entry=0x5618f020c6d0, receiver=receiver@entry=0x5618f13529c0, e=e@entry=0x7ffefd5f9dd0) at kernel/qapplication.cpp:3632
#18 0x00007f2115459bb8 in QApplication::notify (this=0x7ffefd5fad30, receiver=0x5618f13529c0, e=0x7ffefd5f9dd0) at kernel/qapplication.cpp:3156
#19 0x00007f211497969a in QCoreApplication::notifyInternal2 (receiver=0x5618f13529c0, event=0x7ffefd5f9dd0) at ../../include/QtCore/5.15.2/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#20 0x00007f2115785f73 in QGraphicsScenePrivate::sendEvent (this=<optimized out>, event=0x7ffefd5f9dd0, item=0x5618f13529d0) at graphicsview/qgraphicsscene.cpp:1254
#21 QGraphicsScenePrivate::sendEvent (this=<optimized out>, item=0x5618f13529d0, event=0x7ffefd5f9dd0) at graphicsview/qgraphicsscene.cpp:1234
#22 0x00007f21157863b7 in QGraphicsScenePrivate::sendMouseEvent (this=this@entry=0x5618f1de9950, mouseEvent=mouseEvent@entry=0x7ffefd5f9dd0) at graphicsview/qgraphicsscene.cpp:1335
#23 0x00007f211578b500 in QGraphicsScene::mouseReleaseEvent (this=<optimized out>, mouseEvent=0x7ffefd5f9dd0) at graphicsview/qgraphicsscene.cpp:4123
#24 0x00007f21157986e9 in QGraphicsScene::event (this=0x5618f24333c0, event=0x7ffefd5f9dd0) at graphicsview/qgraphicsscene.cpp:3436
#25 0x00007f2115450dc3 in QApplicationPrivate::notify_helper (this=this@entry=0x5618f020c6d0, receiver=receiver@entry=0x5618f24333c0, e=e@entry=0x7ffefd5f9dd0) at kernel/qapplication.cpp:3632
#26 0x00007f2115459bb8 in QApplication::notify (this=0x7ffefd5fad30, receiver=0x5618f24333c0, e=0x7ffefd5f9dd0) at kernel/qapplication.cpp:3156
#27 0x00007f211497969a in QCoreApplication::notifyInternal2 (receiver=0x5618f24333c0, event=0x7ffefd5f9dd0) at ../../include/QtCore/5.15.2/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#28 0x00007f21157b5c5a in QGraphicsView::mouseReleaseEvent (this=0x5618f16282d0, event=0x7ffefd5fa3e0) at /usr/include/c++/9/bits/atomic_base.h:413
#29 0x00007f2115493c06 in QWidget::event (this=this@entry=0x5618f16282d0, event=event@entry=0x7ffefd5fa3e0) at kernel/qwidget.cpp:8663
#30 0x00007f2115543f82 in QFrame::event (this=0x5618f16282d0, e=0x7ffefd5fa3e0) at widgets/qframe.cpp:550
#31 0x00007f21157b6aa1 in QGraphicsView::viewportEvent (this=0x5618f16282d0, event=0x7ffefd5fa3e0) at graphicsview/qgraphicsview.cpp:3014
#32 0x00007f2114979403 in QCoreApplicationPrivate::sendThroughObjectEventFilters (event=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.cpp:1189
#33 QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=receiver@entry=0x5618f128bc10, event=event@entry=0x7ffefd5fa3e0) at kernel/qcoreapplication.cpp:1178
#34 0x00007f2115450db2 in QApplicationPrivate::notify_helper (this=this@entry=0x5618f020c6d0, receiver=receiver@entry=0x5618f128bc10, e=e@entry=0x7ffefd5fa3e0) at kernel/qapplication.cpp:3626
#35 0x00007f2115459e77 in QApplication::notify (this=<optimized out>, receiver=0x5618f128bc10, e=0x7ffefd5fa3e0) at kernel/qapplication.cpp:3076
#36 0x00007f211497969a in QCoreApplication::notifyInternal2 (receiver=0x5618f128bc10, event=0x7ffefd5fa3e0) at ../../include/QtCore/5.15.2/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#37 0x00007f21154590a7 in QApplicationPrivate::sendMouseEvent (receiver=0x5618f128bc10, event=0x7ffefd5fa3e0, alienWidget=0x5618f128bc10, nativeWidget=0x5618f020f300, buttonDown=<optimized out>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614
#38 0x00007f21154aee54 in QWidgetWindow::handleMouseEvent(QMouseEvent*) () at /usr/include/c++/9/bits/atomic_base.h:413
#39 0x00007f21154b2174 in QWidgetWindow::event (this=0x5618f0665b50, event=0x7ffefd5fa860) at kernel/qwidgetwindow.cpp:300
#40 0x00007f2115450dc3 in QApplicationPrivate::notify_helper (this=this@entry=0x5618f020c6d0, receiver=receiver@entry=0x5618f0665b50, e=e@entry=0x7ffefd5fa860) at kernel/qapplication.cpp:3632
#41 0x00007f2115459bb8 in QApplication::notify (this=0x7ffefd5fad30, receiver=0x5618f0665b50, e=0x7ffefd5fa860) at kernel/qapplication.cpp:3156
#42 0x00007f211497969a in QCoreApplication::notifyInternal2 (receiver=0x5618f0665b50, event=0x7ffefd5fa860) at ../../include/QtCore/5.15.2/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325
#43 0x00007f2114d5b4e8 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at kernel/qguiapplication.cpp:2282
#44 0x00007f2114d5cb55 in QGuiApplicationPrivate::processWindowSystemEvent (e=0x5618f2ddfa10) at kernel/qguiapplication.cpp:2002
#45 0x00007f2114d347ac in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#46 0x00007f210f40ed7e in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#47 0x00007f211273df9d in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007f211273e220 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#49 0x00007f211273e2c3 in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#50 0x00007f21149d3fa2 in QEventDispatcherGlib::processEvents (this=0x5618f0335350, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#51 0x00007f21149781ab in QEventLoop::exec (this=this@entry=0x7ffefd5fac00, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141
#52 0x00007f2114980354 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#53 0x00007f2114d4f1e0 in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#54 0x00007f2115450d39 in QApplication::exec () at kernel/qapplication.cpp:2824
#55 0x00007f2116dd8fa2 in kdemain (argc=<optimized out>, argv=<optimized out>) at ./src/main.cpp:222
#56 0x00007f2116bba0b3 in __libc_start_main (main=0x5618ee7fc060 <main>, argc=3, argv=0x7ffefd5faed8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffefd5faec8) at ../csu/libc-start.c:308
#57 0x00005618ee7fc09e in _start ()
[Inferior 1 (process 3532) detached]

The reporter indicates this bug may be a duplicate of or related to bug 430616.

Possible duplicates by query: bug 434435, bug 433897, bug 433551, bug 433526, bug 432783.

Reported using DrKonqi
Comment 1 Nate Graham 2021-03-15 19:07:11 UTC

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