Bug 297815 - Dolphin crashes while folders is rescanning after moving file
Summary: Dolphin crashes while folders is rescanning after moving file
Status: RESOLVED WORKSFORME
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: kshareddatacache (show other bugs)
Version: 4.8
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-10 03:01 UTC by GenuZ
Modified: 2018-11-29 09:39 UTC (History)
2 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 GenuZ 2012-04-10 03:01:32 UTC
Application: dolphin (2.0)
KDE Platform Version: 4.8.2 (4.8.2)
Qt Version: 4.8.0
Operating System: Linux 3.0.0-17-generic x86_64
Distribution: Linux Mint 12 KDE

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

I've moved file (avi) into upper folder by dragging it into "> upper folder name >" on "path line"... After that I've changed folder, by clicking on the same "> upper folder name >" in same line... Dolphin enters this upper folder and started rescaning changings: emptied folder and new moved file... I've rightclick on changed folder to delete it, but Dolphin crashes before rightclick menu appears...

-- Backtrace:
Application: Dolphin (dolphin), signal: Segmentation fault
[Current thread is 1 (Thread 0x7feefd4777a0 (LWP 3374))]

Thread 3 (Thread 0x7feee9535700 (LWP 3375)):
#0  0x00007feef5401f4b in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007feef5402dfd in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007feef5403429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007feef913dc26 in QEventDispatcherGlib::processEvents (this=0x160a200, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007feef910d402 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007feef910d657 in QEventLoop::exec (this=0x7feee9534db0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007feef900d067 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007feef90ed17f in QInotifyFileSystemWatcherEngine::run (this=0x1635bd0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007feef901008b in QThreadPrivate::start (arg=0x1635bd0) at thread/qthread_unix.cpp:298
#9  0x00007feef58d4efc in start_thread (arg=0x7feee9535700) at pthread_create.c:304
#10 0x00007feefcd6259d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7feee824f700 (LWP 3376)):
#0  0x00007feefcd56473 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007feef5402f68 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007feef5403429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007feef913dc26 in QEventDispatcherGlib::processEvents (this=0x7feee00008b0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007feef910d402 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007feef910d657 in QEventLoop::exec (this=0x7feee824edb0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007feef900d067 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007feef90ed17f in QInotifyFileSystemWatcherEngine::run (this=0x169deb0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007feef901008b in QThreadPrivate::start (arg=0x169deb0) at thread/qthread_unix.cpp:298
#9  0x00007feef58d4efc in start_thread (arg=0x7feee824f700) at pthread_create.c:304
#10 0x00007feefcd6259d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7feefd4777a0 (LWP 3374)):
[KCrash Handler]
#6  0x00007feefa7e2dfd in relink (this=0x1524a00, key=...) at /usr/include/qt4/QtCore/qcache.h:84
#7  object (key=..., this=0x1524a00) at /usr/include/qt4/QtCore/qcache.h:148
#8  KIconLoaderPrivate::findCachedPixmapWithPath (this=0x15249c0, key=..., data=..., path=...) at ../../kdeui/icons/kiconloader.cpp:848
#9  0x00007feefa7e31d1 in KIconLoader::loadIcon (this=0x14b98b0, _name=<optimized out>, group=KIconLoader::Desktop, size=16, state=0, overlays=..., path_store=0x0, canReturnNull=false) at ../../kdeui/icons/kiconloader.cpp:1222
#10 0x00007feefa7daa7f in KIconEngine::pixmap (this=<optimized out>, size=..., mode=<optimized out>, state=<optimized out>) at ../../kdeui/icons/kiconengine.cpp:104
#11 0x00007feef9ba9cf5 in QIcon::pixmap (this=<optimized out>, size=<optimized out>, mode=<optimized out>, state=<optimized out>) at image/qicon.cpp:684
#12 0x00007feeedd66928 in Oxygen::Style::drawMenuItemControl (this=0x14b0500, option=0x7fffb2a057c0, painter=0x7fffb2a058e0, widget=<optimized out>) at ../../../kstyles/oxygen/oxygenstyle.cpp:4737
#13 0x00007feeedd45054 in Oxygen::Style::drawControl (this=0x14b0500, element=QStyle::CE_MenuItem, option=0x7fffb2a057c0, painter=0x7fffb2a058e0, widget=0x1f3a570) at ../../../kstyles/oxygen/oxygenstyle.cpp:1139
#14 0x00007feef9f4d98c in QMenu::paintEvent (this=0x1f3a570, e=0x7fffb2a061e0) at widgets/qmenu.cpp:2226
#15 0x00007feef9b528c6 in QWidget::event (this=0x1f3a570, event=0x7fffb2a061e0) at kernel/qwidget.cpp:8507
#16 0x00007feef9f52c2b in QMenu::event (this=0x1f3a570, e=0x7fffb2a061e0) at widgets/qmenu.cpp:2460
#17 0x00007feef9b02104 in notify_helper (e=0x7fffb2a061e0, receiver=0x1f3a570, this=0x1459230) at kernel/qapplication.cpp:4555
#18 QApplicationPrivate::notify_helper (this=0x1459230, receiver=0x1f3a570, e=0x7fffb2a061e0) at kernel/qapplication.cpp:4527
#19 0x00007feef9b06f83 in QApplication::notify (this=0x7fffb2a0a4d0, receiver=0x1f3a570, e=0x7fffb2a061e0) at kernel/qapplication.cpp:4416
#20 0x00007feefa834bf6 in KApplication::notify (this=0x7fffb2a0a4d0, receiver=0x1f3a570, event=0x7fffb2a061e0) at ../../kdeui/kernel/kapplication.cpp:311
#21 0x00007feef910e61c in QCoreApplication::notifyInternal (this=0x7fffb2a0a4d0, receiver=0x1f3a570, event=0x7fffb2a061e0) at kernel/qcoreapplication.cpp:876
#22 0x00007feef9b4e566 in sendSpontaneousEvent (event=0x7fffb2a061e0, receiver=0x1f3a570) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234
#23 QWidgetPrivate::drawWidget (this=0x2444d00, pdev=0x20bf840, rgn=..., offset=..., flags=5, sharedPainter=0x0, backingStore=0x2458ac0) at kernel/qwidget.cpp:5584
#24 0x00007feef9d1ccd8 in QWidgetBackingStore::sync (this=0x2458ac0) at painting/qbackingstore.cpp:1373
#25 0x00007feef9d1d0a3 in QWidgetBackingStore::sync (this=0x2458ac0, exposedWidget=0x1f3a570, exposedRegion=...) at painting/qbackingstore.cpp:1161
#26 0x00007feef9b7d8da in QETWidget::translatePaintEvent (this=0x1f3a570, event=<optimized out>) at kernel/qapplication_x11.cpp:5583
#27 0x00007feef9b7e959 in QApplication::x11ProcessEvent (this=0x7fffb2a0a4d0, event=0x7fffb2a06eb0) at kernel/qapplication_x11.cpp:3632
#28 0x00007feef9ba7602 in x11EventSourceDispatch (s=0x1460320, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#29 0x00007feef5402a5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007feef5403258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007feef5403429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007feef913dbbf in QEventDispatcherGlib::processEvents (this=0x14354a0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#33 0x00007feef9ba728e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#34 0x00007feef910d402 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#35 0x00007feef910d657 in QEventLoop::exec (this=0x7fffb2a07280, flags=...) at kernel/qeventloop.cpp:204
#36 0x00007feef9f4efc1 in QMenu::exec (this=<optimized out>, p=..., action=0x0) at widgets/qmenu.cpp:2104
#37 0x00007feefd065e5c in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_dolphin.so
#38 0x00007feefd066785 in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_dolphin.so
#39 0x00007feefd05c27a in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_dolphin.so
#40 0x00007feefd05f9bf in ?? () from /usr/lib/kde4/libkdeinit/libkdeinit4_dolphin.so
#41 0x00007feef9122c09 in QMetaObject::activate (sender=0x1ae6140, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffb2a077b0) at kernel/qobject.cpp:3566
#42 0x00007feefc0d3bd4 in DolphinView::requestContextMenu(QPoint const&, KFileItem const&, KUrl const&, QList<QAction*> const&) () from /usr/lib/libdolphinprivate.so.4
#43 0x00007feefc0d4583 in DolphinView::slotItemContextMenuRequested(int, QPointF const&) () from /usr/lib/libdolphinprivate.so.4
#44 0x00007feefc0d8fbe in DolphinView::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libdolphinprivate.so.4
#45 0x00007feef9122c09 in QMetaObject::activate (sender=0x1ae4590, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffb2a079b0) at kernel/qobject.cpp:3566
#46 0x00007feefc0ac6f6 in KItemListController::itemContextMenuRequested(int, QPointF const&) () from /usr/lib/libdolphinprivate.so.4
#47 0x00007feefc0acd76 in KItemListController::mousePressEvent(QGraphicsSceneMouseEvent*, QTransform const&) () from /usr/lib/libdolphinprivate.so.4
#48 0x00007feefc0ab7e0 in KItemListController::processEvent(QEvent*, QTransform const&) () from /usr/lib/libdolphinprivate.so.4
#49 0x00007feefc0b7045 in KItemListView::event(QEvent*) () from /usr/lib/libdolphinprivate.so.4
#50 0x00007feef9b02104 in notify_helper (e=0x7fffb2a08e40, receiver=0x1b03180, this=0x1459230) at kernel/qapplication.cpp:4555
#51 QApplicationPrivate::notify_helper (this=0x1459230, receiver=0x1b03180, e=0x7fffb2a08e40) at kernel/qapplication.cpp:4527
#52 0x00007feef9b06f83 in QApplication::notify (this=0x7fffb2a0a4d0, receiver=0x1b03180, e=0x7fffb2a08e40) at kernel/qapplication.cpp:4416
#53 0x00007feefa834bf6 in KApplication::notify (this=0x7fffb2a0a4d0, receiver=0x1b03180, event=0x7fffb2a08e40) at ../../kdeui/kernel/kapplication.cpp:311
#54 0x00007feef910e61c in QCoreApplication::notifyInternal (this=0x7fffb2a0a4d0, receiver=0x1b03180, event=0x7fffb2a08e40) at kernel/qcoreapplication.cpp:876
#55 0x00007feefa10d14e in sendEvent (event=0x7fffb2a08e40, item=0x1b03190, this=<optimized out>) at graphicsview/qgraphicsscene.cpp:1213
#56 QGraphicsScenePrivate::sendEvent (this=<optimized out>, item=0x1b03190, event=0x7fffb2a08e40) at graphicsview/qgraphicsscene.cpp:1193
#57 0x00007feefa10dd5a in QGraphicsScenePrivate::sendMouseEvent (this=0x1aeb8a0, mouseEvent=0x7fffb2a08e40) at graphicsview/qgraphicsscene.cpp:1291
#58 0x00007feefa112ca4 in QGraphicsScenePrivate::mousePressEventHandler (this=0x1aeb8a0, mouseEvent=0x7fffb2a08e40) at graphicsview/qgraphicsscene.cpp:1418
#59 0x00007feefa1131ff in QGraphicsScene::mousePressEvent (this=<optimized out>, mouseEvent=0x7fffb2a08e40) at graphicsview/qgraphicsscene.cpp:4070
#60 0x00007feefa11c8cf in QGraphicsScene::event (this=0x1aeb880, event=0x7fffb2a08e40) at graphicsview/qgraphicsscene.cpp:3451
#61 0x00007feef9b02104 in notify_helper (e=0x7fffb2a08e40, receiver=0x1aeb880, this=0x1459230) at kernel/qapplication.cpp:4555
#62 QApplicationPrivate::notify_helper (this=0x1459230, receiver=0x1aeb880, e=0x7fffb2a08e40) at kernel/qapplication.cpp:4527
#63 0x00007feef9b06f83 in QApplication::notify (this=0x7fffb2a0a4d0, receiver=0x1aeb880, e=0x7fffb2a08e40) at kernel/qapplication.cpp:4416
#64 0x00007feefa834bf6 in KApplication::notify (this=0x7fffb2a0a4d0, receiver=0x1aeb880, event=0x7fffb2a08e40) at ../../kdeui/kernel/kapplication.cpp:311
#65 0x00007feef910e61c in QCoreApplication::notifyInternal (this=0x7fffb2a0a4d0, receiver=0x1aeb880, event=0x7fffb2a08e40) at kernel/qcoreapplication.cpp:876
#66 0x00007feefa13211f in QGraphicsView::mousePressEvent (this=0x1aec0f0, event=0x7fffb2a097d0) at graphicsview/qgraphicsview.cpp:3164
#67 0x00007feef9b52bf9 in QWidget::event (this=0x1aec0f0, event=0x7fffb2a097d0) at kernel/qwidget.cpp:8357
#68 0x00007feef9f10636 in QFrame::event (this=0x1aec0f0, e=0x7fffb2a097d0) at widgets/qframe.cpp:557
#69 0x00007feefa13ac5b in QGraphicsView::viewportEvent (this=0x1aec0f0, event=0x7fffb2a097d0) at graphicsview/qgraphicsview.cpp:2866
#70 0x00007feef910e7a8 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x1b02140, event=0x7fffb2a097d0) at kernel/qcoreapplication.cpp:986
#71 0x00007feef9b020cf in notify_helper (e=0x7fffb2a097d0, receiver=0x1b02140, this=0x1459230) at kernel/qapplication.cpp:4551
#72 QApplicationPrivate::notify_helper (this=0x1459230, receiver=0x1b02140, e=0x7fffb2a097d0) at kernel/qapplication.cpp:4527
#73 0x00007feef9b0792f in QApplication::notify (this=<optimized out>, receiver=0x1b02140, e=0x7fffb2a097d0) at kernel/qapplication.cpp:4098
#74 0x00007feefa834bf6 in KApplication::notify (this=0x7fffb2a0a4d0, receiver=0x1b02140, event=0x7fffb2a097d0) at ../../kdeui/kernel/kapplication.cpp:311
#75 0x00007feef910e61c in QCoreApplication::notifyInternal (this=0x7fffb2a0a4d0, receiver=0x1b02140, event=0x7fffb2a097d0) at kernel/qcoreapplication.cpp:876
#76 0x00007feef9b030d2 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#77 QApplicationPrivate::sendMouseEvent (receiver=0x1b02140, event=0x7fffb2a097d0, alienWidget=0x1b02140, nativeWidget=0x1ae6ec0, buttonDown=0x1b02140, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3166
#78 0x00007feef9b7f765 in QETWidget::translateMouseEvent (this=0x1ae6ec0, event=<optimized out>) at kernel/qapplication_x11.cpp:4616
#79 0x00007feef9b7e62a in QApplication::x11ProcessEvent (this=0x7fffb2a0a4d0, event=0x7fffb2a0a090) at kernel/qapplication_x11.cpp:3732
#80 0x00007feef9ba7602 in x11EventSourceDispatch (s=0x1460320, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#81 0x00007feef5402a5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#82 0x00007feef5403258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#83 0x00007feef5403429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#84 0x00007feef913dbbf in QEventDispatcherGlib::processEvents (this=0x14354a0, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#85 0x00007feef9ba728e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#86 0x00007feef910d402 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#87 0x00007feef910d657 in QEventLoop::exec (this=0x7fffb2a0a460, flags=...) at kernel/qeventloop.cpp:204
#88 0x00007feef91126e7 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#89 0x00007feefd067fb7 in kdemain () from /usr/lib/kde4/libkdeinit/libkdeinit4_dolphin.so
#90 0x00007feefcca030d in __libc_start_main (main=0x400640, argc=1, ubp_av=0x7fffb2a0aa28, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffb2a0aa18) at libc-start.c:226
#91 0x0000000000400671 in _start ()

