Version: (using KDE 4.0.83) Installed from: Unlisted Binary Package OS: Linux Not sure if this is dolphin or kdelibs, but when I drag a folder from a sftp kioslave to the places bar on dolphin, it crashes. Backtrace: Application: Dolphin (dolphin), signal SIGABRT KDE4Daily is generating a backtrace - please be patient :) KDESVNTRUNKr825042 ------ [Thread debugging using libthread_db enabled] [New Thread 0xb6009720 (LWP 4717)] 0xb7fdc402 in __kernel_vsyscall () #1 0xb640ccb6 in nanosleep () from /lib/tls/i686/cmov/libc.so.6 #2 0xb640cac7 in sleep () from /lib/tls/i686/cmov/libc.so.6 #3 0xb7aaab0b in KCrash::startDrKonqi (argv=0xbfe38f34, argc=17) at /home/kde4daily/src/kdelibs/kdeui/util/kcrash.cpp:361 #4 0xb7aab382 in KCrash::defaultCrashHandler (sig=6) at /home/kde4daily/src/kdelibs/kdeui/util/kcrash.cpp:286 #6 0xb7fdc402 in __kernel_vsyscall () #7 0xb63a2085 in raise () from /lib/tls/i686/cmov/libc.so.6 #8 0xb63a3a01 in abort () from /lib/tls/i686/cmov/libc.so.6 #9 0xb7e27895 in qt_message_output () from /home/kde4daily/install/qt-copy/lib/libQtCore.so.4 #10 0xb7e27919 in qFatal () from /home/kde4daily/install/qt-copy/lib/libQtCore.so.4 #11 0xb7e27d71 in qt_assert () from /home/kde4daily/install/qt-copy/lib/libQtCore.so.4 #12 0xb75776f7 in KSharedPtr<KMimeType>::operator-> (this=0xbfe3b62c) at /home/kde4daily/src/kdelibs/kdecore/util/ksharedptr.h:116 #13 0xb7596eee in KFilePlacesModel::dropMimeData (this=0x81741e8, data=0x8425950, action=Qt::MoveAction, row=-1, column=-1, parent=@0xbfe3b6c0) at /home/kde4daily/src/kdelibs/kfile/kfileplacesmodel.cpp:557 #14 0xb717ae4a in QAbstractItemView::dropEvent () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #15 0xb7199c0a in QListView::dropEvent () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #16 0xb75a038d in KFilePlacesView::dropEvent (this=0x8239790, event=0xbfe3bf7c) at /home/kde4daily/src/kdelibs/kfile/kfileplacesview.cpp:589 #17 0xb6cd2861 in QWidget::event () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #18 0xb7040048 in QFrame::event () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #19 0xb70d748d in QAbstractScrollArea::viewportEvent () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #20 0xb717a159 in QAbstractItemView::viewportEvent () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #21 0xb70d9f7a in QAbstractScrollAreaPrivate::viewportEvent () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #22 0xb70d9fac in QAbstractScrollAreaFilter::eventFilter () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #23 0xb7f24a18 in QCoreApplicationPrivate::sendThroughObjectEventFilters () from /home/kde4daily/install/qt-copy/lib/libQtCore.so.4 #24 0xb6c747f7 in QApplicationPrivate::notify_helper () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #25 0xb6c763a6 in QApplication::notify () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #26 0xb7a441e3 in KApplication::notify (this=0xbfe3e29c, receiver=0x823abf8, event=0xbfe3bf7c) at /home/kde4daily/src/kdelibs/kdeui/kernel/kapplication.cpp:311 #27 0xb7f2668a in QCoreApplication::notifyInternal () from /home/kde4daily/install/qt-copy/lib/libQtCore.so.4 #28 0xb7f2a1c9 in QCoreApplication::sendEvent () from /home/kde4daily/install/qt-copy/lib/libQtCore.so.4 #29 0xb6cfd0f9 in QX11Data::xdndHandleDrop () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #30 0xb6cfd4b3 in QDragManager::drop () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #31 0xb6d001eb in QDragManager::eventFilter () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #32 0xb7f24aef in QCoreApplicationPrivate::sendThroughApplicationEventFilters () from /home/kde4daily/install/qt-copy/lib/libQtCore.so.4 #33 0xb6c746c4 in QApplicationPrivate::notify_helper () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #34 0xb6c752f1 in QApplication::notify () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #35 0xb7a441e3 in KApplication::notify (this=0xbfe3e29c, receiver=0x8440c48, event=0xbfe3c548) at /home/kde4daily/src/kdelibs/kdeui/kernel/kapplication.cpp:311 #36 0xb7f2668a in QCoreApplication::notifyInternal () from /home/kde4daily/install/qt-copy/lib/libQtCore.so.4 #37 0xb6c80669 in QCoreApplication::sendSpontaneousEvent () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #38 0xb6c79166 in QApplicationPrivate::sendMouseEvent () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #39 0xb6cf3221 in QETWidget::translateMouseEvent () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #40 0xb6cf08be in QApplication::x11ProcessEvent () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #41 0xb6d1cefd in x11EventSourceDispatch () from /home/kde4daily/install/qt-copy/lib/libQtGui.so.4 #42 0xb62efbf8 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #43 0xb62f2e5e in __ () from /usr/lib/libglib-2.0.so.0 #44 0x080c2bf8 in __ () #45 0x00000000 in __ ()
Crash confirmed. It works with FTP but not with SFTP. @Kevin: I could fix the crash by checking whether the returned mimetype pointer is null, but the problem is that the place won't be added in this case... What should we do if KMimeType::Ptr mimetype = KMimeType::mimeType(KIO::NetAccess::mimetype(url, 0)); returns 0? Or might this be an issue in the SFTP slave and each slave must be able to return a mimetype?
> Or might this be an issue in the SFTP slave and each slave must be able to > return a mimetype? Double checked with David, it's a bug in the sftp slave.
I can still confirm it in kde 4.1 both Opensuse 11.0 and Kubuntu 8.04.1
I've the same problem on archlinux
Noting that adding a local folder to Places, then changing to sftp works ok.
*** Bug 171130 has been marked as a duplicate of this bug. ***
*** Bug 172645 has been marked as a duplicate of this bug. ***
Ah - I just did the "check for NULL mimetype" "fix" here: http://websvn.kde.org/?view=rev&revision=871810 in response to http://bugs.kde.org/show_bug.cgi?id=170927 but now that I've read the comments here, I wonder if this was the right move. In the case of BUG:170927, though, we're dealing with a URL that doesn't exist, and so presumably can't have a mimetype. Should I leave it, revert it, kDebug() a warning, ... ? :)
I'd be tempted to say "revert" since AFAIK this problem is triggered by a bug in the ioslave... OTOH the said ioslave isn't fixed yet, and we probably want to avoid a crash. So let's keep your modification in, just please add a kWarning() call before the "continue;" in the if(). Not exactly ideal since URLs won't get added in this case, and the user won't have a clear feedback, but that's still better than a crash.
SVN commit 871866 by sstjames: At least log a kWarning() when the mimetype cannot be resolved rather than failing completely silently, as requested by ervin. CCBUG:165485 M +3 -1 kfileplacesmodel.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=871866
I don't see what's the kioslave bug there. You ask for the mimetype of a url that doesn't exist, you get an empty string. What is wrong is to do KMimeType::mimeType(empty string). Well, you can do it, but you'd better check for NULL indeed ;)
In SVN trunk, I get this debug message: dolphin(7880) KFilePlacesModel::dropMimeData: URL not added to Places as mimetype could not be determined! I assume that's what was added in the aforementioned commit. Do we know why the mimetype can't be determined? Why can it be determined on FTP but not SFTP? If nobody knows, I guess I could go dig through the code and try to find out.
*** Bug 178769 has been marked as a duplicate of this bug. ***
SVN commit 907549 by dfaure: Fix implementation of mimetype() command so that it shares more code with get(), which - fixes the lack of ERR_IS_DIRECTORY handling (#165485) - actually emits the mimetype, for files ;-) Will backport for 4.2. BUG: 165485 M +11 -27 kio_sftp.cpp M +7 -6 kio_sftp.h WebSVN link: http://websvn.kde.org/?view=rev&revision=907549
Is it possible that a similar fix could handle Bug 169906? I never saw a crash, but as of r915653 it is still not possible to drag a webdavs URL to the places bar.
*** Bug 190914 has been marked as a duplicate of this bug. ***