Bug 173238 - Crash when expanding smb tree
Summary: Crash when expanding smb tree
Status: RESOLVED FIXED
Alias: None
Product: dolphin
Classification: Applications
Component: general (show other bugs)
Version: 16.12.2
Platform: openSUSE Unspecified
: NOR crash
Target Milestone: ---
Assignee: Peter Penz
URL:
Keywords:
: 174560 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-10-21 15:40 UTC by Tristan Miller
Modified: 2008-12-02 18:32 UTC (History)
3 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 Tristan Miller 2008-10-21 15:40:01 UTC
Version:            (using KDE 4.1.2)
Installed from:    SuSE RPMs

Reproducibility: Always

Steps to reproduce:

1. Enter 'smb:///' in location bar
2. Wait for domains to appear
3. Click on the + widgets next to the domains

Observed behaviour:

4. SIGSEGV crash

Expected behaviour:

4. Tree should have expanded showing available machines/shares on that domain

Backtrace:

Application: Dolphin (dolphin), signal SIGSEGV
[?1034h(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread 0x7ff87a6e5700 (LWP 17899)]
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
(no debugging symbols found)
[KCrash handler]
#5  0x00007ff879cf8c00 in ?? () from /usr/lib64/libkio.so.5
#6  0x00007ff879cf8ce0 in ?? () from /usr/lib64/libkio.so.5
#7  0x00007ff879cfb7f2 in ?? () from /usr/lib64/libkio.so.5
#8  0x00007ff879cfce06 in KDirModel::qt_metacall () from /usr/lib64/libkio.so.5
#9  0x00007ff8785c4274 in QMetaObject::activate ()
   from /usr/lib64/libQtCore.so.4
#10 0x00007ff879ce6dd5 in KDirLister::newItems () from /usr/lib64/libkio.so.5
#11 0x00007ff879ce7bf0 in KDirLister::Private::emitItems ()
   from /usr/lib64/libkio.so.5
#12 0x00007ff879ce94ca in ?? () from /usr/lib64/libkio.so.5
#13 0x00007ff879cf4e0b in ?? () from /usr/lib64/libkio.so.5
#14 0x00007ff8785c4274 in QMetaObject::activate ()
   from /usr/lib64/libQtCore.so.4
#15 0x00007ff879cc5bf4 in KIO::ListJob::entries () from /usr/lib64/libkio.so.5
#16 0x00007ff879cd3385 in ?? () from /usr/lib64/libkio.so.5
#17 0x00007ff879cd3476 in KIO::ListJob::qt_metacall ()
   from /usr/lib64/libkio.so.5
#18 0x00007ff8785c4274 in QMetaObject::activate ()
   from /usr/lib64/libQtCore.so.4
#19 0x00007ff879d6def5 in KIO::SlaveInterface::listEntries ()
   from /usr/lib64/libkio.so.5
#20 0x00007ff879d70637 in KIO::SlaveInterface::dispatch ()
   from /usr/lib64/libkio.so.5
#21 0x00007ff879d6e602 in KIO::SlaveInterface::dispatch ()
   from /usr/lib64/libkio.so.5
#22 0x00007ff879d61e3e in KIO::Slave::gotInput () from /usr/lib64/libkio.so.5
#23 0x00007ff879d62148 in KIO::Slave::qt_metacall ()
   from /usr/lib64/libkio.so.5
#24 0x00007ff8785c4274 in QMetaObject::activate ()
   from /usr/lib64/libQtCore.so.4
#25 0x00007ff879ca00e1 in ?? () from /usr/lib64/libkio.so.5
#26 0x00007ff879ca078a in KIO::Connection::qt_metacall ()
   from /usr/lib64/libkio.so.5
#27 0x00007ff8785bef3d in QObject::event () from /usr/lib64/libQtCore.so.4
#28 0x00007ff87522817d in QApplicationPrivate::notify_helper ()
   from /usr/lib64/libQtGui.so.4
#29 0x00007ff87522ff2a in QApplication::notify () from /usr/lib64/libQtGui.so.4
#30 0x00007ff8798378ab in KApplication::notify () from /usr/lib64/libkdeui.so.5
#31 0x00007ff8785afe71 in QCoreApplication::notifyInternal ()
   from /usr/lib64/libQtCore.so.4
#32 0x00007ff8785b0b2a in QCoreApplicationPrivate::sendPostedEvents ()
   from /usr/lib64/libQtCore.so.4
#33 0x00007ff8785d8713 in ?? () from /usr/lib64/libQtCore.so.4
#34 0x00007ff8722e093a in g_main_context_dispatch ()
   from /usr/lib64/libglib-2.0.so.0
#35 0x00007ff8722e4040 in g_main_context_iterate ()
   from /usr/lib64/libglib-2.0.so.0
#36 0x00007ff8722e41dc in g_main_context_iteration ()
   from /usr/lib64/libglib-2.0.so.0
#37 0x00007ff8785d839f in QEventDispatcherGlib::processEvents ()
   from /usr/lib64/libQtCore.so.4
#38 0x00007ff8752b8ccf in ?? () from /usr/lib64/libQtGui.so.4
#39 0x00007ff8785ae772 in QEventLoop::processEvents ()
   from /usr/lib64/libQtCore.so.4
#40 0x00007ff8785ae8fd in QEventLoop::exec () from /usr/lib64/libQtCore.so.4
#41 0x00007ff8785b0ded in QCoreApplication::exec ()
   from /usr/lib64/libQtCore.so.4
#42 0x000000000044066d in _start ()
#0  0x00007ff87370f261 in nanosleep () from /lib64/libc.so.6
Comment 1 Jordi Polo 2008-11-09 01:28:01 UTC
*** Bug 174560 has been marked as a duplicate of this bug. ***
Comment 2 Jordi Polo 2008-11-09 01:30:22 UTC
tree view in the panel or in expandable folders option in the main view.


 #5 0x00007ffef07e6fd5 in raise () from /lib/libc.so.6 #6 0x00007ffef07e8b43 in abort () from /lib/libc.so.6 #7 0x00007ffef179a6b5 in qt_message_output () from /usr/lib/libQtCore.so.4 #8 0x00007ffef179a7fd in qFatal () from /usr/lib/libQtCore.so.4 #9 0x00007ffef43fdb1b in KDirModelPrivate::_k_slotNewItems (this=0xae2e50, items=@0x82d650) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/kdirmodel.cpp:347 #10 0x00007ffef43fe596 in KDirModel::qt_metacall (this=0xc6e6f0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffffcf02570) at /home/jordi/kde/build/KDE/kdelibs/kio/kdirmodel.moc:76 #11 0x00007ffef189f134 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #12 0x00007ffef43e29e5 in KDirLister::newItems (this=0x726b, _t1=<value optimized out>) at /home/jordi/kde/build/KDE/kdelibs/kio/kdirlister.moc:256 #13 0x00007ffef43e39f0 in KDirLister::Private::emitItems (this=0xa20b70) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/kdirlister.cpp:2273 #14 0x00007ffef43f0f2c in KDirListerCache::slotRedirection (this=0x88e000, j=0x1030180, url=<value optimized out>) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/kdirlister.cpp:1244 #15 0x00007ffef43f5deb in KDirListerCache::qt_metacall (this=0x88e000, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffffcf02a30) at /home/jordi/kde/build/KDE/kdelibs/kio/kdirlister_p.moc:99 #16 0x00007ffef189f134 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #17 0x00007ffef43bdbf7 in KIO::ListJob::redirection (this=0x726b, _t1=0x1030180, _t2=<value optimized out>) at /home/jordi/kde/build/KDE/kdelibs/kio/jobclasses.moc:770 #18 0x00007ffef43c3550 in KIO::ListJobPrivate::slotRedirection (this=0x1054090, url=@0x7ffffcf02da0) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/job.cpp:2392 #19 0x00007ffef43ca83e in KIO::ListJob::qt_metacall (this=0x1030180, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffffcf02c60) at /home/jordi/kde/build/KDE/kdelibs/kio/jobclasses.moc:751 #20 0x00007ffef189f134 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #21 0x00007ffef447fd05 in KIO::SlaveInterface::redirection (this=0x726b, _t1=<value optimized out>) at /home/jordi/kde/build/KDE/kdelibs/kio/slaveinterface.moc:238 #22 0x00007ffef4483310 in KIO::SlaveInterface::dispatch (this=0xae5160, _cmd=20, rawdata=<value optimized out>) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/slaveinterface.cpp:265 #23 0x00007ffef44802a8 in KIO::SlaveInterface::dispatch (this=0xae5160) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/slaveinterface.cpp:91 #24 0x00007ffef4472473 in KIO::Slave::gotInput (this=0xae5160) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/slave.cpp:322 #25 0x00007ffef44734a8 in KIO::Slave::qt_metacall (this=0xae5160, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7ffffcf03050) at /home/jordi/kde/build/KDE/kdelibs/kio/slave.moc:75 #26 0x00007ffef189f134 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #27 0x00007ffef43913f0 in KIO::ConnectionPrivate::dequeue (this=0x10770b0) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/connection.cpp:82 #28 0x00007ffef439152a in KIO::Connection::qt_metacall (this=0xad1d60, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xc2ab40) at /home/jordi/kde/build/KDE/kdelibs/kio/connection.moc:72 #29 0x00007ffef1899da5 in QObject::event () from /usr/lib/libQtCore.so.4 #30 0x00007ffef2c5ac3d in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #31 0x00007ffef2c629ea in QApplication::notify () from /usr/lib/libQtGui.so.4 #32 0x00007ffef3eda39b in KApplication::notify (this=0x7ffffcf03aa0, receiver=0xad1d60, event=0xc578e0) at /home/jordi/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:307 #33 0x00007ffef188ad61 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #34 0x00007ffef188b9fa in QCoreApplicationPrivate::sendPostedEvents () from /usr/lib/libQtCore.so.4 #35 0x00007ffef18b34d3 in ?? () from /usr/lib/libQtCore.so.4 #36 0x00007ffeed9f0d3b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #37 0x00007ffeed9f450d in ?? () from /usr/lib/libglib-2.0.so.0 #38 0x00007ffeed9f46cb in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #39 0x00007ffef18b315f in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #40 0x00007ffef2ceca9f in ?? () from /usr/lib/libQtGui.so.4 #41 0x00007ffef1889682 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #42 0x00007ffef188980d in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #43 0x00007ffef188bcbd in QCoreApplication::exec () from /usr/lib/libQtCore.so.4 #44 0x000000000044366d in main (argc=1, argv=0x7ffffcf03f88) at /home/jordi/kde/src/KDE/kdebase/apps/dolphin/src/main.cpp:94 
Comment 3 Jordi Polo 2008-11-09 01:31:38 UTC
Application: Dolphin (dolphin), signal SIGABRT
0x00007ffef085c621 in nanosleep () from /lib/libc.so.6

Thread 1 (Thread 0x7ffef4ecc6f0 (LWP 29291)):
[KCrash Handler]
#5  0x00007ffef07e6fd5 in raise () from /lib/libc.so.6
#6  0x00007ffef07e8b43 in abort () from /lib/libc.so.6
#7  0x00007ffef179a6b5 in qt_message_output () from /usr/lib/libQtCore.so.4
#8  0x00007ffef179a7fd in qFatal () from /usr/lib/libQtCore.so.4
#9  0x00007ffef43fdb1b in KDirModelPrivate::_k_slotNewItems (this=0xae2e50, items=@0x82d650) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/kdirmodel.cpp:347
#10 0x00007ffef43fe596 in KDirModel::qt_metacall (this=0xc6e6f0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffffcf02570)
    at /home/jordi/kde/build/KDE/kdelibs/kio/kdirmodel.moc:76
#11 0x00007ffef189f134 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#12 0x00007ffef43e29e5 in KDirLister::newItems (this=0x726b, _t1=<value optimized out>) at /home/jordi/kde/build/KDE/kdelibs/kio/kdirlister.moc:256
#13 0x00007ffef43e39f0 in KDirLister::Private::emitItems (this=0xa20b70) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/kdirlister.cpp:2273
#14 0x00007ffef43f0f2c in KDirListerCache::slotRedirection (this=0x88e000, j=0x1030180, url=<value optimized out>) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/kdirlister.cpp:1244
#15 0x00007ffef43f5deb in KDirListerCache::qt_metacall (this=0x88e000, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffffcf02a30)
    at /home/jordi/kde/build/KDE/kdelibs/kio/kdirlister_p.moc:99
#16 0x00007ffef189f134 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#17 0x00007ffef43bdbf7 in KIO::ListJob::redirection (this=0x726b, _t1=0x1030180, _t2=<value optimized out>) at /home/jordi/kde/build/KDE/kdelibs/kio/jobclasses.moc:770
#18 0x00007ffef43c3550 in KIO::ListJobPrivate::slotRedirection (this=0x1054090, url=@0x7ffffcf02da0) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/job.cpp:2392
#19 0x00007ffef43ca83e in KIO::ListJob::qt_metacall (this=0x1030180, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffffcf02c60)
    at /home/jordi/kde/build/KDE/kdelibs/kio/jobclasses.moc:751
#20 0x00007ffef189f134 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#21 0x00007ffef447fd05 in KIO::SlaveInterface::redirection (this=0x726b, _t1=<value optimized out>) at /home/jordi/kde/build/KDE/kdelibs/kio/slaveinterface.moc:238
#22 0x00007ffef4483310 in KIO::SlaveInterface::dispatch (this=0xae5160, _cmd=20, rawdata=<value optimized out>) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/slaveinterface.cpp:265
#23 0x00007ffef44802a8 in KIO::SlaveInterface::dispatch (this=0xae5160) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/slaveinterface.cpp:91
#24 0x00007ffef4472473 in KIO::Slave::gotInput (this=0xae5160) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/slave.cpp:322
#25 0x00007ffef44734a8 in KIO::Slave::qt_metacall (this=0xae5160, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7ffffcf03050) at /home/jordi/kde/build/KDE/kdelibs/kio/slave.moc:75
#26 0x00007ffef189f134 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#27 0x00007ffef43913f0 in KIO::ConnectionPrivate::dequeue (this=0x10770b0) at /home/jordi/kde/src/KDE/kdelibs/kio/kio/connection.cpp:82
#28 0x00007ffef439152a in KIO::Connection::qt_metacall (this=0xad1d60, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xc2ab40) at /home/jordi/kde/build/KDE/kdelibs/kio/connection.moc:72
#29 0x00007ffef1899da5 in QObject::event () from /usr/lib/libQtCore.so.4
#30 0x00007ffef2c5ac3d in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#31 0x00007ffef2c629ea in QApplication::notify () from /usr/lib/libQtGui.so.4
#32 0x00007ffef3eda39b in KApplication::notify (this=0x7ffffcf03aa0, receiver=0xad1d60, event=0xc578e0) at /home/jordi/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:307
#33 0x00007ffef188ad61 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#34 0x00007ffef188b9fa in QCoreApplicationPrivate::sendPostedEvents () from /usr/lib/libQtCore.so.4
#35 0x00007ffef18b34d3 in ?? () from /usr/lib/libQtCore.so.4
#36 0x00007ffeed9f0d3b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#37 0x00007ffeed9f450d in ?? () from /usr/lib/libglib-2.0.so.0
#38 0x00007ffeed9f46cb in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#39 0x00007ffef18b315f in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#40 0x00007ffef2ceca9f in ?? () from /usr/lib/libQtGui.so.4
#41 0x00007ffef1889682 in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#42 0x00007ffef188980d in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#43 0x00007ffef188bcbd in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#44 0x000000000044366d in main (argc=1, argv=0x7ffffcf03f88) at /home/jordi/kde/src/KDE/kdebase/apps/dolphin/src/main.cpp:94

Comment 4 Sergio Martins 2008-12-02 01:15:03 UTC
I reproduced the bug and here's some conclusions.

This fails in kio/kdirmodel.cpp line 347 in Q_ASSERT(result);

nodeFromUrl() fails because two QUrls with the same url don't always return true when compared with ==, for example, a QUrl q1 representing "smb://foo/bar" with q1.host() equal to "foo" and q1.path() equal to "bar" is different from a QUrl q2 with q2.host() equal to "" and q2.path() equal to "foo/bar", although both urls are the same.

The corrupted QUrl is beeing constructed in kfileitem.cpp inside readUDSEntry when it does a setPat("foo") while listing smb://
Comment 5 David Faure 2008-12-02 18:32:04 UTC
SVN commit 891703 by dfaure:

Support for non-standard hierarchies like smb:/ -> smb://workgroup -> smb://workgroup/host, using
- a new signal from KDirLister that includes the parent url
- a QHash<KUrl, Node> in KDirModel
BUG: 173238


 M  +29 -23    kio/kdirlister.cpp  
 M  +11 -2     kio/kdirlister.h  
 M  +6 -5      kio/kdirlister_p.h  
 M  +105 -67   kio/kdirmodel.cpp  
 M  +1 -1      kio/kdirmodel.h  
 M  +0 -2      tests/kdirmodeltest.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=891703