Bug 50149 - konqi crash when using lan:// IO slave
Summary: konqi crash when using lan:// IO slave
Status: RESOLVED FIXED
Alias: None
Product: kio
Classification: Frameworks and Libraries
Component: kioslave (show other bugs)
Version: SVN
Platform: Compiled Sources Linux
: NOR grave
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
: 51590 51934 53675 53952 55370 58795 60286 62147 (view as bug list)
Depends on:
Blocks:
 
Reported: 2002-11-04 09:56 UTC by Martin Koller
Modified: 2004-05-10 17:47 UTC (History)
8 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
reverting a commit (3.68 KB, patch)
2004-01-18 10:03 UTC, Dirk Mueller
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Koller 2002-11-04 09:56:17 UTC
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
Comment 1 Maksim Orlovich 2003-03-01 16:14:39 UTC
*** Bug 55370 has been marked as a duplicate of this bug. ***
Comment 2 Maksim Orlovich 2003-03-12 06:40:07 UTC
*** Bug 53675 has been marked as a duplicate of this bug. ***
Comment 3 Maksim Orlovich 2003-03-12 06:42:38 UTC
*** Bug 53952 has been marked as a duplicate of this bug. ***
Comment 4 Maksim Orlovich 2003-03-12 06:47:32 UTC
*** Bug 51934 has been marked as a duplicate of this bug. ***
Comment 5 Maksim Orlovich 2003-03-12 06:48:11 UTC
From  #51934: 
"when repeatingly clicking on a SMB (folder) in the LANbrowser (wich uses Lisa) koqueror 
crashes " 
  
  
  
Comment 6 Maksim Orlovich 2003-03-12 06:53:25 UTC
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 
 
Comment 7 Stephan Kulow 2003-05-13 10:06:35 UTC
Maksim: can you still reproduce it after the last week's fixes?  
Comment 8 Maksim Orlovich 2003-05-13 16:06:42 UTC
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... 
 
 
Comment 9 Maksim Orlovich 2003-05-16 02:49:46 UTC
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. 
 
Comment 10 Stephan Kulow 2003-05-26 09:40:31 UTC
*** Bug 58795 has been marked as a duplicate of this bug. ***
Comment 11 Maksim Orlovich 2003-06-23 22:33:30 UTC
*** Bug 60286 has been marked as a duplicate of this bug. ***
Comment 12 Thiago Macieira 2003-08-05 12:12:16 UTC
*** Bug 62147 has been marked as a duplicate of this bug. ***
Comment 13 Stephan Kulow 2003-09-14 12:27:13 UTC
I'm actually unsure if the bug is fixed or not, but it definitly should be fixed for 3.2 
Comment 14 Martin Koller 2004-01-17 22:31:34 UTC
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
Comment 15 Stephan Kulow 2004-01-17 22:39:30 UTC
half way reproducable? If so: get into valgrind - seriously
Comment 16 Martin Koller 2004-01-17 22:51:38 UTC
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 ?
Comment 17 Martin Koller 2004-01-17 23:37:36 UTC
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.
Comment 18 Martin Koller 2004-01-18 00:26:05 UTC
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>
Comment 19 Stephan Kulow 2004-01-18 09:58:19 UTC
that are quite some ASSERTs ;(
Comment 20 Dirk Mueller 2004-01-18 10:03:41 UTC
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.
Comment 21 Anders E. Andersen 2004-01-18 11:25:58 UTC
No matter how hard I try I can't reproduce this. Using Debian Sid packages of KDE3.1.5.
Comment 22 Martin Koller 2004-01-18 13:01:48 UTC
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>
Comment 23 Waldo Bastian 2004-01-19 22:10:59 UTC
*** Bug 51590 has been marked as a duplicate of this bug. ***
Comment 24 Michael Brade 2004-05-10 17:47:55 UTC
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