Bug 210551 - Konqui was in background when it crashed (tab closing) [KonqMainWindow::slotAddClosedUrl]
Summary: Konqui was in background when it crashed (tab closing) [KonqMainWindow::slotA...
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
: 210918 213517 214209 219435 221321 222072 223035 224724 225357 225362 229175 230047 230810 231548 231940 231961 235619 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-10-14 15:51 UTC by m.wege
Modified: 2011-11-18 05:43 UTC (History)
12 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description m.wege 2009-10-14 15:51:03 UTC
Application that crashed: konqueror
Version of the application: 4.3.2 (KDE 4.3.2)
KDE Version: 4.3.2 (KDE 4.3.2)
Qt Version: 4.5.2
Operating System: Linux 2.6.30-02063003-generic i686
Distribution: Ubuntu 9.04

 -- Backtrace:
Application: Konqueror (kdeinit4), signal: Segmentation fault
[Current thread is 0 (LWP 5211)]

Thread 2 (Thread 0xafa02b90 (LWP 14929)):
#0  0xb7f6c430 in __kernel_vsyscall ()
#1  0xb64600e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb66402ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6
#3  0xb7d66172 in QWaitCondition::wait (this=0xc145878, mutex=0xc145874, time=4294967295) at thread/qwaitcondition_unix.cpp:87
#4  0xb76a2ac2 in QHostInfoAgent::run (this=0xc145868) at kernel/qhostinfo.cpp:260
#5  0xb7d65132 in QThreadPrivate::start (arg=0xc145868) at thread/qthread_unix.cpp:188
#6  0xb645c4ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#7  0xb663149e in clone () from /lib/tls/i686/cmov/libc.so.6

Thread 1 (Thread 0xb5f69a20 (LWP 5211)):
[KCrash Handler]
#6  KonqMainWindow::slotAddClosedUrl (this=0x90b7620, tab=0x0) at /build/buildd/kdebase-4.3.2/apps/konqueror/src/konqmainwindow.cpp:5189
#7  0xb49e17b1 in KonqMainWindow::qt_metacall (this=0x90b7620, _c=QMetaObject::InvokeMetaMethod, _id=44, _a=0xbffe479c)
    at /build/buildd/kdebase-4.3.2/obj-i486-linux-gnu/apps/konqueror/src/konqmainwindow.moc:379
#8  0xb7e6f1b8 in QMetaObject::activate (sender=0x90d0460, from_signal_index=10, to_signal_index=10, argv=0xbffe479c) at kernel/qobject.cpp:3113
#9  0xb7e6fe42 in QMetaObject::activate (sender=0x90d0460, m=0xb4a26d88, local_signal_index=0, argv=0xbffe479c) at kernel/qobject.cpp:3187
#10 0xb4985f23 in KonqViewManager::aboutToRemoveTab (this=0x90d0460, _t1=0x0) at /build/buildd/kdebase-4.3.2/obj-i486-linux-gnu/apps/konqueror/src/konqviewmanager.moc:106
#11 0xb4986cef in KonqViewManager::removeTab (this=0x90d0460, currentFrame=0x0, emitAboutToRemoveSignal=true) at /build/buildd/kdebase-4.3.2/apps/konqueror/src/konqviewmanager.cpp:389
#12 0xb49b9e25 in KonqMainWindow::slotRemoveTabPopupDelayed (this=0x90b7620) at /build/buildd/kdebase-4.3.2/apps/konqueror/src/konqmainwindow.cpp:2559
#13 0xb49e1ccc in KonqMainWindow::qt_metacall (this=0x90b7620, _c=QMetaObject::InvokeMetaMethod, _id=82, _a=0xbffe4918)
    at /build/buildd/kdebase-4.3.2/obj-i486-linux-gnu/apps/konqueror/src/konqmainwindow.moc:417
#14 0xb7e6f1b8 in QMetaObject::activate (sender=0xa8014e8, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3113
#15 0xb7e6fe42 in QMetaObject::activate (sender=0xa8014e8, m=0xb7f4b908, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3187
#16 0xb7e74f77 in QSingleShotTimer::timeout (this=0xa8014e8) at .moc/release-shared/qtimer.moc:76
#17 0xb7e7509c in QSingleShotTimer::timerEvent (this=0xa8014e8) at kernel/qtimer.cpp:298
#18 0xb7e6a16f in QObject::event (this=0xa8014e8, e=0xbffe4d9c) at kernel/qobject.cpp:1075
#19 0xb6915d3c in QApplicationPrivate::notify_helper (this=0x905fe30, receiver=0xa8014e8, e=0xbffe4d9c) at kernel/qapplication.cpp:4056
#20 0xb691e03e in QApplication::notify (this=0xbffe5200, receiver=0xa8014e8, e=0xbffe4d9c) at kernel/qapplication.cpp:3603
#21 0xb742649d in KApplication::notify (this=0xbffe5200, receiver=0xa8014e8, event=0xbffe4d9c) at /build/buildd/kde4libs-4.3.2/kdeui/kernel/kapplication.cpp:302
#22 0xb7e59bcb in QCoreApplication::notifyInternal (this=0xbffe5200, receiver=0xa8014e8, event=0xbffe4d9c) at kernel/qcoreapplication.cpp:610
#23 0xb7e88d51 in QTimerInfoList::activateTimers (this=0x9062e74) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#24 0xb7e853a0 in timerSourceDispatch (source=0x9062e40) at kernel/qeventdispatcher_glib.cpp:165
#25 0xb64a9b88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#26 0xb64ad0eb in ?? () from /usr/lib/libglib-2.0.so.0
#27 0xb64ad268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#28 0xb7e852f8 in QEventDispatcherGlib::processEvents (this=0x8fead30, flags={i = -1073852648}) at kernel/qeventdispatcher_glib.cpp:327
#29 0xb69b7a75 in QGuiEventDispatcherGlib::processEvents (this=0x8fead30, flags={i = -1073852600}) at kernel/qguieventdispatcher_glib.cpp:202
#30 0xb7e581fa in QEventLoop::processEvents (this=0xbffe4fc0, flags={i = -1073852536}) at kernel/qeventloop.cpp:149
#31 0xb7e58642 in QEventLoop::exec (this=0xbffe4fc0, flags={i = -1073852472}) at kernel/qeventloop.cpp:201
#32 0xb7e5aae9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#33 0xb6915bb7 in QApplication::exec () at kernel/qapplication.cpp:3525
#34 0xb4a128a8 in kdemain (argc=2, argv=0x903b428) at /build/buildd/kdebase-4.3.2/apps/konqueror/src/konqmain.cpp:271
#35 0x0804e27d in launch (argc=2, _name=0x903b5cc "/usr/bin/konqueror", args=0x903b5e7 "", cwd=0x0, envc=0, envs=0x903b5ec "", reset_env=false, tty=0x0, avoid_loops=false, 
    startup_id_str=0x903b5f0 "penguin;1255503147;943661;3288_TIME1432297") at /build/buildd/kde4libs-4.3.2/kinit/kinit.cpp:677
