Version: unknown (using KDE 3.0.8 (KDE 3.1 beta2)) Installed from: compiled sources Compiler: gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98) OS: Linux (i686) release 2.4.17 CVS Version from 10.Oct. When I use the Lan-browsing feature from the konqueror sidebar (double clicking it), I very often get a konqueror crash. Here is the dump: [New Thread 1024 (LWP 28219)] 0x40ec7669 in __wait4 () from /lib/i686/libc.so.6 #0 0x40ec7669 in __wait4 () from /lib/i686/libc.so.6 #1 0x40f43154 in __DTOR_END__ () from /lib/i686/libc.so.6 #2 0x40d66523 in waitpid (pid=30275, stat_loc=0x0, options=0) at wrapsyscall.c:172 #3 0x405cab74 in KCrash::defaultCrashHandler (sig=11) at kcrash.cpp:235 #4 0x40d648d5 in pthread_sighandler (signo=11, ctx= {gs = 7, __gsh = 0, fs = 0, __fsh = 0, es = 43, __esh = 0, ds = 43, __dsh = 49168, edi = 3221216352, esi = 3221216272, ebp = 3221216248, esp = 3221216248, ebx = 1080561316, edx = 3221216272, ecx = 7, eax = 0, trapno = 14, err = 6, eip = 1085152267, cs = 35, __csh = 0, eflags = 66050, esp_at_signal = 3221216248, ss = 43, __ssh = 0, fpstate = 0xbfffd978, oldmask = 2147483648, cr2 = 0}) at signals.c:97 #5 <signal handler called> #6 0x40ae1c0b in QString::QString () at eval.c:41 #7 0x405cfd97 in KURL::path (this=0x85df198, _trailing=1) at kurl.h:249 #8 0x405cee60 in KURL::equals (this=0x85df198, _u=@0xbfffdf60, ignore_trailing=true) at kurl.cpp:913 #9 0x405cee10 in KURL::cmp (this=0x85df198, u=@0xbfffdf60, ignore_trailing=true) at kurl.cpp:903 #10 0x401cdbf1 in KDirLister::slotJobToBeKilled (this=0x8115d98, url=@0xbfffdf60) at ../kio/jobclasses.h:373 #11 0x401ce7f0 in KDirLister::qt_invoke (this=0x8115d98, _id=7, _o=0xbfffddb0) at /usr/lib/qt3-gcc2.96/include/private/qucom_p.h:312 #12 0x408bf083 in QObject::activate_signal () at eval.c:41 #13 0x401cdf37 in KDirLister::completed (this=0x8115d98, t0=@0xbfffdf60) at kdirlister.moc:240 #14 0x401c5b3d in KDirListerCache::slotResult (this=0x86a5048, j=0x8813cb0) at kdirlister.cpp:892 #15 0x401cef6c in KDirListerCache::qt_invoke (this=0x86a5048, _id=7, _o=0xbfffe030) at /usr/lib/qt3-gcc2.96/include/private/qucom_p.h:312 #16 0x408bf017 in QObject::activate_signal () at eval.c:41 #17 0x40144163 in KIO::Job::result (this=0x8813cb0, t0=0x8813cb0) at jobclasses.moc:155 #18 0x401317ba in KIO::Job::emitResult (this=0x8813cb0) at job.cpp:183 #19 0x40132e7d in KIO::SimpleJob::slotFinished (this=0x8813cb0) at job.cpp:501 #20 0x40138e92 in KIO::ListJob::slotFinished (this=0x8813cb0) at job.cpp:1655 #21 0x40146262 in KIO::ListJob::qt_invoke (this=0x8813cb0, _id=16, _o=0xbfffe3e0) at jobclasses.moc:1328 #22 0x408bf017 in QObject::activate_signal () at eval.c:41 #23 0x408bef78 in QObject::activate_signal () at eval.c:41 #24 0x40128d25 in KIO::SlaveInterface::finished (this=0x89a5640) at /usr/lib/qt3-gcc2.96/include/qmetaobject.h:235 #25 0x40125912 in KIO::SlaveInterface::dispatch (this=0x89a5640, _cmd=104, rawdata=@0xbfffe9c0) at slaveinterface.cpp:255 #26 0x401254ec in KIO::SlaveInterface::dispatch (this=0x89a5640) at slaveinterface.cpp:191 #27 0x40122b1d in KIO::Slave::gotInput (this=0x89a5640) at slave.cpp:221 #28 0x40124e25 in KIO::Slave::qt_invoke (this=0x89a5640, _id=4, _o=0xbfffeb30) at slave.moc:112 #29 0x408bf017 in QObject::activate_signal () at eval.c:41 #30 0x408bf13c in QObject::activate_signal () at eval.c:41 #31 0x40b32d8d in QSocketNotifier::activated () at eval.c:41 #32 0x408d5ff7 in QSocketNotifier::event () at eval.c:41 #33 0x40875843 in QApplication::internalNotify () at eval.c:41 #34 0x408756dc in QApplication::notify () at eval.c:41 #35 0x405595e2 in KApplication::notify (this=0xbffff440, receiver=0x85cef20, event=0xbfffee50) at kapplication.cpp:421 #36 0x4081f51f in sn_activate () at eval.c:41 #37 0x4081fa1b in QApplication::processNextEvent () at eval.c:41 #38 0x40876d1c in QApplication::enter_loop () at eval.c:41 #39 0x4081f587 in QApplication::exec () at eval.c:41 #40 0x412957c5 in main (argc=4, argv=0x805a9c8) at konq_main.cc:130 #41 0x0804c99c in launch (argc=4, _name=0x8059af4 "konqueror", args=0x8059b25 "/root", cwd=0x8059b25 "/root", envc=27, envs=0x8059df4 "", reset_env=true, tty=0x0, avoid_loops=false, startup_id_str=0x8059df8 "eiwnt048;1036242941;802482;14571") at kinit.cpp:547 #42 0x0804d6b7 in handle_launcher_request (sock=4) at kinit.cpp:1023 #43 0x0804db0d in handle_requests (waitForPid=0) at kinit.cpp:1179 #44 0x0804eaaf in main (argc=3, argv=0xbffffcb4, envp=0xbffffcc4) at kinit.cpp:1534 #45 0x40e29507 in __libc_start_main (main=0x804e4b8 <main>, argc=3, ubp_av=0xbffffcb4, init=0x804a618 <_init>, fini=0x804f210 <_fini>, rtld_fini=0x4000dc14 <_dl_fini>, stack_end=0xbffffcac) at ../sysdeps/generic/libc-start.c:129
*** Bug 55370 has been marked as a duplicate of this bug. ***
*** Bug 53675 has been marked as a duplicate of this bug. ***
*** Bug 53952 has been marked as a duplicate of this bug. ***
*** Bug 51934 has been marked as a duplicate of this bug. ***
From #51934: "when repeatingly clicking on a SMB (folder) in the LANbrowser (wich uses Lisa) koqueror crashes "
I can semi-reproduce this, using Valgrind. It seems like when two views/windows are pointing to the same dir, sometimes the DirLister gets confused... At any rate, vg reports bogus KURL pointers being passed to top-level routines.. But some other things it states don't quite make sense
Maksim: can you still reproduce it after the last week's fixes?
It might have fixed one crash, but I can still toggle a few more seemingly related ones. (This is not something that's perfectly reproducible) A procedure that seems to show up bugs like this somewhat frequently: Make sure Konqui set to open new windows from existing processes. run Konqueror in Valgrind. While it's in the middle of listing, run an another. When they both show icons, enter a directory. This time I get this: ==4229== Invalid read of size 1 ==4229== at 0x409D16FB: KURL::equals(KURL const&, bool) const (in /code/opt/kde3/lib/libkdecore.so.4.2.0) ==4229== by 0x409D16C4: KURL::cmp(KURL const&, bool) const (in /code/opt/kde3/lib/libkdecore.so.4.2.0) ==4229== by 0x405532DE: KDirLister::slotJobToBeKilled(KURL const&) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x4055413C: KDirLister::qt_invoke(int, QUObject*) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x40D222AF: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/lib/qt3/lib/libqt-mt.so.3.1.2) ==4229== by 0x405538A8: KDirLister::canceled(KURL const&) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x4054CBBD: KDirListerCache::stop(KDirLister*) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x40551774: KDirLister::stop() (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x4680CEC2: KonqKfmIconView::doCloseURL() (konq_iconview.cc:613) ==4229== by 0x40334E8D: KonqDirPart::closeURL() (konq_dirpart.cc:496) ==4229== by 0x40266B98: KonqView::stop() (konq_view.cc:808) ==4229== by 0x402933AE: KonqMainWindow::abortLoading() (konq_mainwindow.cc:924) ==4229== by 0x402906DA: KonqMainWindow::openURL(KonqView*, KURL const&, QString const&, KonqOpenURLRequest const&, bool) (konq_mainwindow.cc:476) ==4229== by 0x40292DA6: KonqMainWindow::openURL(KonqView*, KURL const&, KParts::URLArgs const&) (konq_mainwindow.cc:862) ==4229== by 0x40292AED: KonqMainWindow::slotOpenURLRequest(KURL const&, KParts::URLArgs const&) (konq_mainwindow.cc:840) ==4229== by 0x402AA943: KonqMainWindow::qt_invoke(int, QUObject*) (konq_mainwindow.moc:509) ==4229== Address 0x45E9DBA0 is not stack'd, malloc'd or free'd konqueror: KonqView::slotCanceled konqueror: KonqView::slotCompleted hasPending=false konqueror: Saving part URL : file:/home/Maksim in history position 0 konqueror: Saving location bar URL : file:/home/Maksim in history position 0 konqueror: Saving title : file:/home/Maksim in history position 0 konqueror: [void KonqView::setLoading(bool, bool)] loading=false hasPending=false konqueror: [void KonqView::setLoading(bool, bool)] loading=false hasPending=false konqueror: Saving part URL : file:/home/Maksim in history position 0 konqueror: Saving location bar URL : file:/home/Maksim in history position 0 konqueror: Saving title : file:/home/Maksim in history position 0 konqueror: setLocationBarURL : url = file:/home/Maksim/.icons konqueror: KonqMainWindow::setLocationBarURL: url = file:/home/Maksim/.icons konqueror: trying openView for file:/home/Maksim/.icons (servicetype inode/directory) konqueror: KonqMainWindow::openView inode/directory file:/home/Maksim/.icons 0x47835528 konqueror: req.args.frameName= konqueror: req.followMode=false konqueror: req.nameFilter= konqueror: req.typedURL= konqueror: req.newTab= false konqueror: req.newTabInFront= false konqueror: req.openAfterCurrentPage= false konqueror: makeViewsFollow KonqView url=file:/home/Maksim/.icons serviceType=inode/directory konqueror: serviceName= m_sViewModeForDirectory=konq_iconview konqueror: serviceName= konqueror: changeViewMode: serviceType is inode/directory serviceName is current service name is konq_iconview konqueror: KonqView::openURL url=file:/home/Maksim/.icons locationBarURL=file:/home/Maksim/.icons konqueror: m_bLockedLocation=0 args.lockHistory()=false konqueror: Truncating history konqueror: Append a new entry konqueror: at=1 count=2 konqueror: KonqView::setLocationBarURL file:/home/Maksim/.icons this=0x47835528 konqueror: KonqMainWindow::setLocationBarURL: url = file:/home/Maksim/.icons konqueror: [void KonqView::setLoading(bool, bool)] loading=true hasPending=false konqueror: KonqKfmIconView::slotRenderingFinished() konqueror: KonqKfmIconView::slotRenderingFinished() konqueror: KonqMainWindow::setCaption(file:/home/Maksim/.icons) konqueror: Saving part URL : file:/home/Maksim/.icons in history position 1 konqueror: Saving title : file:/home/Maksim/.icons in history position 1 libkonq: ## addToHistory: file:/home/Maksim/.iconsTyped URL: file:/home/Maksim/.icons, Title: konqueror: Current position : 1 konqueror: KonqMainWindow::openView ok=true bOthersFollowed=false returning true konqueror: KonqKfmIconView::slotRefreshItems '.icons' ivi=0x441344d8 konqueror: KonqKfmIconView::slotRefreshItems '.gnupg' ivi=0x4652d0cc konqueror: KonqKfmIconView::slotRefreshItems '.xsession-errors' ivi=0x440dfcbc konqueror: KonqKfmIconView::slotRefreshItems '.icons' ivi=0x441344d8 ==4229== ==4229== Invalid read of size 4 ==4229== at 0x40F78B09: QString::QString(QString const&) (in /usr/lib/qt3/lib/libqt-mt.so.3.1.2) ==4229== by 0x409D1734: KURL::equals(KURL const&, bool) const (in /code/opt/kde3/lib/libkdecore.so.4.2.0) ==4229== by 0x409D16C4: KURL::cmp(KURL const&, bool) const (in /code/opt/kde3/lib/libkdecore.so.4.2.0) ==4229== by 0x405532DE: KDirLister::slotJobToBeKilled(KURL const&) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x4055413C: KDirLister::qt_invoke(int, QUObject*) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x40D22338: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/lib/qt3/lib/libqt-mt.so.3.1.2) ==4229== by 0x405537B8: KDirLister::completed(KURL const&) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x4055093A: KDirListerCache::slotUpdateResult(KIO::Job*) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x405547CE: KDirListerCache::qt_invoke(int, QUObject*) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x40D22338: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/lib/qt3/lib/libqt-mt.so.3.1.2) ==4229== by 0x404BD995: KIO::Job::result(KIO::Job*) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x404AAC01: KIO::Job::emitResult() (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x404ABF8A: KIO::SimpleJob::slotFinished() (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x404B2B8D: KIO::ListJob::slotFinished() (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x404BFDAF: KIO::ListJob::qt_invoke(int, QUObject*) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x40D22338: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/lib/qt3/lib/libqt-mt.so.3.1.2) ==4229== Address 0x45E9DB94 is not stack'd, malloc'd or free'd ==4229== ==4229== Invalid read of size 4 ==4229== at 0x40F78B0D: QString::QString(QString const&) (in /usr/lib/qt3/lib/libqt-mt.so.3.1.2) ==4229== by 0x409D1734: KURL::equals(KURL const&, bool) const (in /code/opt/kde3/lib/libkdecore.so.4.2.0) ==4229== by 0x409D16C4: KURL::cmp(KURL const&, bool) const (in /code/opt/kde3/lib/libkdecore.so.4.2.0) ==4229== by 0x405532DE: KDirLister::slotJobToBeKilled(KURL const&) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x4055413C: KDirLister::qt_invoke(int, QUObject*) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x40D22338: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/lib/qt3/lib/libqt-mt.so.3.1.2) ==4229== by 0x405537B8: KDirLister::completed(KURL const&) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x4055093A: KDirListerCache::slotUpdateResult(KIO::Job*) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x405547CE: KDirListerCache::qt_invoke(int, QUObject*) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x40D22338: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/lib/qt3/lib/libqt-mt.so.3.1.2) ==4229== by 0x404BD995: KIO::Job::result(KIO::Job*) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x404AAC01: KIO::Job::emitResult() (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x404ABF8A: KIO::SimpleJob::slotFinished() (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x404B2B8D: KIO::ListJob::slotFinished() (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x404BFDAF: KIO::ListJob::qt_invoke(int, QUObject*) (in /code/opt/kde3/lib/libkio.so.4.2.0) ==4229== by 0x40D22338: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/lib/qt3/lib/libqt-mt.so.3.1.2) ==4229== Address 0x4 is not stack'd, malloc'd or free'd ==4229== Warning: client attempted to close Valgrind's logfile fd (2). ==4229== Use --logfile-fd=<number> to select an alternative logfile fd. KCrash: Application 'konqueror' crashing...
http://bugs.kde.org/show_bug.cgi?id=51215#c5 has some more KDirLister nastiness... That one is KDirListerCache yanking KFileItem's from memory from under a preview job.
*** Bug 58795 has been marked as a duplicate of this bug. ***
*** Bug 60286 has been marked as a duplicate of this bug. ***
*** Bug 62147 has been marked as a duplicate of this bug. ***
I'm actually unsure if the bug is fixed or not, but it definitly should be fixed for 3.2
It's not fixed. I got the following crash with CVS from 2 days ago. [New Thread 16384 (LWP 18371)] 0x4124c5c9 in waitpid () from /lib/libpthread.so.0 #0 0x4124c5c9 in waitpid () from /lib/libpthread.so.0 #1 0x407c2351 in KCrash::defaultCrashHandler(int) (sig=11) at kcrash.cpp:246 #2 0x4124ac45 in __pthread_sighandler () from /lib/libpthread.so.0 #3 <signal handler called> #4 0x40261406 in KDirListerCache::killJob(KIO::ListJob*) (this=0x83395f0, job=0x8365260) at kdirlister.cpp:1384 #5 0x4025c856 in KDirListerCache::stop(KDirLister*) (this=0x83395f0, lister=0x8365260) at kdirlister.cpp:331 #6 0x40262cb2 in KDirLister::stop() (this=0x8365260) at kdirlister.cpp:1591 #7 0x425039e0 in KonqBaseListViewWidget::stop() (this=0x835e7d0) at konq_listviewwidget.cc:319 #8 0x424fc0f6 in KonqListView::doCloseURL() (this=0x8341a70) at konq_listview.cc:290 #9 0x4159f0f6 in KonqDirPart::closeURL() (this=0x8341a70) at konq_dirpart.cc:477 #10 0x4162ca6d in KonqView::stop() (this=0x8222d78) at konq_view.cc:853 #11 0x4165d1d9 in KonqMainWindow::abortLoading() (this=0x81091f0) at konq_mainwindow.cc:992 #12 0x4165a457 in KonqMainWindow::openURL(KonqView*, KURL const&, QString const&, KonqOpenURLRequest, bool) (this=0x81091f0, _view=0x82d3108, _url=@0xbfffed50, _serviceType=@0xbfffed8c, req= {typedURL = {static null = {static null = <same as static member of an already seen type>, d = 0x8056de0, static shared_null = 0x8056de0}, d = 0x8056de0, static shared_null = 0x8056de0}, nameFilter = {static null = {static null = <same as static member of an already seen type>, d = 0x8056de0, static shared_null = 0x8056de0}, d = 0x8056de0, static shared_null = 0x8056de0}, followMode = false, newTab = false, newTabInFront = false, openAfterCurrentPage = false, forceAutoEmbed = false, args = {_vptr.URLArgs = 0x40064e78, docState = {<QValueList<QString>> = {sh = 0x82ad2f8}, <No data fields>}, reload = false, xOffset = 0, yOffset = 0, serviceType = {static null = {static null = <same as static member of an already seen type>, d = 0x8056de0, static shared_null = 0x8056de0}, d = 0x82a37e0, static shared_null = 0x8056de0}, postData = {<> = {<No data fields>}, <No data fields>}, frameName = {static null = {static null = <same as static member of an already seen type>, d = 0x8056de0, static shared_null = 0x8056de0}, d = 0x8056de0, static shared_null = 0x8056de0}, trustedSource = true, d = 0x0}}, trustedSource=true) at konq_mainwindow.cc:514 #13 0x4165cb0c in KonqMainWindow::openURL(KonqView*, KURL const&, KParts::URLArgs const&) (this=0x81091f0, childView=0x82d3108, url=@0xbfffed50, args=@0xbfffed78) at konq_mainwindow.cc:919 #14 0x4165c839 in KonqMainWindow::slotOpenURLRequest(KURL const&, KParts::URLArgs const&) (this=0x81091f0, url=@0xbfffed50, args=@0xbfffed78) at konq_mainwindow.cc:897 #15 0x41675c43 in KonqMainWindow::qt_invoke(int, QUObject*) (this=0x81091f0, _id=81, _o=0xbfffece0) at konq_mainwindow.moc:543 #16 0x40ba38f3 in QObject::activate_signal(QConnectionList*, QUObject*) () from /opt/qt3/lib/libqt-mt.so.3 #17 0x40051a31 in KParts::BrowserExtension::openURLRequestDelayed(KURL const&, KParts::URLArgs const&) (this=0x82f4e28, t0=@0xbfffed50, t1=@0xbfffed78) at browserextension.moc:289 #18 0x40050858 in KParts::BrowserExtension::slotEmitOpenURLRequestDelayed() ( this=0x82f4e28) at browserextension.cpp:481 #19 0x40053059 in KParts::BrowserExtension::qt_invoke(int, QUObject*) ( this=0x82f4e28, _id=4, _o=0xbfffee90) at browserextension.moc:554 #20 0x41f07e32 in KonqSidebarBrowserExtension::qt_invoke(int, QUObject*) ( this=0x82f4e28, _id=4, _o=0xbfffee90) at konqsidebar.moc:114 #21 0x40ba38f3 in QObject::activate_signal(QConnectionList*, QUObject*) () from /opt/qt3/lib/libqt-mt.so.3 #22 0x40e9ac17 in QSignal::signal(QVariant const&) () from /opt/qt3/lib/libqt-mt.so.3 #23 0x40bbbd65 in QSignal::activate() () from /opt/qt3/lib/libqt-mt.so.3 #24 0x40bc2cbc in QSingleShotTimer::event(QEvent*) () from /opt/qt3/lib/libqt-mt.so.3 #25 0x40b4aacd in QApplication::internalNotify(QObject*, QEvent*) () from /opt/qt3/lib/libqt-mt.so.3 #26 0x40b4a179 in QApplication::notify(QObject*, QEvent*) () from /opt/qt3/lib/libqt-mt.so.3 #27 0x407398fd in KApplication::notify(QObject*, QEvent*) (this=0xbffff4c0, receiver=0x8132f00, event=0xbffff180) at kapplication.cpp:503 #28 0x40b3a50c in QEventLoop::activateTimers() () from /opt/qt3/lib/libqt-mt.so.3 #29 0x40afa018 in QEventLoop::processEvents(unsigned) () from /opt/qt3/lib/libqt-mt.so.3 #30 0x40b5cedb in QEventLoop::enterLoop() () from /opt/qt3/lib/libqt-mt.so.3 #31 0x40b5cd84 in QEventLoop::exec() () from /opt/qt3/lib/libqt-mt.so.3 #32 0x40b4ad40 in QApplication::exec() () from /opt/qt3/lib/libqt-mt.so.3 #33 0x4161b72d in kdemain (argc=2, argv=0x8063280) at konq_main.cc:184 #34 0x408cd935 in kdeinitmain (argc=2, argv=0x8063280) at konqueror_dummy.cc:2 #35 0x0804e1bc in launch (argc=2, _name=0x806320c "konqueror", args=0x806321f "\001", cwd=0x0, envc=1, envs=0x8063230 "", reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x8063234 "eiwrk039;1074374770;653292;1273") at kinit.cpp:604 #36 0x0804f4af in handle_launcher_request (sock=8) at kinit.cpp:1167 #37 0x0804fb98 in handle_requests (waitForPid=0) at kinit.cpp:1360 #38 0x08050ff9 in main (argc=3, argv=0xbffffae4, envp=0xbffffaf4) at kinit.cpp:1797 #39 0x4139bd06 in __libc_start_main () from /lib/libc.so.6
half way reproducable? If so: get into valgrind - seriously
I'm trying, and I think I can somehow reproduce it. I have in the sidebar LAN browsing only one machine, which shows FISH and SMB. I double click on FISH and immediately I double-click on SMB. I run in gdb, and see that the crash happens in KDirListerCache::killJob() because job->kill() has a NULL pointer as job. Interesting is, that the line above: job->disconnect(), job is also derefd, but the crash happens on job->kill(). So this means, that the job pointer is set to 0 somewhere in the disconnect() function. Is a fix like this if ( job ) job->kill(); too trivial ?
I found to reproduce it in a simpler way: Just double click multiple times in a fast sequence directly on the "LAN Browser" root node.
And now I ran konqueror with valgrind (after I have already inserted the if (job ) ... and recompiled kdelibs): <snip> konqueror: WARNING: KGenericFactory: instance requested but no instance name passed to the constructor! ASSERT: "!urlsCurrentlyHeld[jobUrlStr]" in kdirlister.cpp (941) ASSERT: "!urlsCurrentlyHeld[jobUrlStr]" in kdirlister.cpp (941) ASSERT: "!urlsCurrentlyHeld[jobUrlStr]" in kdirlister.cpp (941) ASSERT: "!urlsCurrentlyHeld[jobUrlStr]" in kdirlister.cpp (941) ==21899== ==21899== Use of uninitialised value of size 4 ==21899== at 0x40F8F059: QTextFormat::QTextFormat(QFont const&, QColor const&, QTextFormatCollection*) (in /opt/qt3/lib/libqt-mt.so.3.2.3) ==21899== by 0x40F774BB: QTextFormatCollection::QTextFormatCollection() (in /opt/qt3/lib/libqt-mt.so.3.2.3) ==21899== by 0x40F5A885: QTextDocument::QTextDocument(QTextDocument*) (in /opt/qt3/lib/libqt-mt.so.3.2.3) ==21899== by 0x40F910CA: QSimpleRichText::QSimpleRichText(QString const&, QFont const&, QString const&, QStyleSheet const*) (in /opt/qt3/lib/libqt-mt.so.3.2.3) ==21899== ==21899== Use of uninitialised value of size 4 ==21899== at 0x40F8F059: QTextFormat::QTextFormat(QFont const&, QColor const&, QTextFormatCollection*) (in /opt/qt3/lib/libqt-mt.so.3.2.3) ==21899== by 0x40F774BB: QTextFormatCollection::QTextFormatCollection() (in /opt/qt3/lib/libqt-mt.so.3.2.3) ==21899== by 0x40F5A885: QTextDocument::QTextDocument(QTextDocument*) (in /opt/qt3/lib/libqt-mt.so.3.2.3) ==21899== by 0x410578BB: QTextEdit::QTextEdit(QWidget*, char const*) (in /opt/qt3/lib/libqt-mt.so.3.2.3) ASSERT: "!urlsCurrentlyHeld[jobUrlStr]" in kdirlister.cpp (941) ASSERT: "!urlsCurrentlyHeld[jobUrlStr]" in kdirlister.cpp (941) QObject::disconnect: Unexpected null parameter ASSERT: "!urlsCurrentlyHeld[jobUrlStr]" in kdirlister.cpp (941) ASSERT: "holders" in kdirlister.cpp (436) ==21899== ==21899== Invalid read of size 4 ==21899== at 0x4119BB60: QGList::findRef(void*, bool) (in /opt/qt3/lib/libqt-mt.so.3.2.3) ==21899== by 0x4119B7B3: QGList::removeRef(void*) (in /opt/qt3/lib/libqt-mt.so.3.2.3) ==21899== by 0x405D8198: QPtrList<KDirLister>::removeRef(KDirLister const*) (qptrlist.h:86) ==21899== by 0x405CDF4D: KDirListerCache::forgetDirs(KDirLister*, KURL const&, bool) (kdirlister.cpp:437) ==21899== Address 0x8 is not stack'd, malloc'd or free'd ==21899== Warning: invalid file descriptor 821 in syscall close() ==21899== Use --logfile-fd=<number> to select an alternative logfile fd. ==21899== Warning: invalid file descriptor 822 in syscall close() ==21899== Warning: invalid file descriptor 823 in syscall close() <snip>
that are quite some ASSERTs ;(
Created attachment 4225 [details] reverting a commit can you try if applying this patch makes any difference? its just a random shot, but this sounds too much like I broke something here.
No matter how hard I try I can't reproduce this. Using Debian Sid packages of KDE3.1.5.
Subject: Re: konqi crash when using lan:// IO slave On Sunday 18 January 2004 10:03, Dirk Mueller wrote: > can you try if applying this patch makes any difference? > > its just a random shot, but this sounds too much like I broke > something here. Sorry, did not solve the problem: konqueror: WARNING: KGenericFactory: instance requested but no instance name passed to the constructor! ASSERT: "!urlsCurrentlyHeld[jobUrlStr]" in kdirlister.cpp (938) ASSERT: "item" in kdirlister.cpp (438) #3 <signal handler called> #4 0x403c4131 in KDirListerCache::forgetDirs(KDirLister*, KURL const&, bool) ( this=0x8304148, lister=0x832eb10, url=@0x0, notify=64) at kdirlister.cpp:470 #5 0x403c3dcf in KDirListerCache::forgetDirs(KDirLister*) (this=0x8304148, lister=0x832eb10) at kdirlister.cpp:422 #6 0x403c2b94 in KDirListerCache::listDir(KDirLister*, KURL const&, bool, bool) (this=0x8304148, lister=0x832eb10, _u=@0xbfffed60, _keep=false, _reload=true) at kdirlister.cpp:108 #7 0x403c9c70 in KDirLister::openURL(KURL const&, bool, bool) ( this=0x832eb10, _url=@0xbfffed60, _keep=false, _reload=true) at kdirlister.cpp:1580 #8 0x41f861b2 in KonqBaseListViewWidget::openURL(KURL const&) ( this=0x8328230, url=@0xbfffed60) at konq_listviewwidget.cc:896 #9 0x41f7c09c in KonqListView::doOpenURL(KURL const&) (this=0x8307fd8, url=@0xbfffed60) at konq_listview.cc:285 #10 0x4015c20a in KonqDirPart::openURL(KURL const&) (this=0x8307fd8, url=@0xbfffed60) at konq_dirpart.cc:493 #11 0x40080140 in KonqView::openURL(KURL const&, QString const&, QString const&) (this=0x8217078, url=@0xbfffed60, locationBarURL=@0xbfffed40, nameFilter=@0xbfffee54) at konq_view.cc:203 <snip>
*** Bug 51590 has been marked as a duplicate of this bug. ***
Oh, I'm sorry for not closing this one earlier, I must have overlooked it in my list. I've fixed it, see #67710 as well, if you want. Cheers, Michael