problem with KIO::NetAccess and KDirLister/KFileTreeView

David Faure david at mandrakesoft.com
Mon Oct 14 12:56:30 BST 2002


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Tuesday 08 October 2002 13:02, Josef Weidendorfer wrote:
> On Tuesday 08 October 2002 10:59, David Faure wrote:
> > > > (Please understand that I'm more familiar with KDirLister and KIO than
> > > > with KDirWatch itself).
> > >
> > > Feel free to ask ;-)
> >
> > Well I get a random crash in KDirWatch, which I haven't been able to
> > understand yet, due to its non-reproduceable nature... It mostly affects
> > KMail (probably: any app using KFileDialog as the only KDirWatch/KDirLister
> > client), and the crash always looks like this: #0  0x40feed42 in
> > QGList::next (this=0x8997da4) at
> > /mnt/devel/kde/kdecvs/qt-copy/src/tools/qglist.cpp:858 858             if (
> > curNode->next ) {
> > (gdb) bt
> > #0  0x40feed42 in QGList::next (this=0x8997da4) at
> > /mnt/devel/kde/kdecvs/qt-copy/src/tools/qglist.cpp:858 #1  0x4059215f in
> > QPtrList<KDirWatchPrivate::Client>::next (this=0x8997da4) at
> > /mnt/devel/kde/kdecvs/qt-copy/include/qptrlist.h:94
> > #2  0x404d842b in KDirWatchPrivate::emitEvent (this=0x8822d08, e=0x8997d90,
> > event=2, fileName=@0xbfffed70) at
> > /mnt/devel/kde/kdecvs/kdelibs/kio/kio/kdirwatch.cpp:837
> > #3  0x404d8f0a in KDirWatchPrivate::checkFAMEvent (this=0x8822d08,
> > fe=0x406041c0) at /mnt/devel/kde/kdecvs/kdelibs/kio/kio/kdirwatch.cpp:1032
> > #4  0x404d87e2 in KDirWatchPrivate::famEventReceived (this=0x8822d08)
> >     at /mnt/devel/kde/kdecvs/kdelibs/kio/kio/kdirwatch.cpp:945
> > #5  0x404da443 in KDirWatchPrivate::qt_invoke (this=0x8822d08, _id=3,
> > _o=0xbfffee90) at kdirwatch_p.moc:86
> 
> The implementation in KDE 3.0 (I think) had the "bug" that a watch deletion in 
> the slot invoked by the "delete" signal of this watch lead to a crash (same 
> as with QListViewItems in QListViews...). I think this was already fixed in 
> 3.0.1 by delaying the emitting. It could be that this is NOT fixed for the 
> FAM case. Support for the above "delaying and compressing" could fix it...
> The backtrace suggests something like this happening (a dangling pointer), but 
> I'm not quite sure...
> The problem with reproducability with KDirLister is its cache: You have to 
> reproduce your browsing history...

I had this crash again. Seems it happens very often when creating a new directory
in KFileDialog (using the toolbar button there).
Open any app, get a "save as" file dialog, type a directory path in the topright combobox,
enter, then use the toolbar button to create a new dir.

Updated backtrace:
#5  0x4103e478 in killpg () from /lib/libc.so.6
#6  0x4027e27f in QPtrList<KDirWatchPrivate::Client>::next (this=0x8bb5e6c)
    at /mnt/devel/kde/kdecvs/qt-copy/include/qptrlist.h:95
#7  0x401b266b in KDirWatchPrivate::emitEvent (this=0x8a60820, e=0x8bb5e58, 
    event=2, fileName=@0xbfffd770)
    at /mnt/devel/kde/kdecvs/kdelibs/kio/kio/kdirwatch.cpp:869
#8  0x401b315a in KDirWatchPrivate::checkFAMEvent (this=0x8a60820, 
    fe=0x402f9b60) at /mnt/devel/kde/kdecvs/kdelibs/kio/kio/kdirwatch.cpp:1074
#9  0x401b2a32 in KDirWatchPrivate::famEventReceived (this=0x8a60820)
    at /mnt/devel/kde/kdecvs/kdelibs/kio/kio/kdirwatch.cpp:987
#10 0x401b0930 in KDirWatchPrivate::useFAM (this=0x8a60820, e=0x8768d40)
    at /mnt/devel/kde/kdecvs/kdelibs/kio/kio/kdirwatch.cpp:374
#11 0x401b1349 in KDirWatchPrivate::addEntry (this=0x8a60820, 
    instance=0x8a607c8, _path=@0xbfffda30, sub_entry=0x0, isDir=true)
    at /mnt/devel/kde/kdecvs/kdelibs/kio/kio/kdirwatch.cpp:537
#12 0x401b3c06 in KDirWatch::addDir (this=0x8a607c8, _path=@0xbfffda30, 
    watchFiles=false, recursive=false)
    at /mnt/devel/kde/kdecvs/kdelibs/kio/kio/kdirwatch.cpp:1204
#13 0x40297030 in KDirListerCache::DirItem::incAutoUpdate (this=0x877e8b8)
    at /mnt/devel/kde/kdecvs/kdelibs/kio/kio/kdirlister_p.h:236
#14 0x401de617 in KDirListerCache::listDir (this=0x8a60480, lister=0x8b064c8, 
    _u=@0xbfffdbd0, _keep=false, _reload=false)
    at /mnt/devel/kde/kdecvs/kdelibs/kio/kio/kdirlister.cpp:300
#15 0x401e4ec8 in KDirLister::openURL (this=0x8b064c8, _url=@0xbfffdbd0, 
    _keep=false, _reload=false)
    at /mnt/devel/kde/kdecvs/kdelibs/kio/kio/kdirlister.cpp:1491
#16 0x40224f89 in KDirOperator::setURL (this=0x8b831c0, _newurl=@0xbfffdc50, 
    clearforward=true)
    at /mnt/devel/kde/kdecvs/kdelibs/kio/kfile/kdiroperator.cpp:533
#17 0x40224510 in KDirOperator::mkdir (this=0x8b831c0, directory=@0xbfffdcb0, 
    enterDirectory=true)
    at /mnt/devel/kde/kdecvs/kdelibs/kio/kfile/kdiroperator.cpp:354
#18 0x40224350 in KDirOperator::mkdir (this=0x8b831c0)
    at /mnt/devel/kde/kdecvs/kdelibs/kio/kfile/kdiroperator.cpp:330

- -- 
David FAURE, david at mandrakesoft.com, faure at kde.org
http://people.mandrakesoft.com/~david/
Contributing to: http://www.konqueror.org/, http://www.koffice.org/
Get the latest KOffice - http://download.kde.org/stable/koffice-1.2/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE9qrDv72KcVAmwbhARAo92AJ4p9uZsQpEmIXYrzi5kCeuZH3/DMACeJzGQ
1LO3cvqusFT4+wOCnhDvkKk=
=0a0C
-----END PGP SIGNATURE-----





More information about the kde-core-devel mailing list