Reported using DrKonqi
Comment 1 Michael Pyne 2012-05-21 03:22:30 UTC
Git commit 561e6494bdd9a02cc8feef649f7dbbd40a1456c3 by Michael Pyne.
Committed on 20/05/2012 at 00:13.
Pushed by mpyne into branch 'KDE/4.8'.

kshareddatacache: Validate cache page size.

This commit ensures that the cache page size is actually a power-of-2
and within the band of possible sizes that could possibly have been set.

If this is not the case the cache is assumed corrupted and reset.

This should help with any cache-corruption bugs caused by a wrong cache
page size (although these don't exactly make themselves obvious). More
fixes to follow...

This one /should/ fix 274252 outright and may be of interest to several
others.
Related: bug 274252, bug 249362, bug 253665, bug 243573, bug 281217, bug 293954, bug 293447, bug 270915, bug 255233
FIXED-IN:4.8.4

M  +26   -1    kdecore/util/kshareddatacache.cpp

http://commits.kde.org/kdelibs/561e6494bdd9a02cc8feef649f7dbbd40a1456c3
Comment 2 Michael Pyne 2012-05-21 03:22:30 UTC
Git commit ca2a6a59784232857a35b313adc9599efb87bd5e by Michael Pyne.
Committed on 21/05/2012 at 01:19.
Pushed by mpyne into branch 'KDE/4.8'.

kshareddatacache: Adopt KSDCCorrupted for exceptional errors.

This involves converting many present assertions (which crash no matter
what) and error-code return values (which have to be checked everywhere
the return value is used at) into using the KSDCCorrupted exception.

The nice thing about using the exception is that it can be trapped and
handled so that it does not cause an application crash.

There's still a bit more to do -- the end goal is that all accesses to
shm, no matter how minor, are vetted beforehand to ensure it won't cause
a page fault or bus violation.
Related: bug 249362, bug 253665, bug 243573, bug 281217, bug 293954, bug 293447, bug 270915, bug 255233

M  +49   -34   kdecore/util/kshareddatacache.cpp

http://commits.kde.org/kdelibs/ca2a6a59784232857a35b313adc9599efb87bd5e
Comment 3 Andrew Crouthamel 2018-10-29 22:31:04 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 4 Bug Janitor Service 2018-11-13 14:37:47 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 5 Bug Janitor Service 2018-11-29 09:39:13 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!