Bug 170927

Summary: Dolphin crashes when add invalid folders to the 'Places' panel
Product: [Applications] dolphin Reporter: Mike <mike>
Component: generalAssignee: Peter Penz <peter.penz19>
Status: RESOLVED FIXED    
Severity: crash CC: dc.kastel, frank78ac
Priority: NOR    
Version: 16.12.2   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Mike 2008-09-12 16:20:29 UTC
Version:            (using Devel)
OS:                Linux
Installed from:    Compiled sources

In the location bar, type in an invalid or disconnected network drive (I tried with non-existent local directories and webdav mounts which were not available).  Then drag it to the Places panel, it crashes.

I wanted to add a webdav folder which is not switched on at the moment.

----------

Application: Dolphin (dolphin), signal SIGABRT
Using host libthread_db library "/lib/libthread_db.so.1".
0x00007f4cd70227e1 in nanosleep () from /lib/libc.so.6
Current language:  auto; currently c

Thread 1 (Thread 0x7f4cda5ac700 (LWP 27279)):
[KCrash Handler]
#5  0x00007f4cd6fc03c5 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#6  0x00007f4cd6fc173e in *__GI_abort () at abort.c:88
#7  0x00007f4cd7f0cf74 in qt_message_output (msgType=QtFatalMsg, buf=<value optimized out>) at global/qglobal.cpp:2101
#8  0x00007f4cd7f0d07b in qFatal (msg=<value optimized out>) at global/qglobal.cpp:2302
#9  0x00007f4cd8c5d032 in KSharedPtr<KMimeType>::operator-> (this=0x7fffe2701d50) at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kdecore/util/ksharedptr.h:116
#10 0x00007f4cd8c73c43 in KFilePlacesModel::dropMimeData (this=0x765eb0, data=<value optimized out>, action=<value optimized out>, row=<value optimized out>, column=<value optimized out>, 
    parent=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kfile/kfileplacesmodel.cpp:558
