| Summary: | [Fixed in KDESC 4.3.5 and 4.4.x] Dolphin crashes when unmounting/disconnecting a partition/drive [KUrl, KFileItem::url, ..., KFilePreviewGenerator::Private::orderItems] | ||
|---|---|---|---|
| Product: | [Applications] dolphin | Reporter: | Leo <sir_kalot> |
| Component: | general | Assignee: | Peter Penz <peter.penz19> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | al, alberich, andresbajotierra, benklop, chano.binau, dr1ver38, ea.grassete, frank78ac, gwillems1, ilpo, info, meding, piotr.luczko, rleigh, Skelaton4, sobik2, steffenkoch81, svenkettner, sylvain.garsault, walbertr |
| Priority: | NOR | ||
| Version First Reported In: | 16.12.2 | ||
| Target Milestone: | --- | ||
| Platform: | Unlisted Binaries | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
| Attachments: | Suggested patch | ||
Mh, it looks like a new case of bug 200125 on 4.3.2 :-\ Thanks (In reply to comment #1) > Mh, it looks like a new case of bug 200125 on 4.3.2 :-\ Mh, yes, it does :-( I suppose you copied or moved the archive to the current folder just before you tried to open it? Can you reproduce this crash? Thanks! *** Bug 211988 has been marked as a duplicate of this bug. *** *** Bug 213085 has been marked as a duplicate of this bug. *** From bug 213231: What I was doing when the application crashed: - 2 dolphin windows open. - copied large file (600mb) to usb-stick. - immediately after file-copy complete i 'safely removed'/unmounted the usb-stick via the default plasma-widget in the taskbar. => dolphin crashes. *** Bug 213231 has been marked as a duplicate of this bug. *** *** Bug 213166 has been marked as a duplicate of this bug. *** *** Bug 214285 has been marked as a duplicate of this bug. *** *** Bug 214941 has been marked as a duplicate of this bug. *** *** Bug 214946 has been marked as a duplicate of this bug. *** @Peter: most crashes here occurred after unmounting a USB drive. It seems that KFilePreviewGenerator::Private::killPreviewJobs() / KFilePreviewGenerator::cancelPreviews() is not called in this case? I haven't checked yet if that can be done easily. One could also fix this by checking if each file item is valid in KFilePreviewGenerator::Private::orderItems(KFileItemList& items) before calling KDirModel::indexForItem(...) and removing it from the list if that is not the case - maybe that should be done for safety in any case because you never know if a file gets deleted by an external application... *** Bug 215188 has been marked as a duplicate of this bug. *** *** Bug 215550 has been marked as a duplicate of this bug. *** Created attachment 38591 [details]
Suggested patch
Maybe one could fix it like this - if model indexes are removed from the dir model, also remove their URLs (and the URLs of all children) from m_changedItems. Unfortunately, I can't really test it because some quick attempts to reproduce the crash failed.
@Peter: Does this make sense to you?
@Frank: Thanks for the patch. Yes: this makes sense. BTW: I additionally added the isValid() check in orderItems() a few weeks ago on trunk. Please commit the patch, so that we have the chance to get feedback after beta2 :-) *** Bug 216444 has been marked as a duplicate of this bug. *** SVN commit 1055748 by freininghaus: If items are removed from the dir model, remove them also from KFilePreviewGenerator's list of recently changed items. This should fix crashes that occur when a file item becomes invalid just after it is changed, e.g., if a large file is moved to a volume which is then unmounted immediately. Fix will be in KDE 4.4 Beta 1. BUG: 211525 M +28 -1 kfilepreviewgenerator.cpp M +1 -0 kfilepreviewgenerator.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1055748 *** Bug 216524 has been marked as a duplicate of this bug. *** *** Bug 217127 has been marked as a duplicate of this bug. *** *** Bug 217269 has been marked as a duplicate of this bug. *** *** Bug 217857 has been marked as a duplicate of this bug. *** *** Bug 218345 has been marked as a duplicate of this bug. *** *** Bug 218969 has been marked as a duplicate of this bug. *** *** Bug 216943 has been marked as a duplicate of this bug. *** *** Bug 219608 has been marked as a duplicate of this bug. *** *** Bug 217712 has been marked as a duplicate of this bug. *** *** Bug 220249 has been marked as a duplicate of this bug. *** *** Bug 219904 has been marked as a duplicate of this bug. *** *** Bug 220835 has been marked as a duplicate of this bug. *** *** Bug 222307 has been marked as a duplicate of this bug. *** *** Bug 222577 has been marked as a duplicate of this bug. *** SVN commit 1075313 by freininghaus: Backport of commit 1055748 to the 4.3 branch: If items are removed from the dir model, remove them also from KFilePreviewGenerator's list of recently changed items. This should fix crashes that occur when a file item becomes invalid just after it is changed, e.g., if a large file is moved to a volume which is then unmounted immediately. Fix will be in KDE 4.3.5. CCBUG: 211525 M +27 -0 kfilepreviewgenerator.cpp M +1 -0 kfilepreviewgenerator.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1075313 Fixing title, sorry about the noise *** Bug 223239 has been marked as a duplicate of this bug. *** *** Bug 223549 has been marked as a duplicate of this bug. *** *** Bug 223551 has been marked as a duplicate of this bug. *** *** Bug 224061 has been marked as a duplicate of this bug. *** *** Bug 224669 has been marked as a duplicate of this bug. *** *** Bug 225102 has been marked as a duplicate of this bug. *** *** Bug 225335 has been marked as a duplicate of this bug. *** *** Bug 227860 has been marked as a duplicate of this bug. *** *** Bug 220169 has been marked as a duplicate of this bug. *** *** Bug 228484 has been marked as a duplicate of this bug. *** *** Bug 229773 has been marked as a duplicate of this bug. *** *** Bug 230980 has been marked as a duplicate of this bug. *** *** Bug 231228 has been marked as a duplicate of this bug. *** *** Bug 231349 has been marked as a duplicate of this bug. *** *** Bug 232074 has been marked as a duplicate of this bug. *** *** Bug 234472 has been marked as a duplicate of this bug. *** *** Bug 234493 has been marked as a duplicate of this bug. *** *** Bug 235482 has been marked as a duplicate of this bug. *** |
Application that crashed: dolphin Version of the application: 1.3 KDE Version: 4.3.2 (KDE 4.3.2) Qt Version: 4.5.2 Operating System: Linux 2.6.28-16-generic x86_64 Distribution: Ubuntu 9.04 -- Backtrace: Application: Dolphin (dolphin), signal: Segmentation fault [KCrash Handler] #5 QUrl (this=0x7fffad672a60, other=@0x10) at io/qurl.cpp:3936 #6 0x00007f8a25d72ef9 in KUrl (this=0x7fffad672a60, _u=@0x10) at /build/buildd/kde4libs-4.3.2/kdecore/io/kurl.cpp:468 #7 0x00007f8a28394470 in KFileItem::url (this=<value optimized out>) at /build/buildd/kde4libs-4.3.2/kio/kio/kfileitem.cpp:1271 #8 0x00007f8a28384b14 in KDirModel::indexForItem (this=0x13490a0, item=@0x1754b60) at /build/buildd/kde4libs-4.3.2/kio/kio/kdirmodel.cpp:919 #9 0x00007f8a2803719a in KFilePreviewGenerator::Private::orderItems (this=0x13ce9e0, items=@0x7fffad672bc0) at /build/buildd/kde4libs-4.3.2/kfile/kfilepreviewgenerator.cpp:1023 #10 0x00007f8a2803ace1 in KFilePreviewGenerator::Private::updateIcons (this=0x13ce9e0, items=@0x7fffad672c30) at /build/buildd/kde4libs-4.3.2/kfile/kfilepreviewgenerator.cpp:508 #11 0x00007f8a2803af49 in KFilePreviewGenerator::Private::delayedIconUpdate (this=0x13ce9e0) at /build/buildd/kde4libs-4.3.2/kfile/kfilepreviewgenerator.cpp:1088 #12 0x00007f8a2803c072 in KFilePreviewGenerator::qt_metacall (this=0x13ce7e0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffad672d20) at /build/buildd/kde4libs-4.3.2/obj-x86_64-linux-gnu/kfile/kfilepreviewgenerator.moc:95 #13 0x00007f8a24b63ea2 in QMetaObject::activate (sender=0x13ce9b0, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x220) at kernel/qobject.cpp:3113 #14 0x00007f8a24b5e263 in QObject::event (this=0x13ce9b0, e=0x10) at kernel/qobject.cpp:1075 #15 0x00007f8a24fe3f4d in QApplicationPrivate::notify_helper (this=0xf8e930, receiver=0x13ce9b0, e=0x7fffad6733d0) at kernel/qapplication.cpp:4056 #16 0x00007f8a24fec18a in QApplication::notify (this=0x7fffad673710, receiver=0x13ce9b0, e=0x7fffad6733d0) at kernel/qapplication.cpp:4021 #17 0x00007f8a2656eabb in KApplication::notify (this=0x7fffad673710, receiver=0x13ce9b0, event=0x7fffad6733d0) at /build/buildd/kde4libs-4.3.2/kdeui/kernel/kapplication.cpp:302 #18 0x00007f8a24b4e6ac in QCoreApplication::notifyInternal (this=0x7fffad673710, receiver=0x13ce9b0, event=0x7fffad6733d0) at kernel/qcoreapplication.cpp:610 #19 0x00007f8a24b7b516 in QTimerInfoList::activateTimers (this=0xf93e60) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213 #20 0x00007f8a24b77b2d in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:165 #21 0x00007f8a201cd20a in IA__g_main_context_dispatch (context=0xf92d20) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:1814 #22 0x00007f8a201d08e0 in g_main_context_iterate (context=0xf92d20, block=1, dispatch=1, self=<value optimized out>) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:2448 #23 0x00007f8a201d0a7c in IA__g_main_context_iteration (context=0xf92d20, may_block=1) at /build/buildd/glib2.0-2.20.1/glib/gmain.c:2511 #24 0x00007f8a24b77a8f in QEventDispatcherGlib::processEvents (this=0xf63b50, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327 #25 0x00007f8a2507cbdf in QGuiEventDispatcherGlib::processEvents (this=0x7fffad672a60, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202 #26 0x00007f8a24b4cf42 in QEventLoop::processEvents (this=<value optimized out>, flags={i = -1385744832}) at kernel/qeventloop.cpp:149 #27 0x00007f8a24b4d314 in QEventLoop::exec (this=0x7fffad673680, flags={i = -1385744752}) at kernel/qeventloop.cpp:201 #28 0x00007f8a24b4f5e4 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888 #29 0x00000000004397cd in _start () Reported using DrKonqi