Bug 169436 - crash in KIO-Handling when extra parameter to url given
Summary: crash in KIO-Handling when extra parameter to url given
Status: RESOLVED FIXED
Alias: None
Product: kio
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: David Faure
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-19 15:24 UTC by Rajko Albrecht
Modified: 2008-09-29 20:31 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rajko Albrecht 2008-08-19 15:24:26 UTC
Version:           1.1 (using KDE 4.1.0)
OS:                Linux
Installed from:    Fedora RPMs

Dolphin crashes reproducable when trying open a KIO url like svn+xxxx (from kdesdk) or ksvn+xxx (from kdesvn kde4 port) where xxx stands for "ssh" "http" and so on. 

when running 

kfmclient exec ksvn+http://www.alwins-world.de/repos/kdesvn/trunk

it works fine.

kfmclient exec ksvn+http://www.alwins-world.de/repos/kdesvn/trunk?rev=100 does NOT work - it simply crash. I turned on logging in kio-modul of kdesvn and saw, that it has send filelist to caller and finished its job, so it crashes afterwards. See backtrace created. 

Anwendung: Dolphin (dolphin), Signal SIGSEGV
[Thread debugging using libthread_db enabled]
[New Thread 0x7f1bc1719800 (LWP 10240)]
[KCrash handler]
#5  KDirModelPrivate::_k_slotNewItems (this=0x119bf40, items=@0xf9df70)
    at /usr/include/QtCore/qlist.h:89
#6  0x0000003422f0e526 in KDirModel::qt_metacall (this=0x110ef10, 
    _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, 
    _a=0x7fffc97690a0)
    at /usr/src/debug/kdelibs-4.1.0/x86_64-redhat-linux-gnu/kio/kdirmodel.moc:76
#7  0x0000003546b567b4 in QMetaObject::activate ()
   from /usr/lib64/libQtCore.so.4
#8  0x0000003422ef9765 in KDirLister::newItems (this=0x110ef10, 
    _t1=<value optimized out>)
    at /usr/src/debug/kdelibs-4.1.0/x86_64-redhat-linux-gnu/kio/kdirlister.moc:253
#9  0x0000003422efa15b in KDirLister::Private::emitItems (this=0x110ee50)
    at /usr/src/debug/kdelibs-4.1.0/kio/kio/kdirlister.cpp:2202
#10 0x0000003422efbcc6 in KDirListerCache::slotEntries (
    this=<value optimized out>, job=<value optimized out>, 
    entries=<value optimized out>)
    at /usr/src/debug/kdelibs-4.1.0/kio/kio/kdirlister.cpp:977
#11 0x0000003422f06e2b in KDirListerCache::qt_metacall (this=0xe01c40, 
    _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, 
    _a=0x7fffc97693c0)
    at /usr/src/debug/kdelibs-4.1.0/x86_64-redhat-linux-gnu/kio/kdirlister_p.moc:97
#12 0x0000003546b567b4 in QMetaObject::activate ()
   from /usr/lib64/libQtCore.so.4
#13 0x0000003422ed72a4 in KIO::ListJob::entries (this=0x110ef10, 
    _t1=0x118c570, _t2=<value optimized out>)
    at /usr/src/debug/kdelibs-4.1.0/x86_64-redhat-linux-gnu/kio/jobclasses.moc:763
#14 0x0000003422ee4a45 in KIO::ListJobPrivate::slotListEntries (
    this=0x136d140, list=@0x7fffc9769920)
    at /usr/src/debug/kdelibs-4.1.0/kio/kio/job.cpp:2318
#15 0x0000003422ee4b36 in KIO::ListJob::qt_metacall (this=0x118c570, 
    _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, 
    _a=0x7fffc9769780)
    at /usr/src/debug/kdelibs-4.1.0/x86_64-redhat-linux-gnu/kio/jobclasses.moc:750
#16 0x0000003546b567b4 in QMetaObject::activate ()
   from /usr/lib64/libQtCore.so.4
#17 0x0000003422f7f345 in KIO::SlaveInterface::listEntries (this=0x110ef10, 
    _t1=<value optimized out>)
    at /usr/src/debug/kdelibs-4.1.0/x86_64-redhat-linux-gnu/kio/slaveinterface.moc:175