#11 0x00007f4cd94412cf in QAbstractItemView::dropEvent (this=0x8b0b30, event=0x7fffe2702a40) at itemviews/qabstractitemview.cpp:1812
#12 0x00007f4cd8c7aa94 in KFilePlacesView::dropEvent (this=0x8b0b30, event=0x7fffe2702a40) at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kfile/kfileplacesview.cpp:750
#13 0x00007f4cd907e859 in QWidget::event (this=0x8b0b30, event=0x7fffe2702a40) at kernel/qwidget.cpp:7225
#14 0x00007f4cd935186c in QFrame::event (this=0x8b0b30, e=0x7fffe2702a40) at widgets/qframe.cpp:657
#15 0x00007f4cd93c2bc5 in QAbstractScrollArea::viewportEvent (this=0x6a8f, e=0x6a8f) at widgets/qabstractscrollarea.cpp:947
#16 0x00007f4cd9446b8a in QAbstractItemView::viewportEvent (this=0x8b0b30, event=0x7fffe2702a40) at itemviews/qabstractitemview.cpp:1435
#17 0x00007f4cd93c4bd0 in QAbstractScrollAreaFilter::eventFilter (this=<value optimized out>, o=<value optimized out>, e=0x6) at widgets/qabstractscrollarea_p.h:102
#18 0x00007f4cd7fdd397 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x8b08e0, event=0x7fffe2702a40) at kernel/qcoreapplication.cpp:700
#19 0x00007f4cd903ae99 in QApplicationPrivate::notify_helper (this=0x687270, receiver=0x8b08e0, e=0x7fffe2702a40) at kernel/qapplication.cpp:3798
#20 0x00007f4cd9040c10 in QApplication::notify (this=0x8b08e0, receiver=0x8b08e0, e=0x7fffe2702a40) at kernel/qapplication.cpp:3759
#21 0x00007f4cda12f263 in KApplication::notify (this=0x7fffe27050e0, receiver=0x8b08e0, event=0x7fffe2702a40)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kdeui/kernel/kapplication.cpp:311
#22 0x00007f4cd7fdcd89 in QCoreApplication::notifyInternal (this=0x7fffe27050e0, receiver=0x8b08e0, event=0x7fffe2702a40) at kernel/qcoreapplication.cpp:589
#23 0x00007f4cd909cf62 in QX11Data::xdndHandleDrop (this=<value optimized out>, xe=<value optimized out>, passive=<value optimized out>)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#24 0x00007f4cd909d255 in QDragManager::drop (this=0xc07030) at kernel/qdnd_x11.cpp:1690
#25 0x00007f4cd909f585 in QDragManager::eventFilter (this=0xc07030, o=0xa743c0, e=0x7fffe2703330) at kernel/qdnd_x11.cpp:1290
#26 0x00007f4cd7fdccb0 in QCoreApplicationPrivate::sendThroughApplicationEventFilters (this=0x687270, receiver=0xa743c0, event=0x7fffe2703330) at kernel/qcoreapplication.cpp:682
#27 0x00007f4cd903ae48 in QApplicationPrivate::notify_helper (this=0x6a8f, receiver=0x6a8f, e=0x6) at kernel/qapplication.cpp:3777
#28 0x00007f4cd90408e8 in QApplication::notify (this=<value optimized out>, receiver=0xa743c0, e=0x7fffe2703330) at kernel/qapplication.cpp:3529
#29 0x00007f4cda12f263 in KApplication::notify (this=0x7fffe27050e0, receiver=0xa743c0, event=0x7fffe2703330)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kdeui/kernel/kapplication.cpp:311
#30 0x00007f4cd7fdcd89 in QCoreApplication::notifyInternal (this=0x7fffe27050e0, receiver=0xa743c0, event=0x7fffe2703330) at kernel/qcoreapplication.cpp:589
#31 0x00007f4cd90422a9 in QApplicationPrivate::sendMouseEvent (receiver=0xa743c0, event=0x7fffe2703330, alienWidget=0x0, nativeWidget=0xa743c0, buttonDown=<value optimized out>, 
    lastMouseReceiver=@0x7f4cd98de6f0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#32 0x00007f4cd90928b4 in QETWidget::translateMouseEvent (this=0xa743c0, event=<value optimized out>) at kernel/qapplication_x11.cpp:4048
#33 0x00007f4cd90914d4 in QApplication::x11ProcessEvent (this=0x7fffe27050e0, event=0x7fffe27039c0) at kernel/qapplication_x11.cpp:3166
#34 0x00007f4cd90b345b in QEventDispatcherX11::processEvents (this=0x6871c0, flags=@0x7fffe2703b90) at kernel/qeventdispatcher_x11.cpp:134
#35 0x00007f4cd7fdc22b in QEventLoop::processEvents (this=<value optimized out>, flags=@0x7fffe2703bd0) at kernel/qeventloop.cpp:149
#36 0x00007f4cd7fdc38c in QEventLoop::exec (this=0xb3fcf0, flags=@0x7fffe2703d20) at kernel/qeventloop.cpp:196
#37 0x00007f4cd909f2a1 in QDragManager::drag (this=0xc07030, o=<value optimized out>) at kernel/qdnd_x11.cpp:1950
#38 0x00007f4cd904a35a in QDrag::exec (this=0xb85d90, supportedActions=@0x7fffe2703db0, defaultDropAction=Qt::IgnoreAction) at kernel/qdrag.cpp:281
#39 0x00007f4cd904a3d7 in QDrag::exec (this=0x6a8f, supportedActions=<value optimized out>) at kernel/qdrag.cpp:240
#40 0x00007f4cd6cd3541 in KUrlComboBox::mouseMoveEvent (this=0x83aff0, event=0x7fffe2704770) at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kio/kfile/kurlcombobox.cpp:405
#41 0x00007f4cd907e9d8 in QWidget::event (this=0x83aff0, event=0x7fffe2704770) at kernel/qwidget.cpp:7032
#42 0x00007f4cd932d24d in QComboBox::event (this=0x83aff0, event=0x7fffe2704770) at widgets/qcombobox.cpp:2616
#43 0x00007f4cd903aeba in QApplicationPrivate::notify_helper (this=0x687270, receiver=0x83aff0, e=0x7fffe2704770) at kernel/qapplication.cpp:3802
#44 0x00007f4cd90408e8 in QApplication::notify (this=<value optimized out>, receiver=0x83aff0, e=0x7fffe2704770) at kernel/qapplication.cpp:3529
#45 0x00007f4cda12f263 in KApplication::notify (this=0x7fffe27050e0, receiver=0x83aff0, event=0x7fffe2704770)
    at /var/tmp/portage/kde-base/kdelibs-9999.4/work/kdelibs-9999.4/kdeui/kernel/kapplication.cpp:311
