Bug 188807

Summary: Konqueror crash when last save-to directory is moved/renamed externally (KDirListerCache, OrgKdeKDirNotifyInterface::FileRenamed)
Product: [Unmaintained] kio Reporter: qwerty.unavailable
Component: generalAssignee: David Faure <faure>
Status: RESOLVED FIXED    
Severity: crash CC: andresbajotierra, Lee.McCuller, milgraj, oshcha
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description qwerty.unavailable 2009-04-04 15:49:14 UTC
Version:            (using KDE 4.2.2)
OS:                Linux
Installed from:    Unspecified Linux

KDE (installed from Archlinux packages)

Hi, 

this a pretty severe bug i think. 
I do this quite often. Collecting some files from websites into a folder and then later renaming or moving this folder to another place. That's how i came across this bug.

To produce this bug:

1. Save a file with "Save Link as"
2. In the file selector create "New Folder"
3. Save the file to the newly created folder
4. Now rename the folder to a new name with e.g. dolphin
5. Konqueror crashes
Comment 1 qwerty.unavailable 2009-04-04 16:10:22 UTC
Ok,

i made a mistake in the description. Konqueror only crashes when the file is renamed with Dolphin. 
When the file is being moved or deleted Konqueror does not crash.
Comment 2 Dario Andres 2009-04-04 16:53:17 UTC
Here using:

Qt: 4.5.0 + qt-copy-patches-936035
KDE: 4.2.68 (KDE 4.2.68 (KDE 4.3 >= 20090327))
kdelibs svn rev. 949044 / kdebase svn rev. 946160
on ArchLinux i686 - Kernel 2.6.28.8

I can reproduce the bug.
Backtrace:

Application: Konqueror (konqueror), signal Segmentation fault

[KCrash Handler]
#6  KFileItem::isLocalFile (this=0xa528010) at /home/kde-devel/kde/src/KDE/kdelibs/kio/kio/kfileitem.cpp:1279
#7  0xb7d30e39 in KDirListerCache::qt_metacall (this=0xa528010, _c=3215419348, _id=3, _a=0x0) at /home/kde-devel/kde/build/KDE/kdelibs/kio/kdirlister_p.moc:94
#8  0xb740c4c1 in QMetaObject::activate (sender=0xa5276c8, from_signal_index=<value optimized out>, to_signal_index=5, argv=0xbfa76908) at kernel/qobject.cpp:3066
#9  0xb740cad2 in QMetaObject::activate (sender=0xa5276c8, m=0xb7eb3d54, local_signal_index=0, argv=0xbfa76908) at kernel/qobject.cpp:3143
#10 0xb7d3bde9 in OrgKdeKDirNotifyInterface::FileRenamed (this=0xa5276c8, _t1=@0xa3e4680, _t2=@0xa67ac10) at /home/kde-devel/kde/build/KDE/kdelibs/kio/kdirnotify.moc:97
#11 0xb7d3bf11 in OrgKdeKDirNotifyInterface::qt_metacall (this=0xa5276c8, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbfa76a24) at /home/kde-devel/kde/build/KDE/kdelibs/kio/kdirnotify.moc:79
#12 0xb74c94a7 in QDBusConnectionPrivate::deliverCall (this=0x9fa2d88, object=0xa5276c8, msg=@0xa5e7f0c, metaTypes=@0xa5e7f10, slotIdx=5) at qdbusintegrator.cpp:891
#13 0xb74d12d7 in QDBusCallDeliveryEvent::placeMetaCall (this=0xa5e7ee0, object=0xa5276c8) at qdbusintegrator_p.h:101
#14 0xb74070c0 in QObject::event (this=0xa5276c8, e=0xa5e7ee0) at kernel/qobject.cpp:1115
#15 0xb6b2300c in QApplicationPrivate::notify_helper (this=0x9f33558, receiver=0xa5276c8, e=0xa5e7ee0) at kernel/qapplication.cpp:4084
#16 0xb6b2bbbf in QApplication::notify (this=0xbfa77368, receiver=0xa5276c8, e=0xa5e7ee0) at kernel/qapplication.cpp:3631
#17 0xb794d1fd in KApplication::notify (this=0xbfa77368, receiver=0xa5276c8, event=0xa5e7ee0) at /home/kde-devel/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:307
#18 0xb73f611b in QCoreApplication::notifyInternal (this=0xbfa77368, receiver=0xa5276c8, event=0xa5e7ee0) at kernel/qcoreapplication.cpp:598
#19 0xb73f9ad3 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x9f01c60) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#20 0xb73f9cdd in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1132
#21 0xb7420d6f in postEventSourceDispatch (s=0x9f35198) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#22 0xb62a05e8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#23 0xb62a3b4b in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#24 0xb62a3cc8 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#25 0xb7420a58 in QEventDispatcherGlib::processEvents (this=0x9f33538, flags={i = -1079545688}) at kernel/qeventdispatcher_glib.cpp:323
#26 0xb6bbb535 in QGuiEventDispatcherGlib::processEvents (this=0x9f33538, flags={i = -1079545640}) at kernel/qguieventdispatcher_glib.cpp:202
#27 0xb73f4b5a in QEventLoop::processEvents (this=0xbfa77140, flags={i = -1079545576}) at kernel/qeventloop.cpp:149
#28 0xb73f4d1a in QEventLoop::exec (this=0xbfa77140, flags={i = -1079545528}) at kernel/qeventloop.cpp:196
#29 0xb73f9da1 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:880
#30 0xb6b22d37 in QApplication::exec () at kernel/qapplication.cpp:3553
#31 0xb80430af in kdemain (argc=1, argv=0xbfa776e4) at /home/kde-devel/kde/src/KDE/kdebase/apps/konqueror/src/konqmain.cpp:257
#32 0x08048732 in main (argc=0, argv=0x0) at /home/kde-devel/kde/build/KDE/kdebase/apps/konqueror/src/konqueror_dummy.cpp:3


Reassigning to KIO

Thanks for reporting
Comment 3 Dario Andres 2009-04-04 16:55:47 UTC
This may be related to bug 173725
Comment 4 Dario Andres 2009-04-05 17:32:49 UTC
*** Bug 188860 has been marked as a duplicate of this bug. ***
Comment 5 Dario Andres 2009-04-05 17:34:54 UTC
Bug 188860 is happening on Dolphin, and bug 188832 is happening on Gwenview (not sure about this because we don't have the original backtrace)
Comment 6 David Faure 2009-04-21 21:59:33 UTC
SVN commit 957319 by dfaure:

Fix crash when renaming a directory that is only in the cache and not held by any dirlister.
BUG: 188807


 M  +15 -13    kio/kdirlister.cpp  
 M  +1 -0      tests/kdirlistertest.cpp  
 M  +211 -178  tests/kdirmodeltest.cpp  
 M  +2 -1      tests/kdirmodeltest.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=957319
Comment 7 Aurelien Gateau 2009-05-11 22:16:25 UTC
*** Bug 188832 has been marked as a duplicate of this bug. ***
Comment 8 A. Spehr 2009-05-26 09:10:34 UTC
*** Bug 186068 has been marked as a duplicate of this bug. ***