#18 0x0000003422f81aaf in KIO::SlaveInterface::dispatch (this=0x1334830, 
    _cmd=<value optimized out>, rawdata=@0x12)
    at /usr/src/debug/kdelibs-4.1.0/kio/kio/slaveinterface.cpp:195
#19 0x0000003422f7fa52 in KIO::SlaveInterface::dispatch (this=0x1334830)
    at /usr/src/debug/kdelibs-4.1.0/kio/kio/slaveinterface.cpp:90
#20 0x0000003422f732ae in KIO::Slave::gotInput (this=0x1334830)
    at /usr/src/debug/kdelibs-4.1.0/kio/kio/slave.cpp:319
#21 0x0000003422f735b8 in KIO::Slave::qt_metacall (this=0x1334830, 
    _c=QMetaObject::InvokeMetaMethod, _id=18, _a=0x7fffc9769ac0)
    at /usr/src/debug/kdelibs-4.1.0/x86_64-redhat-linux-gnu/kio/slave.moc:75
#22 0x0000003546b567b4 in QMetaObject::activate ()
   from /usr/lib64/libQtCore.so.4
#23 0x0000003422eb1cf1 in KIO::ConnectionPrivate::dequeue (this=0x11893c0)
    at /usr/src/debug/kdelibs-4.1.0/kio/kio/connection.cpp:82
#24 0x0000003422eb239a in KIO::Connection::qt_metacall (this=0x13862c0, 
    _c=QMetaObject::InvokeMetaMethod, _id=18, _a=0x1092870)
    at /usr/src/debug/kdelibs-4.1.0/x86_64-redhat-linux-gnu/kio/connection.moc:72
#25 0x0000003546b5145d in QObject::event () from /usr/lib64/libQtCore.so.4
#26 0x000000354717fd1d in QApplicationPrivate::notify_helper ()
   from /usr/lib64/libQtGui.so.4
#27 0x0000003547187a1a in QApplication::notify ()
   from /usr/lib64/libQtGui.so.4
#28 0x000000362b7fad6b in ?? () from /usr/lib64/libkdeui.so.5
#29 0x0000000000000003 in ?? ()
#30 0x0000003546a511f4 in QInternal::activateCallbacks ()
   from /usr/lib64/libQtCore.so.4
#31 0x0000003546b423e1 in QCoreApplication::notifyInternal ()
   from /usr/lib64/libQtCore.so.4
#32 0x0000003546b4308a in QCoreApplicationPrivate::sendPostedEvents ()
   from /usr/lib64/libQtCore.so.4
#33 0x0000003546b6abf3 in ?? () from /usr/lib64/libQtCore.so.4
#34 0x000000381fc374db in g_main_context_dispatch ()
   from /lib64/libglib-2.0.so.0
#35 0x000000381fc3acbd in ?? () from /lib64/libglib-2.0.so.0
#36 0x000000381fc3ae7b in g_main_context_iteration ()
   from /lib64/libglib-2.0.so.0
#37 0x0000003546b6a87f in QEventDispatcherGlib::processEvents ()
   from /usr/lib64/libQtCore.so.4
#38 0x000000354721000f in ?? () from /usr/lib64/libQtGui.so.4
#39 0x0000003546b40cf2 in QEventLoop::processEvents ()
   from /usr/lib64/libQtCore.so.4
#40 0x0000003546b40e7d in QEventLoop::exec () from /usr/lib64/libQtCore.so.4
#41 0x0000003546b4334d in QCoreApplication::exec ()
   from /usr/lib64/libQtCore.so.4
#42 0x000000000043e48d in main (argc=6, argv=0x7fffc976aa18)
    at /usr/src/debug/kdebase-4.1.0/apps/dolphin/src/main.cpp:94
Comment 1 Rajko Albrecht 2008-08-19 15:25:30 UTC
Ah, forgot:

Fedora 9, updates-testing packages.
Comment 2 Oliver Putz 2008-09-02 12:41:48 UTC
Confirming on KDE-4.1.0 with the backtrace below.

Steps to reproduce:

1) Open dolphin and enter svn+http://www.alwins-world.de/repos/kdesvn/trunk?rev=100 into the address bar


Backtrace:

Application: Dolphin (dolphin), signal SIGABRT
[Thread debugging using libthread_db enabled]
[New Thread 0xb60ba700 (LWP 19565)]
[KCrash handler]
#6  0xffffe424 in __kernel_vsyscall ()
#7  0xb63a9690 in *__GI_raise (sig=6)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#8  0xb63aaed8 in *__GI_abort () at abort.c:88
#9  0xb742b097 in qt_message_output (msgType=QtFatalMsg, 
    buf=0xbf8950fc "ASSERT: \"result.second\" in file /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/kdirmodel.cpp, line 308")
    at global/qglobal.cpp:2058
#10 0xb742b14f in qFatal (msg=0xb757eab4 "ASSERT: \"%s\" in file %s, line %d")
    at global/qglobal.cpp:2260
#11 0xb742b5cb in qt_assert (assertion=0xb7e51828 "result.second", 
    file=0xb7e514a8 "/var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/kdirmodel.cpp", line=308) at global/qglobal.cpp:1828
#12 0xb7d41d0c in KDirModelPrivate::_k_slotNewItems (this=0x8455ed8, 
    items=@0x847e3c8)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/kdirmodel.cpp:308
#13 0xb7d4245c in KDirModel::qt_metacall (this=0x8455e58, 
    _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbf89733c)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kio/kdirmodel.moc:76
#14 0xb753e530 in QMetaObject::activate (sender=0x8455d78, 
    from_signal_index=<value optimized out>, to_signal_index=13, 
    argv=<value optimized out>) at kernel/qobject.cpp:3001
#15 0xb753ec92 in QMetaObject::activate (sender=0x8455d78, m=0x809f1f0, 
    local_signal_index=9, argv=0xbf89733c) at kernel/qobject.cpp:3071
#16 0xb7d2b90f in KDirLister::newItems (this=0x8455d78, _t1=@0x847e3c8)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kio/kdirlister.moc:253
#17 0xb7d2beac in KDirLister::Private::emitItems (this=0x8455d98)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/kdirlister.cpp:2202
#18 0xb7d308a4 in KDirListerCache::slotEntries (this=0x8178b20, 
    job=0x845ffb0, entries=@0xbf897814)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/kdirlister.cpp:977
#19 0xb7d36094 in KDirListerCache::qt_metacall (this=0x8178b20, 
    _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0xbf897588)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kio/kdirlister_p.moc:97
#20 0xb753e530 in QMetaObject::activate (sender=0x845ffb0, 
    from_signal_index=<value optimized out>, to_signal_index=40, 
    argv=<value optimized out>) at kernel/qobject.cpp:3001
#21 0xb753ec92 in QMetaObject::activate (sender=0x845ffb0, m=0xb7e70560, 
    local_signal_index=0, argv=0xbf897588) at kernel/qobject.cpp:3071
#22 0xb7d0befd in KIO::ListJob::entries (this=0x845ffb0, _t1=0x845ffb0, 
    _t2=@0xbf897814)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kio/jobclasses.moc:763
#23 0xb7d14b0e in KIO::ListJobPrivate::slotListEntries (this=0x82d8468, 
    list=@0xbf897814)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/job.cpp:2318
#24 0xb7d14e00 in KIO::ListJob::qt_metacall (this=0x845ffb0, 
    _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0xbf89771c)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kio/jobclasses.moc:750
#25 0xb753e530 in QMetaObject::activate (sender=0x82d8f68, 
    from_signal_index=<value optimized out>, to_signal_index=10, 
    argv=<value optimized out>) at kernel/qobject.cpp:3001
#26 0xb753ec92 in QMetaObject::activate (sender=0x82d8f68, m=0xb7e72f44, 
    local_signal_index=6, argv=0xbf89771c) at kernel/qobject.cpp:3071
#27 0xb7dae95f in KIO::SlaveInterface::listEntries (this=0x82d8f68, 
    _t1=@0xbf897814)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kio/slaveinterface.moc:175
#28 0xb7db059b in KIO::SlaveInterface::dispatch (this=0x82d8f68, _cmd=106, 
    rawdata=@0xbf897874)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/slaveinterface.cpp:195
#29 0xb7db0f9b in KIO::SlaveInterface::dispatch (this=0x82d8f68)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/slaveinterface.cpp:90
#30 0xb7da4115 in KIO::Slave::gotInput (this=0x82d8f68)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/slave.cpp:319
#31 0xb7da5585 in KIO::Slave::qt_metacall (this=0x82d8f68, 
    _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbf897978)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kio/slave.moc:75