#46 0x00007f4cd7fdcd89 in QCoreApplication::notifyInternal (this=0x7fffe27050e0, receiver=0x83aff0, event=0x7fffe2704770) at kernel/qcoreapplication.cpp:589
#47 0x00007f4cd90422a9 in QApplicationPrivate::sendMouseEvent (receiver=0x83aff0, event=0x7fffe2704770, alienWidget=0x83aff0, nativeWidget=0x71c440, buttonDown=<value optimized out>, 
    lastMouseReceiver=@0x7f4cd98de6f0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#48 0x00007f4cd90928b4 in QETWidget::translateMouseEvent (this=0x71c440, event=<value optimized out>) at kernel/qapplication_x11.cpp:4048
#49 0x00007f4cd90914d4 in QApplication::x11ProcessEvent (this=0x7fffe27050e0, event=0x7fffe2704e00) at kernel/qapplication_x11.cpp:3166
#50 0x00007f4cd90b345b in QEventDispatcherX11::processEvents (this=0x6871c0, flags=@0x7fffe2704fd0) at kernel/qeventdispatcher_x11.cpp:134
#51 0x00007f4cd7fdc22b in QEventLoop::processEvents (this=<value optimized out>, flags=@0x7fffe2705010) at kernel/qeventloop.cpp:149
#52 0x00007f4cd7fdc38c in QEventLoop::exec (this=0x7fffe2705050, flags=@0x7fffe2705060) at kernel/qeventloop.cpp:196
#53 0x00007f4cd7fde128 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:851
#54 0x0000000000438a99 in main (argc=6, argv=0x7fffe27055d8) at /var/tmp/portage/kde-base/kdebase-9999.4/work/kdebase-9999.4/apps/dolphin/src/main.cpp:94
#55 0x00007f4cd6fadb74 in __libc_start_main (main=0x4381f4 <main>, argc=6, ubp_av=0x7fffe27055d8, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, 
    stack_end=0x7fffe27055c8) at libc-start.c:229
#56 0x0000000000421589 in _start ()
Comment 1 Mike 2008-09-12 16:21:58 UTC
P.S.  I think there is also a crash if you access a webdav, then shutdown and restart with the webdav server off.  I think it tries to restore it and crashes as well.  Not sure if this is related or not.
Comment 2 Frank Reininghaus 2008-09-13 23:08:49 UTC
Thanks for the bug report, I can confirm this in 4.1.1 and trunk rev. 860471. Dragging a non-existing local folder to "Places" crashes Dolphin. The failed assertion

ASSERT: "d" in file /home/kde-devel/kde/src/KDE/kdelibs/kdecore/util/ksharedptr.h, line 116

is reported in Konsole. This might be related to bug 168485, bug 165485.
Comment 3 Simon St James 2008-10-15 19:55:45 UTC
SVN commit 871810 by sstjames:

- Mimetype will be NULL on invalid URL.

CCBUG:170927

 M  +3 -0      kfileplacesmodel.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=871810
Comment 4 Peter Penz 2008-12-04 07:29:49 UTC
*** Bug 176826 has been marked as a duplicate of this bug. ***