#36 0x0804ea5d in handle_launcher_request (sock=7, who=<value optimized out>) at /build/buildd/kde4libs-4.3.2/kinit/kinit.cpp:1169
#37 0x0804efe5 in handle_requests (waitForPid=0) at /build/buildd/kde4libs-4.3.2/kinit/kinit.cpp:1362
#38 0x0804fbca in main (argc=2, argv=0xbffe5bf4, envp=0xbffe5c00) at /build/buildd/kde4libs-4.3.2/kinit/kinit.cpp:1793

Reported using DrKonqi
Comment 1 David Faure 2009-10-14 16:13:13 UTC
I see.

Notes for myself:

if (m_pWorkingTab) should fix the crash at least
But this should really pass the tab as argument rather than use a member var.
Comment 2 Frank Reininghaus 2009-10-14 17:28:57 UTC
@David: Note that there were quite a few reports with that backtrace already (see bug 150162 and duplicates).
Comment 3 Frank Reininghaus 2009-11-07 10:08:25 UTC
*** Bug 210918 has been marked as a duplicate of this bug. ***
Comment 4 Frank Reininghaus 2009-11-07 10:09:18 UTC
*** Bug 213517 has been marked as a duplicate of this bug. ***
Comment 5 Frank Reininghaus 2009-11-12 09:49:05 UTC
*** Bug 214209 has been marked as a duplicate of this bug. ***
Comment 6 Frank Reininghaus 2009-12-20 21:57:22 UTC
*** Bug 219435 has been marked as a duplicate of this bug. ***
Comment 7 Frank Reininghaus 2010-01-07 16:28:57 UTC
*** Bug 221321 has been marked as a duplicate of this bug. ***
Comment 8 Maksim Orlovich 2010-01-16 22:17:56 UTC
*** Bug 222072 has been marked as a duplicate of this bug. ***
Comment 9 Maksim Orlovich 2010-01-16 22:18:11 UTC
*** Bug 223035 has been marked as a duplicate of this bug. ***
Comment 10 Frank Reininghaus 2010-01-29 13:49:01 UTC
*** Bug 224724 has been marked as a duplicate of this bug. ***
Comment 11 Dario Andres 2010-02-04 02:52:08 UTC
Shouldn't this be merged with bug 150162 ? (or is there some difference?) Regards
Comment 12 Dario Andres 2010-02-04 02:52:12 UTC
*** Bug 225357 has been marked as a duplicate of this bug. ***
Comment 13 Dario Andres 2010-02-04 02:52:17 UTC
*** Bug 225362 has been marked as a duplicate of this bug. ***
Comment 14 Frank Reininghaus 2010-02-06 00:05:29 UTC
(In reply to comment #11)
> Shouldn't this be merged with bug 150162 ? (or is there some difference?)

It seems there really is a difference: In KonqViewManager::removeTab, the argument currentFrame is 0 here, which is dereferenced later on -> segfault which can be fixed like David suggested in comment 1.

In bug 150162, currentFrame is not 0, but does not seem to be a valid pointer either.

I have only noticed this now, I'm not sure if I've marked the duplicates correctly...
Comment 15 Maksim Orlovich 2010-03-03 00:02:34 UTC
*** Bug 229175 has been marked as a duplicate of this bug. ***
Comment 16 David Faure 2010-03-03 01:03:08 UTC
Frank: No worries, it's the same bug. Actually I see how m_pWorkingTab can be dangling (if one does Ctrl+W more than once, faster than the singleshot timer), more than how it could be 0 (delete+add very fast? one has to be really really fast). But anyway the fix will fix both.
Comment 17 David Faure 2010-03-03 16:43:41 UTC
SVN commit 1098373 by dfaure:

Fix crash when closing tabs fast: don't keep pointers to tabs/frames across event loop returns,
keep ints instead (tab numbers)
Fixed for: 4.5 with this commit, to be backported if it proves stable enough.
BUG: 210551
BUG: 150162


 M  +36 -14    konqmainwindow.cpp  
 M  +7 -4      konqmainwindow.h  
 M  +8 -8      konqtabs.cpp  
 M  +8 -1      konqtabs.h  
 M  +10 -12    konqviewmanager.cpp  
 M  +2 -2      konqviewmanager.h  
 M  +19 -1     tests/konqviewmgrtest.cpp  
 M  +1 -0      tests/konqviewmgrtest.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1098373
Comment 18 Frank Reininghaus 2010-03-15 14:42:25 UTC
*** Bug 230810 has been marked as a duplicate of this bug. ***
Comment 19 Frank Reininghaus 2010-03-21 15:26:30 UTC
*** Bug 231548 has been marked as a duplicate of this bug. ***
Comment 20 Tommi Tervo 2010-03-23 21:33:08 UTC
*** Bug 231940 has been marked as a duplicate of this bug. ***
Comment 21 Frank Reininghaus 2010-03-24 07:27:25 UTC
*** Bug 231961 has been marked as a duplicate of this bug. ***
Comment 22 Frank Reininghaus 2010-04-28 13:39:33 UTC
*** Bug 235619 has been marked as a duplicate of this bug. ***
Comment 23 David Faure 2010-04-28 15:20:17 UTC
SVN commit 1120142 by dfaure:

Backport fix for bug 210551 (crash when closing tabs fast) to the 4.4 branch, so that the fix is in 4.4.3.
CCBUG: 210551


 M  +36 -14    konqmainwindow.cpp  
 M  +7 -4      konqmainwindow.h  
 M  +9 -13     konqtabs.cpp  
 M  +7 -0      konqtabs.h  
 M  +9 -11     konqviewmanager.cpp  
 M  +2 -2      konqviewmanager.h  
 M  +19 -1     tests/konqviewmgrtest.cpp  
 M  +1 -0      tests/konqviewmgrtest.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1120142
Comment 24 Dawit Alemayehu 2011-11-18 05:43:14 UTC
*** Bug 230047 has been marked as a duplicate of this bug. ***