#32 0xb753e530 in QMetaObject::activate (sender=0x8461f98, 
    from_signal_index=<value optimized out>, to_signal_index=4, 
    argv=<value optimized out>) at kernel/qobject.cpp:3001
#33 0xb753ec92 in QMetaObject::activate (sender=0x8461f98, m=0xb7e6fba0, 
    local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3071
#34 0xb7ce4b6d in KIO::Connection::readyRead (this=0x8461f98)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kio/connection.moc:84
#35 0xb7ce581d in KIO::ConnectionPrivate::dequeue (this=0x8406270)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kio/kio/connection.cpp:82
#36 0xb7ce6595 in KIO::Connection::qt_metacall (this=0x8461f98, 
    _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x846a240)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs_build/kio/connection.moc:72
#37 0xb7538249 in QMetaCallEvent::placeMetaCall (this=0x840ced0, 
    object=0x8461f98) at kernel/qobject.cpp:535
#38 0xb753a309 in QObject::event (this=0x8461f98, e=0x840ced0)
    at kernel/qobject.cpp:1131
#39 0xb68398a4 in QApplicationPrivate::notify_helper (this=0x80affa0, 
    receiver=0x8461f98, e=0x840ced0) at kernel/qapplication.cpp:3772
#40 0xb683da75 in QApplication::notify (this=0xbf89812c, receiver=0x8461f98, 
    e=0x840ced0) at kernel/qapplication.cpp:3366
#41 0xb7afa6c3 in KApplication::notify (this=0xbf89812c, receiver=0x8461f98, 
    event=0x840ced0)
    at /var/tmp/portage/kde-base/kdelibs-4.1.0/work/kdelibs-4.1.0/kdeui/kernel/kapplication.cpp:311
#42 0xb7528d59 in QCoreApplication::notifyInternal (this=0xbf89812c, 
    receiver=0x8461f98, event=0x840ced0) at kernel/qcoreapplication.cpp:587
#43 0xb752a006 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, 
    event_type=0, data=0x80a0808) at kernel/qcoreapplication.h:215
#44 0xb752a35d in QCoreApplication::sendPostedEvents (receiver=0x0, 
    event_type=0) at kernel/qcoreapplication.cpp:1091
#45 0xb68c9d7e in QEventDispatcherX11::processEvents (this=0x80afcc8, 
    flags=@0xbf898048)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#46 0xb75280d3 in QEventLoop::processEvents (this=0xbf8980c0, 
    flags=@0xbf898088) at kernel/qeventloop.cpp:149
#47 0xb7528246 in QEventLoop::exec (this=0xbf8980c0, flags=@0xbf8980c8)
    at kernel/qeventloop.cpp:200
#48 0xb752a401 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845
#49 0xb683923f in QApplication::exec () at kernel/qapplication.cpp:3304
#50 0x0807f238 in main (argc=6, argv=0xbf8982e4)
    at /var/tmp/portage/kde-base/dolphin-4.1.0/work/dolphin-4.1.0/apps/dolphin/src/main.cpp:94
#0  0xffffe424 in __kernel_vsyscall ()
Comment 3 Frank Reininghaus 2008-09-16 19:28:15 UTC
I can't reproduce this (I get a "URL cannot be listed" error), but the backtrace looks just like the one I get for bug 160057, it's probably a duplicate.
Comment 4 Rajko Albrecht 2008-09-16 20:13:10 UTC
Hm. 
I reproduced it with kubuntu 8.04 and kde4 packages there, too. 

And can not listed ... I tried url above again with kde3 (konqueror) - works perfekt, ?rev=xxx let change revision to browse so it should work. If it is a duplicate I can not say - but looks similar. 

I'd checked the subversion kio module again - it gives a correct listing. When it works without ?rev=xxx than with ?rev=HEAD it should work, too, cause it sends exact same content but crashes (or in your case lists nothing)

Comment 5 David Faure 2008-09-29 20:31:48 UTC
This was because of KDirModel being confused by the queries (child items didn't look like children of their parent URL). Fixed in KDirModel by removing queries and fragments before comparing urls to find a node by its URL.

Trunk r865989+865992, branch r865995.