Version: (using KDE Devel) Installed from: Compiled sources Compiler: gcc-3.3.1 kde compiled with --enable-fast-malloc=full --enable-debug=full OS: Linux Hi all, I can reliably make konqueror crash with the following procedure: 1. start konqueror 2. open (ftp://)ftp.belnet.be 3. switch to treeview mode, if not already shown 4. only by expanding trees, navigate to 4.1. "mirror -> ftp.gnome.org -> sources -> somesubdir1 -> somesubdir2" 4.2. collapse "somesubdir1 -> somesubdir2" 4.3. expand "gtk+ -> 2.2" 4.4. collapse "gtk+ -> 2.2" 4.5. expand "somesubdir3 -> somesubdir4" 4.6. collapse "somesubdir3 -> somesubdir4" 4.7. expand "libxml2 -> 2.6" 4.8. collapse "libxml2 -> 2.6" 5. Now change directory to "mirror -> ftp.gnome.org -> sources" by clicking at the directory name "sources" (or at "ftp.gnome.org" or "mirrors") in the treeview Konqueror crashes. I'll add the backtrace (slightly edited) as a gzipped attachment since it is quite big.
Created attachment 4636 [details] backtrace for the crash
as you have everything with debug: try under valgrind (and paste right into the comment field - makes full text searches possible)
The minute I said that ;) ==29859== Invalid read of size 4 ==29859== at 0x4028BB3C: QString::length() const (qstring.h:876) ==29859== by 0x40B4AB2B: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1257) ==29859== by 0x40B4BAA9: KURL::url(int, int) const (kurl.cpp:1452) ==29859== by 0x4C901ED6: KonqListViewDir::url(int) (konq_treeviewitem.cc:107) ==29859== by 0x4C901C4C: KonqListViewDir::~KonqListViewDir() (konq_treeviewitem.cc:49) ==29859== by 0x4183E747: QListView::clear() (qlistview.cpp:3211) ==29859== by 0x4C8F9960: KonqBaseListViewWidget::slotClear() (konq_listviewwidget.cc:996) ==29859== by 0x4C90034D: KonqTreeViewWidget::slotClear() (konq_treeviewwidget.cc:181) ==29859== by 0x4C8FAB96: KonqBaseListViewWidget::qt_invoke(int, QUObject*) (konq_listviewwidget.moc:171) ==29859== by 0x4C900E42: KonqTreeViewWidget::qt_invoke(int, QUObject*) (konq_treeviewwidget.moc:118) ==29859== by 0x417530A6: QObject::activate_signal(QConnectionList*, QUObject*) (qobject.cpp:2359) ==29859== by 0x41752F45: QObject::activate_signal(int) (qobject.cpp:2328) ==29859== by 0x405E7332: KDirLister::clear() (kdirlister.moc:286) ==29859== by 0x405DED17: KDirListerCache::forgetDirs(KDirLister*) (kdirlister.cpp:425) ==29859== Address 0x47606384 is 40 bytes inside a block of size 124 free'd ==29859== at 0x40014003: __builtin_delete (in /usr/lib/valgrind/vgskin_memcheck.so) ==29859== by 0x40014021: operator delete(void*) (in /usr/lib/valgrind/vgskin_memcheck.so) ==29859== by 0x405D8EA6: KFileItem::~KFileItem() (kfileitem.cpp:168) ==29859== by 0x402A3ED2: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==29859== by 0x41A2290A: QGList::clear() (qglist.cpp:701) ==29859== by 0x402A3B4B: QPtrList<KFileItem>::clear() (qptrlist.h:93) ==29859== by 0x402A3E55: QPtrList<KFileItem>::~QPtrList() (qptrlist.h:70) ==29859== by 0x405EBB06: KDirListerCache::DirItem::~DirItem() (kdirlister_p.h:236) ==29859== by 0x405EC31A: QCache<KDirListerCache::DirItem>::deleteItem(void*) (qcache.h:90) ==29859== by 0x41A1CA6E: QGCache::makeRoomFor(int, int) (qgcache.cpp:624) ==29859== by 0x41A1C0C5: QGCache::insert_string(QString const&, void*, int, int) (qgcache.cpp:371) ==29859== by 0x405E9207: QCache<KDirListerCache::DirItem>::insert(QString const&, KDirListerCache::DirItem const*, int, int) (qcache.h:68) ==29859== by 0x405DF127: KDirListerCache::forgetDirs(KDirLister*, KURL const&, bool) (kdirlister.cpp:475) ==29859== by 0x405DECF8: KDirListerCache::forgetDirs(KDirLister*) (kdirlister.cpp:422)
Hmm... That would have taken much longer for me. I'd have to install valgrind first and then get me to work with it. Maybe next time :) >and paste right into the comment field - makes full text searches possible I knew something was wrong about attaching the bt ...
I have retested this with KDE CVS_HEAD of 20040224. I can still reproduce the crash with the procedure. However running konqi under valgrind the crash does _not_ happen, although valgrind detects a number of errors. Could this be because of "--enable-fast-malloc" with the kde build? OK, this is the valgrind log (I do not yet know what to concentrate on with valgrind so I just post all of the output) : ------------------------------------------------------------------------------- ==24620== Memcheck, a memory error detector for x86-linux. ==24620== Copyright (C) 2002-2003, and GNU GPL'd, by Julian Seward. ==24620== Using valgrind-2.1.0, a program supervision framework for x86-linux. ==24620== Copyright (C) 2000-2003, and GNU GPL'd, by Julian Seward. ==24620== ==24620== My PID = 24620, parent PID = 24558. Prog and args are: ==24620== konqueror ==24620== Estimated CPU clock rate is 648 MHz ==24620== For more details, rerun with: -v ==24620== ==24620== Conditional jump or move depends on uninitialised value(s) ==24620== at 0x40ADD252: kDebugBackend(unsigned short, unsigned, char const*) (kdebug.cpp:257) ==24620== by 0x40ADB9B0: kdbgstream::flush() (kdebug.cpp:335) ==24620== by 0x402908C9: kdbgstream::operator<<(char const*) (kdebug.h:224) ==24620== by 0x4029098B: endl(kdbgstream&) (kdebug.h:406) ==24620== ==24620== Conditional jump or move depends on uninitialised value(s) ==24620== at 0x40ADD258: kDebugBackend(unsigned short, unsigned, char const*) (kdebug.cpp:257) ==24620== by 0x40ADB9B0: kdbgstream::flush() (kdebug.cpp:335) ==24620== by 0x402908C9: kdbgstream::operator<<(char const*) (kdebug.h:224) ==24620== by 0x4029098B: endl(kdbgstream&) (kdebug.h:406) ==24620== ... this is where the crash would start (after I click on a directory name) without valgrind ==24620== Invalid read of size 1 ==24620== at 0x40B56DA7: KURL::url(int, int) const (kurl.cpp:1407) ==24620== by 0x4DFBBE12: KonqListViewDir::url(int) (konq_treeviewitem.cc:107) ==24620== by 0x4DFBBBBE: KonqListViewDir::~KonqListViewDir() (konq_treeviewitem.cc:49) ==24620== by 0x4104DF27: QListViewItem::~QListViewItem() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== Address 0x4D522F80 is 36 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x4122BD56: QString::QString(QString const&) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x4DFBBE12: KonqListViewDir::url(int) (konq_treeviewitem.cc:107) ==24620== by 0x4DFBBBBE: KonqListViewDir::~KonqListViewDir() (konq_treeviewitem.cc:49) ==24620== by 0x4104DF27: QListViewItem::~QListViewItem() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== Address 0x4D522F64 is 8 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x40290EB6: QString::length() const (qstring.h:880) ==24620== by 0x40B5CFD1: KURL::hasHost() const (kurl.h:338) ==24620== by 0x40B56DFA: KURL::url(int, int) const (kurl.cpp:1419) ==24620== by 0x4DFBBE12: KonqListViewDir::url(int) (konq_treeviewitem.cc:107) ==24620== Address 0x4D522F70 is 20 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x40290EB6: QString::length() const (qstring.h:880) ==24620== by 0x405608B1: KURL::hasUser() const (kurl.h:297) ==24620== by 0x40B56EDE: KURL::url(int, int) const (kurl.cpp:1422) ==24620== by 0x4DFBBE12: KonqListViewDir::url(int) (konq_treeviewitem.cc:107) ==24620== Address 0x4D522F68 is 12 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== Invalid read of size 1 ==24620== at 0x40B56EE7: KURL::url(int, int) const (kurl.cpp:1432) ==24620== by 0x4DFBBE12: KonqListViewDir::url(int) (konq_treeviewitem.cc:107) ==24620== by 0x4DFBBBBE: KonqListViewDir::~KonqListViewDir() (konq_treeviewitem.cc:49) ==24620== by 0x4104DF27: QListViewItem::~QListViewItem() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== Address 0x4D522F80 is 36 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x4122E54E: QString::find(QChar, int, bool) const (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402EFC9F: QString::find(char, int, bool) const (qstring.h:994) ==24620== by 0x40B56F31: KURL::url(int, int) const (kurl.cpp:1434) ==24620== by 0x4DFBBE12: KonqListViewDir::url(int) (konq_treeviewitem.cc:107) ==24620== Address 0x4D522F70 is 20 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x40290EB6: QString::length() const (qstring.h:880) ==24620== by 0x40CEAD6F: QtAddon::QResolver::domainToAscii(QString const&) (qresolver.cpp:875) ==24620== by 0x40BBF158: KIDNA::toAsciiCString(QString const&) (kidna.cpp:29) ==24620== by 0x40BBF19E: KIDNA::toAscii(QString const&) (kidna.cpp:34) ==24620== Address 0x4D522F70 is 20 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x40291260: QString::at(unsigned) const (qstring.h:638) ==24620== by 0x402B152F: QString::operator[](int) const (qstring.h:639) ==24620== by 0x40CEB158: splitLabels(QString const&) (qresolver.cpp:967) ==24620== by 0x40CEAD6F: QtAddon::QResolver::domainToAscii(QString const&) (qresolver.cpp:875) ==24620== Address 0x4D522F70 is 20 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x412305A3: QString::mid(unsigned, unsigned) const (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40CEB1A8: splitLabels(QString const&) (qresolver.cpp:975) ==24620== by 0x40CEAD6F: QtAddon::QResolver::domainToAscii(QString const&) (qresolver.cpp:875) ==24620== by 0x40BBF158: KIDNA::toAsciiCString(QString const&) (kidna.cpp:29) ==24620== Address 0x4D522F70 is 20 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x412305A3: QString::mid(unsigned, unsigned) const (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40CEB202: splitLabels(QString const&) (qresolver.cpp:981) ==24620== by 0x40CEAD6F: QtAddon::QResolver::domainToAscii(QString const&) (qresolver.cpp:875) ==24620== by 0x40BBF158: KIDNA::toAsciiCString(QString const&) (kidna.cpp:29) ==24620== Address 0x4D522F70 is 20 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== Invalid read of size 2 ==24620== at 0x40B56F9B: KURL::url(int, int) const (kurl.cpp:1439) ==24620== by 0x4DFBBE12: KonqListViewDir::url(int) (konq_treeviewitem.cc:107) ==24620== by 0x4DFBBBBE: KonqListViewDir::~KonqListViewDir() (konq_treeviewitem.cc:49) ==24620== by 0x4104DF27: QListViewItem::~QListViewItem() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== Address 0x4D522F82 is 38 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== Invalid read of size 1 ==24620== at 0x40B56E03: KURL::url(int, int) const (kurl.cpp:1451) ==24620== by 0x4DFBBE12: KonqListViewDir::url(int) (konq_treeviewitem.cc:107) ==24620== by 0x4DFBBBBE: KonqListViewDir::~KonqListViewDir() (konq_treeviewitem.cc:49) ==24620== by 0x4104DF27: QListViewItem::~QListViewItem() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== Address 0x4D522F80 is 36 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x40290EB6: QString::length() const (qstring.h:880) ==24620== by 0x40B56033: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1257) ==24620== by 0x40B56E3C: KURL::url(int, int) const (kurl.cpp:1452) ==24620== by 0x4DFBBE12: KonqListViewDir::url(int) (konq_treeviewitem.cc:107) ==24620== Address 0x4D522F84 is 40 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x4122BD56: QString::QString(QString const&) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B5633E: KURL::path(int) const (kurl.cpp:1306) ==24620== by 0x40B5605E: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1263) ==24620== by 0x40B56E3C: KURL::url(int, int) const (kurl.cpp:1452) ==24620== Address 0x4D522F74 is 24 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x4122BD5B: QString::QString(QString const&) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B5633E: KURL::path(int) const (kurl.cpp:1306) ==24620== by 0x40B5605E: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1263) ==24620== by 0x40B56E3C: KURL::url(int, int) const (kurl.cpp:1452) ==24620== Address 0x4AEAC808 is 0 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x4122BD5B: QString::QString(QString const&) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B56354: KURL::path(int) const (kurl.cpp:1306) ==24620== by 0x40B5605E: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1263) ==24620== by 0x40B56E3C: KURL::url(int, int) const (kurl.cpp:1452) ==24620== Address 0x4AEAC808 is 0 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x41235151: operator==(QString const&, char const*) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B5BBF4: trailingSlash(int, QString const&) (kurl.cpp:1231) ==24620== by 0x40B56354: KURL::path(int) const (kurl.cpp:1306) ==24620== by 0x40B5605E: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1263) ==24620== Address 0x4AEAC814 is 12 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x41235154: operator==(QString const&, char const*) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B5BBF4: trailingSlash(int, QString const&) (kurl.cpp:1231) ==24620== by 0x40B56354: KURL::path(int) const (kurl.cpp:1306) ==24620== by 0x40B5605E: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1263) ==24620== Address 0x4AEAC80C is 4 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 2 ==24620== at 0x41235167: operator==(QString const&, char const*) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B5BBF4: trailingSlash(int, QString const&) (kurl.cpp:1231) ==24620== by 0x40B56354: KURL::path(int) const (kurl.cpp:1306) ==24620== by 0x40B5605E: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1263) ==24620== Address 0x4D5264C4 is 0 bytes inside a block of size 128 free'd ==24620== at 0x4002B5E8: operator delete[](void*) (vg_replace_malloc.c:190) ==24620== by 0x4122C7D1: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x40290EB8: QString::length() const (qstring.h:880) ==24620== by 0x40B56354: KURL::path(int) const (kurl.cpp:1306) ==24620== by 0x40B5605E: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1263) ==24620== by 0x40B56E3C: KURL::url(int, int) const (kurl.cpp:1452) ==24620== Address 0x4AEAC814 is 12 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x40291262: QString::at(unsigned) const (qstring.h:638) ==24620== by 0x40290E5F: QString::constref(unsigned) const (qstring.h:644) ==24620== by 0x40290001: QCharRef::operator QChar() const (qstring.h:777) ==24620== by 0x40B5BC65: trailingSlash(int, QString const&) (kurl.cpp:1236) ==24620== Address 0x4AEAC814 is 12 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x4029126E: QString::at(unsigned) const (qstring.h:638) ==24620== by 0x40290E5F: QString::constref(unsigned) const (qstring.h:644) ==24620== by 0x40290001: QCharRef::operator QChar() const (qstring.h:777) ==24620== by 0x40B5BC65: trailingSlash(int, QString const&) (kurl.cpp:1236) ==24620== Address 0x4AEAC80C is 4 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 2 ==24620== at 0x402912F6: QChar::QChar(QChar const&) (qstring.h:270) ==24620== by 0x40290E5F: QString::constref(unsigned) const (qstring.h:644) ==24620== by 0x40290001: QCharRef::operator QChar() const (qstring.h:777) ==24620== by 0x40B5BC65: trailingSlash(int, QString const&) (kurl.cpp:1236) ==24620== Address 0x4D52652E is 106 bytes inside a block of size 128 free'd ==24620== at 0x4002B5E8: operator delete[](void*) (vg_replace_malloc.c:190) ==24620== by 0x4122C7D1: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x4028FEA8: QShared::deref() (qshared.h:50) ==24620== by 0x40B5BC1D: trailingSlash(int, QString const&) (kurl.cpp:1236) ==24620== by 0x40B56354: KURL::path(int) const (kurl.cpp:1306) ==24620== by 0x40B5605E: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1263) ==24620== Address 0x4AEAC808 is 0 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid write of size 4 ==24620== at 0x4028FEAD: QShared::deref() (qshared.h:50) ==24620== by 0x40B5BC1D: trailingSlash(int, QString const&) (kurl.cpp:1236) ==24620== by 0x40B56354: KURL::path(int) const (kurl.cpp:1306) ==24620== by 0x40B5605E: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1263) ==24620== Address 0x4AEAC808 is 0 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x4028FEA8: QShared::deref() (qshared.h:50) ==24620== by 0x40B5635F: KURL::path(int) const (kurl.cpp:1306) ==24620== by 0x40B5605E: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1263) ==24620== by 0x40B56E3C: KURL::url(int, int) const (kurl.cpp:1452) ==24620== Address 0x4AEAC808 is 0 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid write of size 4 ==24620== at 0x4028FEAD: QShared::deref() (qshared.h:50) ==24620== by 0x40B5635F: KURL::path(int) const (kurl.cpp:1306) ==24620== by 0x40B5605E: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1263) ==24620== by 0x40B56E3C: KURL::url(int, int) const (kurl.cpp:1452) ==24620== Address 0x4AEAC808 is 0 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x4122C802: QString::operator=(QString const&) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B56070: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1263) ==24620== by 0x40B56E3C: KURL::url(int, int) const (kurl.cpp:1452) ==24620== by 0x4DFBBE12: KonqListViewDir::url(int) (konq_treeviewitem.cc:107) ==24620== Address 0x4AEAC808 is 0 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x4028FEA8: QShared::deref() (qshared.h:50) ==24620== by 0x40B5607B: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1263) ==24620== by 0x40B56E3C: KURL::url(int, int) const (kurl.cpp:1452) ==24620== by 0x4DFBBE12: KonqListViewDir::url(int) (konq_treeviewitem.cc:107) ==24620== Address 0x4AEAC808 is 0 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid write of size 4 ==24620== at 0x4028FEAD: QShared::deref() (qshared.h:50) ==24620== by 0x40B5607B: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1263) ==24620== by 0x40B56E3C: KURL::url(int, int) const (kurl.cpp:1452) ==24620== by 0x4DFBBE12: KonqListViewDir::url(int) (konq_treeviewitem.cc:107) ==24620== Address 0x4AEAC808 is 0 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x412534A7: QTextCodec::fromUnicode(QString const&) const (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x41234758: QString::local8Bit() const (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B5A918: encode(QString const&, bool, int) (kurl.cpp:61) ==24620== by 0x40B560A0: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1266) ==24620== Address 0x4AEAC814 is 12 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x41254B56: QLatin15Codec::fromUnicode(QString const&, int&) const (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x412534C9: QTextCodec::fromUnicode(QString const&) const (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x41234758: QString::local8Bit() const (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B5A918: encode(QString const&, bool, int) (kurl.cpp:61) ==24620== Address 0x4AEAC814 is 12 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x41254B8D: QLatin15Codec::fromUnicode(QString const&, int&) const (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x412534C9: QTextCodec::fromUnicode(QString const&) const (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x41234758: QString::local8Bit() const (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B5A918: encode(QString const&, bool, int) (kurl.cpp:61) ==24620== Address 0x4AEAC80C is 4 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 2 ==24620== at 0x41254BCD: QLatin15Codec::fromUnicode(QString const&, int&) const (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x412534C9: QTextCodec::fromUnicode(QString const&) const (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x41234758: QString::local8Bit() const (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B5A918: encode(QString const&, bool, int) (kurl.cpp:61) ==24620== Address 0x4D5264C4 is 0 bytes inside a block of size 128 free'd ==24620== at 0x4002B5E8: operator delete[](void*) (vg_replace_malloc.c:190) ==24620== by 0x4122C7D1: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x4122C723: QString::deref() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x4122C80B: QString::operator=(QString const&) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B560AF: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1266) ==24620== by 0x40B56E3C: KURL::url(int, int) const (kurl.cpp:1452) ==24620== Address 0x4AEAC808 is 0 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid write of size 4 ==24620== at 0x4122C728: QString::deref() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x4122C80B: QString::operator=(QString const&) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B560AF: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1266) ==24620== by 0x40B56E3C: KURL::url(int, int) const (kurl.cpp:1452) ==24620== Address 0x4AEAC808 is 0 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x4122C73A: QString::deref() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x4122C80B: QString::operator=(QString const&) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B560AF: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1266) ==24620== by 0x40B56E3C: KURL::url(int, int) const (kurl.cpp:1452) ==24620== Address 0x4AEAC80C is 4 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid free() / delete / delete[] ==24620== at 0x4002B5E8: operator delete[](void*) (vg_replace_malloc.c:190) ==24620== by 0x4122C772: QString::deref() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x4122C80B: QString::operator=(QString const&) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B560AF: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1266) ==24620== Address 0x4D5264C4 is 0 bytes inside a block of size 128 free'd ==24620== at 0x4002B5E8: operator delete[](void*) (vg_replace_malloc.c:190) ==24620== by 0x4122C7D1: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x4122C741: QString::deref() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x4122C80B: QString::operator=(QString const&) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B560AF: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1266) ==24620== by 0x40B56E3C: KURL::url(int, int) const (kurl.cpp:1452) ==24620== Address 0x4AEAC810 is 8 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid free() / delete / delete[] ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C74F: QString::deref() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x4122C80B: QString::operator=(QString const&) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40B560AF: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1266) ==24620== Address 0x4AEAC808 is 0 bytes inside a block of size 20 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x4122C7B3: QStringData::deleteSelf() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x402900FB: QString::~QString() (qstring.h:848) ==24620== by 0x40B51495: KURL::~KURL() (kurl.cpp:432) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x402A54B6: QString::unicode() const (qstring.h:653) ==24620== by 0x40B560C5: KURL::encodedPathAndQuery(int, bool, int) const (kurl.cpp:1270) ==24620== by 0x40B56E3C: KURL::url(int, int) const (kurl.cpp:1452) ==24620== by 0x4DFBBE12: KonqListViewDir::url(int) (konq_treeviewitem.cc:107) ==24620== Address 0x4D522F7C is 32 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== Invalid read of size 4 ==24620== at 0x402A54B6: QString::unicode() const (qstring.h:653) ==24620== by 0x40B5D081: KURL::hasRef() const (kurl.h:487) ==24620== by 0x40B56E5E: KURL::url(int, int) const (kurl.cpp:1456) ==24620== by 0x4DFBBE12: KonqListViewDir::url(int) (konq_treeviewitem.cc:107) ==24620== Address 0x4D522F78 is 28 bytes inside a block of size 124 free'd ==24620== at 0x4002B48E: operator delete(void*) (vg_replace_malloc.c:188) ==24620== by 0x405DAD98: KFileItem::~KFileItem() (kfileitem.cpp:168) ==24620== by 0x402A578D: QPtrList<KFileItem>::deleteItem(void*) (qptrlist.h:150) ==24620== by 0x412192C5: QGList::clear() (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== warning: Valgrind's pthread_cond_destroy is incomplete ==24620== (it doesn't check if the cond is waited on) ==24620== your program may misbehave as a result ==24620== ==24620== ERROR SUMMARY: 314 errors from 44 contexts (suppressed: 558 from 10) ==24620== malloc/free: in use at exit: 268122 bytes in 6402 blocks. ==24620== malloc/free: 982602 allocs, 976203 frees, 36767402 bytes allocated. ==24620== For counts of detected errors, rerun with: -v ==24620== searching for pointers to 6402 not-freed blocks. ==24620== checked 33225180 bytes. ==24620== ==24620== ==24620== 4 bytes in 1 blocks are definitely lost in loss record 35 of 294 ==24620== at 0x4002B6AD: calloc (vg_replace_malloc.c:201) ==24620== by 0x41834AB0: XF86DRIGetClientDriverName (in /usr/X11R6/lib/libGL.so.1.2) ==24620== by 0x454ACDD7: __driUtilCreateScreen (in /usr/X11R6/lib/modules/dri/mga_dri.so) ==24620== by 0x455F0414: __driCreateScreen (in /usr/X11R6/lib/modules/dri/mga_dri.so) ==24620== ==24620== ==24620== 16 bytes in 1 blocks are definitely lost in loss record 79 of 294 ==24620== at 0x4002AC16: malloc (vg_replace_malloc.c:160) ==24620== by 0x41443AEE: XrmGetStringDatabase (in /usr/X11R6/lib/libX11.so.6.2) ==24620== by 0x41428887: InitDefaults (in /usr/X11R6/lib/libX11.so.6.2) ==24620== by 0x4142852D: XGetDefault (in /usr/X11R6/lib/libX11.so.6.2) ==24620== ==24620== ==24620== 16 bytes in 1 blocks are definitely lost in loss record 81 of 294 ==24620== at 0x4002AC16: malloc (vg_replace_malloc.c:160) ==24620== by 0x41835AC4: driCreateDisplay (in /usr/X11R6/lib/libGL.so.1.2) ==24620== by 0x41828B7D: __glXInitialize (in /usr/X11R6/lib/libGL.so.1.2) ==24620== by 0x418265DF: glXGetConfig (in /usr/X11R6/lib/libGL.so.1.2) ==24620== ==24620== ==24620== 16 bytes in 1 blocks are definitely lost in loss record 82 of 294 ==24620== at 0x4002AC16: malloc (vg_replace_malloc.c:160) ==24620== by 0x4002B76E: realloc (vg_replace_malloc.c:219) ==24620== by 0x4168B09B: __argz_append (in /lib/libc.so.6) ==24620== by 0x41636D85: __newlocale (in /lib/libc.so.6) ==24620== ==24620== ==24620== 20 bytes in 1 blocks are definitely lost in loss record 86 of 294 ==24620== at 0x4002AC16: malloc (vg_replace_malloc.c:160) ==24620== by 0x417060E8: xdr_reference (in /lib/libc.so.6) ==24620== by 0x41700FB6: xdr_pmaplist (in /lib/libc.so.6) ==24620== by 0x416FF5DF: clnttcp_call (in /lib/libc.so.6) ==24620== ==24620== ==24620== 32 bytes in 2 blocks are definitely lost in loss record 119 of 294 ==24620== at 0x4002AC16: malloc (vg_replace_malloc.c:160) ==24620== by 0x418E2EE2: FcPatternCreate (in /usr/local/lib/libfontconfig.so.1.0.4) ==24620== by 0x418E4608: FcPatternDuplicate (in /usr/local/lib/libfontconfig.so.1.0.4) ==24620== by 0x40F41DC6: loadEngine(QFont::Script, QFontPrivate const*, QFontDef const&, QtFontFamily*, QtFontFoundry*, QtFontStyle*, QtFontSize*, QtFontEncoding*, bool) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== ==24620== 52 bytes in 1 blocks are possibly lost in loss record 151 of 294 ==24620== at 0x4002AC16: malloc (vg_replace_malloc.c:160) ==24620== by 0x41873B88: XftDrawCreateBitmap (in /usr/local/lib/libXft.so.2.1.1) ==24620== by 0x40ECBFC2: QPixmap::init(int, int, int, bool, QPixmap::Optimization) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40F89828: QPixmap::QPixmap(int, int, int, bool, QPixmap::Optimization) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== ==24620== 72 bytes in 3 blocks are possibly lost in loss record 167 of 294 ==24620== at 0x4002AE26: operator new(unsigned) (vg_replace_malloc.c:162) ==24620== by 0x4DFB7B64: KonqListViewItem::setPixmap(int, QPixmap const&) (konq_listviewitems.cc:206) ==24620== by 0x4DFB784C: KonqListViewItem::setDisabled(bool) (konq_listviewitems.cc:146) ==24620== by 0x4DFB70EC: KonqListViewItem::updateContents() (konq_listviewitems.cc:53) ==24620== ==24620== ==24620== 156 bytes in 3 blocks are definitely lost in loss record 194 of 294 ==24620== at 0x4002AC16: malloc (vg_replace_malloc.c:160) ==24620== by 0x41873B88: XftDrawCreateBitmap (in /usr/local/lib/libXft.so.2.1.1) ==24620== by 0x40ECBFC2: QPixmap::init(int, int, int, bool, QPixmap::Optimization) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== by 0x40F89AC0: QPixmap::QPixmap(int, int, int, QPixmap::Optimization) (in /usr/lib/qt-x11-free-3.2.1/lib/libqt-mt.so.3.2.1) ==24620== ==24620== ==24620== 192 bytes in 12 blocks are definitely lost in loss record 208 of 294 ==24620== at 0x4002AE26: operator new(unsigned) (vg_replace_malloc.c:162) ==24620== by 0x405C1D0E: KServiceTypeProfile::initStatic() (kuserprofile.cpp:86) ==24620== by 0x405C1EC0: KServiceTypeProfile::offers(QString const&, QString const&) (kuserprofile.cpp:107) ==24620== by 0x405A0993: KTrader::query(QString const&, QString const&, QString const&, QString const&) const (ktrader.cpp:129) ==24620== ==24620== ==24620== 216 bytes in 1 blocks are definitely lost in loss record 213 of 294 ==24620== at 0x4002AC16: malloc (vg_replace_malloc.c:160) ==24620== by 0x4B017CC5: _XimOpenIM (in /usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2) ==24620== by 0x4148A39D: _XDynamicOpenIM (in /usr/X11R6/lib/libX11.so.6.2) ==24620== by 0x4B01748A: _XimRegisterIMInstantiateCallback (in /usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2) ==24620== ==24620== ==24620== 2084 bytes in 3 blocks are definitely lost in loss record 268 of 294 ==24620== at 0x4002AC16: malloc (vg_replace_malloc.c:160) ==24620== by 0x454ADF60: drmMalloc (in /usr/X11R6/lib/modules/dri/mga_dri.so) ==24620== by 0x454AE5B0: drmMapBufs (in /usr/X11R6/lib/modules/dri/mga_dri.so) ==24620== by 0x455F069A: mgaInitDriver (in /usr/X11R6/lib/modules/dri/mga_dri.so) ==24620== ==24620== ==24620== 19392 bytes in 808 blocks are definitely lost in loss record 293 of 294 ==24620== at 0x4002AE26: operator new(unsigned) (vg_replace_malloc.c:162) ==24620== by 0x4DFB7B64: KonqListViewItem::setPixmap(int, QPixmap const&) (konq_listviewitems.cc:206) ==24620== by 0x4DFB784C: KonqListViewItem::setDisabled(bool) (konq_listviewitems.cc:146) ==24620== by 0x4DFB70EC: KonqListViewItem::updateContents() (konq_listviewitems.cc:53) ==24620== ==24620== LEAK SUMMARY: ==24620== definitely lost: 22144 bytes in 834 blocks. ==24620== possibly lost: 124 bytes in 4 blocks. ==24620== still reachable: 245654 bytes in 5563 blocks. ==24620== suppressed: 200 bytes in 1 blocks. ==24620== Reachable blocks (those to which a pointer was found) are not shown. ==24620== To see them, rerun with: --show-reachable=yes ------------------------------------------------------------------------------- I would do more if it is needed, but I could use some hint what.
use --num-callers=42 with valgrind, your valgrind logs are pretty useless with the default of 4 ;(
OK I did so. The output is ~440kB in size so find it at http://www.wh2.tu-dresden.de/~almighty/ .
The m_fileitem that KonqListViewDir references has been deleted by KDirLister already before KDirLister emits clear(). So when KonqListViewDir gets destructed from slotClear it calls url(-1) which references m_fileitem and *boom*
Fixed by emitting clear() before deleting file-items. (for KDE 3.2.2)
I just rebuilt kdelibs and kdebase and this crash is gone. Thank you very much!