Summary: | [steps] Dolphin crashes after expanding a linked directory | ||
---|---|---|---|
Product: | [Unmaintained] kio | Reporter: | Martin Kho <kde-bugs> |
Component: | general | Assignee: | David Faure <faure> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | andresbajotierra, jvoege1091, peter.penz19 |
Priority: | NOR | Keywords: | testcase |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Martin Kho
2009-12-21 13:53:55 UTC
I can reproduce the crash with the described steps, here using: Qt: 4.6.0 (kde-qt master commit 747ff8e6ef6f5a1163dfa75bc9ac4755ce7083d1 Date: Tue Dec 15 11:58:13 2009 +0100) KDE Development Platform: 4.3.82 (KDE 4.3.82 (KDE 4.4 >= 20091211)) kdelibs svn rev. 1063229 / kdebase svn rev. 1063229 on ArchLinux i686 - Kernel 2.6.31.6 Backtrace: --- Application: Dolphin (dolphin), signal: Segmentation fault [KCrash Handler] #6 KDirModelNode::rowNumber (this=0x0) at /home/kde-devel/kde/src/KDE/kdelibs/kio/kio/kdirmodel.cpp:120 #7 0xb7277a23 in KDirModelPrivate::indexForNode (this=0x9c6aed0, node=0x0, rowNumber=0) at /home/kde-devel/kde/src/KDE/kdelibs/kio/kio/kdirmodel.cpp:284 #8 0xb727aeab in KDirModelPrivate::_k_slotNewItems (this=0x9c6aed0, directoryUrl=..., items=...) at /home/kde-devel/kde/src/KDE/kdelibs/kio/kio/kdirmodel.cpp:380 #9 0xb727e2c7 in KDirModel::qt_metacall (this=0x9c4cc08, _c=QMetaObject::InvokeMetaMethod, _id=26, _a=0xbf8786a4) at /home/kde-devel/kde/build/KDE/kdelibs/kio/kdirmodel.moc:88 #10 0xb773beba in DolphinModel::qt_metacall (this=0x9c4cc08, _c=QMetaObject::InvokeMetaMethod, _id=26, _a=0xbf8786a4) at /home/kde-devel/kde/build/KDE/kdebase/apps/dolphin/src/moc_dolphinmodel.cpp:68 #11 0xb687f9c4 in QMetaObject::metacall (object=0x9c4cc08, cl=QMetaObject::InvokeMetaMethod, idx=26, argv=0xbf8786a4) at kernel/qmetaobject.cpp:237 #12 0xb6893a85 in QMetaObject::activate (sender=0x9c82328, m=0x80d4a20, local_signal_index=10, argv=0xbf8786a4) at kernel/qobject.cpp:3294 #13 0xb725f969 in KDirLister::itemsAdded (this=0x9c82328, _t1=..., _t2=...) at /home/kde-devel/kde/build/KDE/kdelibs/kio/kdirlister.moc:274 #14 0xb72609b6 in KDirLister::Private::emitItems (this=0x9c2d690) at /home/kde-devel/kde/src/KDE/kdelibs/kio/kio/kdirlister.cpp:2307 #15 0xb7264185 in KDirListerCache::slotEntries (this=0x9c609d8, job=0x9f3c6d8, entries=...) at /home/kde-devel/kde/src/KDE/kdelibs/kio/kio/kdirlister.cpp:1105 #16 0xb7274cc6 in KDirListerCache::qt_metacall (this=0x9c609d8, _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0xbf878954) at /home/kde-devel/kde/build/KDE/kdelibs/kio/kdirlister_p.moc:104 #17 0xb687f9c4 in QMetaObject::metacall (object=0x9c609d8, cl=QMetaObject::InvokeMetaMethod, idx=11, argv=0xbf878954) at kernel/qmetaobject.cpp:237 #18 0xb6893a85 in QMetaObject::activate (sender=0x9f3c6d8, m=0xb741b040, local_signal_index=0, argv=0xbf878954) at kernel/qobject.cpp:3294 #19 0xb72388d9 in KIO::ListJob::entries (this=0x9f3c6d8, _t1=0x9f3c6d8, _t2=...) at /home/kde-devel/kde/build/KDE/kdelibs/kio/jobclasses.moc:835 #20 0xb72479c3 in KIO::ListJobPrivate::slotListEntries (this=0x9ed9248, list=...) at /home/kde-devel/kde/src/KDE/kdelibs/kio/kio/job.cpp:2376 #21 0xb7247d78 in KIO::ListJob::qt_metacall (this=0x9f3c6d8, _c=QMetaObject::InvokeMetaMethod, _id=46, _a=0xbf878b68) at /home/kde-devel/kde/build/KDE/kdelibs/kio/jobclasses.moc:821 #22 0xb687f9c4 in QMetaObject::metacall (object=0x9f3c6d8, cl=QMetaObject::InvokeMetaMethod, idx=46, argv=0xbf878b68) at kernel/qmetaobject.cpp:237 #23 0xb6893a85 in QMetaObject::activate (sender=0x9ba9638, m=0xb741dc64, local_signal_index=6, argv=0xbf878b68) at kernel/qobject.cpp:3294 #24 0xb730adf3 in KIO::SlaveInterface::listEntries (this=0x9ba9638, _t1=...) at /home/kde-devel/kde/build/KDE/kdelibs/kio/slaveinterface.moc:185 #25 0xb730e117 in KIO::SlaveInterface::dispatch (this=0x9ba9638, _cmd=106, rawdata=...) at /home/kde-devel/kde/src/KDE/kdelibs/kio/kio/slaveinterface.cpp:193 #26 0xb730b363 in KIO::SlaveInterface::dispatch (this=0x9ba9638) at /home/kde-devel/kde/src/KDE/kdelibs/kio/kio/slaveinterface.cpp:91 #27 0xb72fe6f0 in KIO::Slave::gotInput (this=0x9ba9638) at /home/kde-devel/kde/src/KDE/kdelibs/kio/kio/slave.cpp:322 #28 0xb72fe923 in KIO::Slave::qt_metacall (this=0x9ba9638, _c=QMetaObject::InvokeMetaMethod, _id=30, _a=0xbf878e18) at /home/kde-devel/kde/build/KDE/kdelibs/kio/slave.moc:82 #29 0xb687f9c4 in QMetaObject::metacall (object=0x9ba9638, cl=QMetaObject::InvokeMetaMethod, idx=30, argv=0xbf878e18) at kernel/qmetaobject.cpp:237 #30 0xb6893a85 in QMetaObject::activate (sender=0x9c0ccf8, m=0xb741a540, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3294 #31 0xb7209fc7 in KIO::Connection::readyRead (this=0x9c0ccf8) at /home/kde-devel/kde/build/KDE/kdelibs/kio/connection.moc:92 #32 0xb720c35e in KIO::ConnectionPrivate::dequeue (this=0x9df98e8) at /home/kde-devel/kde/src/KDE/kdelibs/kio/kio/connection.cpp:82 #33 0xb720c48e in KIO::Connection::qt_metacall (this=0x9c0ccf8, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x9d511b0) at /home/kde-devel/kde/build/KDE/kdelibs/kio/connection.moc:79 #34 0xb687f9c4 in QMetaObject::metacall (object=0x9c0ccf8, cl=QMetaObject::InvokeMetaMethod, idx=5, argv=0x9d511b0) at kernel/qmetaobject.cpp:237 #35 0xb688d93b in QMetaCallEvent::placeMetaCall (this=0x9f423e0, object=0x9c0ccf8) at kernel/qobject.cpp:574 #36 0xb688fb89 in QObject::event (this=0x9c0ccf8, e=0x9f423e0) at kernel/qobject.cpp:1260 #37 0xb5a2a834 in QApplicationPrivate::notify_helper (this=0x9aecf78, receiver=0x9c0ccf8, e=0x9f423e0) at kernel/qapplication.cpp:4242 #38 0xb5a28231 in QApplication::notify (this=0xbf87988c, receiver=0x9c0ccf8, e=0x9f423e0) at kernel/qapplication.cpp:3661 #39 0xb6f5212a in KApplication::notify (this=0xbf87988c, receiver=0x9c0ccf8, event=0x9f423e0) at /home/kde-devel/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302 #40 0xb6878411 in QCoreApplication::notifyInternal (this=0xbf87988c, receiver=0x9c0ccf8, event=0x9f423e0) at kernel/qcoreapplication.cpp:704 #41 0xb687bee9 in QCoreApplication::sendEvent (receiver=0x9c0ccf8, event=0x9f423e0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #42 0xb68794c5 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x9ab59f0) at kernel/qcoreapplication.cpp:1345 #43 0xb687917d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1238 #44 0xb68b055e in QCoreApplication::sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #45 0xb68aee4c in postEventSourceDispatch (s=0x9af7918) at kernel/qeventdispatcher_glib.cpp:276 #46 0xb515d378 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #47 0xb5160bf0 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0 #48 0xb5160d23 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #49 0xb68afe48 in QEventDispatcherGlib::processEvents (this=0x9ab5470, flags=...) at kernel/qeventdispatcher_glib.cpp:407 #50 0xb5afed50 in QGuiEventDispatcherGlib::processEvents (this=0x9ab5470, flags=...) at kernel/qguieventdispatcher_glib.cpp:202 #51 0xb687581b in QEventLoop::processEvents (this=0xbf8797dc, flags=...) at kernel/qeventloop.cpp:149 #52 0xb6875960 in QEventLoop::exec (this=0xbf8797dc, flags=...) at kernel/qeventloop.cpp:201 #53 0xb6878aed in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981 #54 0xb5a27e54 in QApplication::exec () at kernel/qapplication.cpp:3570 #55 0x0807ab85 in main (argc=5, argv=0xbf879a64) at /home/kde-devel/kde/src/KDE/kdebase/apps/dolphin/src/main.cpp:94 Thanks for the information Hi, Just before the crash I see in .xsession-errors I the following message: dolphin(2047)/kio (KDirModel): Items emitted in directory KUrl("file:///var/tmp/kdecache-martin") but that directory isn't in KDirModel! Root directory: KUrl("file:///home/martin") Maybe it's relevant or helpful. Martin Kho SVN commit 1064817 by dfaure: Fix 213799 again (kio doesn't notice changes in a symlink-to-a-directory) without introducing the 219547 crash in treeviews (due to KDirModel seeing unexpected resolved urls). The new strategy is: rather than resolve the url right away (and emit wrong items), we just store the "resolved_path -> known_path(s)" association in a QHash, and look that up when we are notified of changes. Fixed for: 4.4 RC1 BUG: 219547 CCBUG: 213799 M +52 -14 kio/kdirlister.cpp M +14 -0 kio/kdirlister_p.h M +3 -0 tests/kdirlistertest.cpp M +8 -0 tests/kdirmodeltest.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1064817 *** Bug 221353 has been marked as a duplicate of this bug. *** Fix backported for 4.3.5. Hi, Updated to KDE 4.3.95 (aka 4.4 rc2) and I can confirm that the issue is solved. Thanks for the good work! Martin Kho |