Bug 208374

Summary: Konqueror crashed when closing a tab [KonqMainWindow::slotPartActivated, KonqViewManager::emitActivePartChanged, KonqViewManager::doSetActivePart]
Product: [Applications] konqueror Reporter: Dario Massarin <nekkar>
Component: generalAssignee: Konqueror Developers <konq-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Dario Massarin 2009-09-24 12:33:49 UTC
Application: konqueror (4.3.68 (KDE 4.3.68 (KDE 4.4 >= 20090916)))
KDE Version: 4.3.68 (KDE 4.3.68 (KDE 4.4 >= 20090916)) (Compiled from sources)
Qt Version: 4.5.1
Operating System: Linux 2.6.29-gentoo-r5 i686

What I was doing when the application crashed:
Nothing particular to declare. Konqueror was opened with some tabs. When I tried to close the last one, it crashed.

 -- Backtrace:
Application: Konqueror (kdeinit4), signal: Aborted
[KCrash Handler]
#5  0xb8056424 in __kernel_vsyscall ()
#6  0xb671b650 in raise () from /lib/libc.so.6
#7  0xb671ce88 in abort () from /lib/libc.so.6
#8  0xb7e96573 in qt_message_output (msgType=QtFatalMsg, buf=0x9ee2e48 "ASSERT: \"newView\" in file /opt/kde/kdebase/apps/konqueror/src/konqmainwindow.cpp, line 1977") at global/qglobal.cpp:2017
#9  0xb7e965ea in qFatal (msg=0xb7feabd4 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2216
#10 0xb7e96a29 in qt_assert (assertion=0xb3de1e9d "newView", file=0xb3ddb7b8 "/opt/kde/kdebase/apps/konqueror/src/konqmainwindow.cpp", line=1977) at global/qglobal.cpp:1786
#11 0xb3d8b26f in KonqMainWindow::slotPartActivated (this=0x8829528, part=0x918a2e8) at /opt/kde/kdebase/apps/konqueror/src/konqmainwindow.cpp:1977
#12 0xb3d45988 in KonqViewManager::emitActivePartChanged (this=0x8826088) at /opt/kde/kdebase/apps/konqueror/src/konqviewmanager.cpp:1068
#13 0xb3d45d6b in KonqViewManager::doSetActivePart (this=0x8826088, part=0x918a2e8) at /opt/kde/kdebase/apps/konqueror/src/konqviewmanager.cpp:1039
#14 0xb3d45d96 in KonqViewManager::setActivePart (this=0x8826088, part=0x918a2e8) at /opt/kde/kdebase/apps/konqueror/src/konqviewmanager.cpp:1000
#15 0xb7bbbfcb in KParts::PartManager::eventFilter (this=0x8826088, obj=0x9439940, ev=0xbfc70180) at /opt/kde/kdelibs/kparts/partmanager.cpp:282
#16 0xb7f93b3c in QCoreApplicationPrivate::sendThroughApplicationEventFilters (this=0x8749940, receiver=0x9439940, event=0xbfc70180) at kernel/qcoreapplication.cpp:707
#17 0xb6abb0fa in QApplicationPrivate::notify_helper (this=0x8749940, receiver=0x9439940, e=0xbfc70180) at kernel/qapplication.cpp:4032
#18 0xb6abd166 in QApplication::notify (this=0xbfc7104c, receiver=0x9439940, e=0xbfc70180) at kernel/qapplication.cpp:4022
#19 0xb753169d in KApplication::notify (this=0xbfc7104c, receiver=0x9439940, event=0xbfc70180) at /opt/kde/kdelibs/kdeui/kernel/kapplication.cpp:302
#20 0xb7f95683 in QCoreApplication::notifyInternal (this=0xbfc7104c, receiver=0x9439940, event=0xbfc70180) at kernel/qcoreapplication.cpp:606
#21 0xb7f99211 in QCoreApplication::sendEvent (receiver=0x9439940, event=0xbfc70180) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#22 0xb6abe812 in QApplicationPrivate::setFocusWidget (focus=0x9439940, reason=Qt::TabFocusReason) at kernel/qapplication.cpp:2098
#23 0xb6b11c5d in QWidget::setFocus (this=0x9439940, reason=Qt::TabFocusReason) at kernel/qwidget.cpp:5720
#24 0xb6b11f35 in QWidget::focusNextPrevChild (this=0x8829528, next=true) at kernel/qwidget.cpp:5863
#25 0xb6b11e95 in QWidget::focusNextPrevChild (this=0x8884618, next=true) at kernel/qwidget.cpp:5855
#26 0xb6b11e95 in QWidget::focusNextPrevChild (this=0x88e4ef8, next=true) at kernel/qwidget.cpp:5855
#27 0xb6b11e95 in QWidget::focusNextPrevChild (this=0x905e428, next=true) at kernel/qwidget.cpp:5855
#28 0xb6b11e95 in QWidget::focusNextPrevChild (this=0x98a8f40, next=true) at kernel/qwidget.cpp:5855
#29 0xb6b11e95 in QWidget::focusNextPrevChild (this=0x8ad61d8, next=true) at kernel/qwidget.cpp:5855
#30 0xb1bf49ad in KHTMLView::focusNextPrevChild (this=0x8ad61d8, next=true) at /opt/kde/kdelibs/khtml/khtmlview.cpp:2014
#31 0xb6b184f0 in QWidgetPrivate::hide_helper (this=0x918a670) at kernel/qwidget.cpp:6827
#32 0xb6b2154a in QWidget::setVisible (this=0x8ad61d8, visible=false) at kernel/qwidget.cpp:6984
#33 0xb1c019aa in QWidget::hide (this=0x8ad61d8) at /opt/kde/qt4/include/QtGui/qwidget.h:477
#34 0xb1c4026f in ~KHTMLPart (this=0x918a2e8) at /opt/kde/kdelibs/khtml/khtml_part.cpp:610
#35 0xb3d3fdc7 in ~KonqView (this=0x8ad6bc0) at /opt/kde/kdebase/apps/konqueror/src/konqview.cpp:132
#36 0xb3d4aa3e in KonqViewManager::removeTab (this=0x8826088, currentFrame=0x905e43c, emitAboutToRemoveSignal=true) at /opt/kde/kdebase/apps/konqueror/src/konqviewmanager.cpp:400
#37 0xb3d89046 in KonqMainWindow::slotRemoveTabPopupDelayed (this=0x8829528) at /opt/kde/kdebase/apps/konqueror/src/konqmainwindow.cpp:2562
#38 0xb3d964c5 in KonqMainWindow::qt_metacall (this=0x8829528, _c=QMetaObject::InvokeMetaMethod, _id=82, _a=0xbfc70708) at /opt/kde/kdebase_build/apps/konqueror/src/konqmainwindow.moc:415
#39 0xb7fabb12 in QMetaObject::activate (sender=0x9c07bb8, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3117
#40 0xb7facef1 in QMetaObject::activate (sender=0x9c07bb8, m=0xb8050908, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3194
#41 0xb7fb4067 in QSingleShotTimer::timeout (this=0x9c07bb8) at .moc/debug-shared/qtimer.moc:76
#42 0xb7fb4182 in QSingleShotTimer::timerEvent (this=0x9c07bb8) at kernel/qtimer.cpp:298
#43 0xb7fa990a in QObject::event (this=0x9c07bb8, e=0xbfc70ce4) at kernel/qobject.cpp:1082
#44 0xb6abb24d in QApplicationPrivate::notify_helper (this=0x8749940, receiver=0x9c07bb8, e=0xbfc70ce4) at kernel/qapplication.cpp:4057
#45 0xb6abb601 in QApplication::notify (this=0xbfc7104c, receiver=0x9c07bb8, e=0xbfc70ce4) at kernel/qapplication.cpp:3604
#46 0xb753169d in KApplication::notify (this=0xbfc7104c, receiver=0x9c07bb8, event=0xbfc70ce4) at /opt/kde/kdelibs/kdeui/kernel/kapplication.cpp:302
#47 0xb7f95683 in QCoreApplication::notifyInternal (this=0xbfc7104c, receiver=0x9c07bb8, event=0xbfc70ce4) at kernel/qcoreapplication.cpp:606
#48 0xb7f99211 in QCoreApplication::sendEvent (receiver=0x9c07bb8, event=0xbfc70ce4) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#49 0xb7fc77d5 in QTimerInfoList::activateTimers (this=0x874bcf4) at kernel/qeventdispatcher_unix.cpp:572
#50 0xb7fc5121 in timerSourceDispatch (source=0x874bcc0) at kernel/qeventdispatcher_glib.cpp:164
#51 0xb662f5a1 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#52 0xb6632aeb in ?? () from /usr/lib/libglib-2.0.so.0
#53 0x0874bc38 in ?? ()
#54 0x00000000 in ?? ()

Reported using DrKonqi
Comment 1 Dario Massarin 2009-09-24 12:40:54 UTC

*** This bug has been marked as a duplicate of bug 207173 ***
Comment 2 David Faure 2009-09-25 19:47:26 UTC
SVN commit 1028058 by dfaure:

Better fix for 208374 (close tab with findbar shown)
which also fixes 194850 (close tab while it's loading, triggers setFocusNode somehow) :

make sure that no setFocus() from the dtor will trigger a part manager that knows
about this part, by unregistering the part from the partmanager(s).

CCBUG: 208374
BUG: 194850


 M  +11 -7     khtml_part.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1028058