Application that crashed: konversation Version of the application: 1.2-alpha4+ #3419 KDE Version: 4.3.60 (KDE 4.3.60 (KDE 4.4 >= 20090706)) Qt Version: 4.5.2 Operating System: Linux 2.6.29.5-191.fc11.x86_64 x86_64 Distribution: "Fedora release 11 (Leonidas)" What I was doing when the application crashed: I had konversation running for a while today and it crashed when I selected a different tab. I didn't do anything unusual though to trigger this. -- Backtrace: Application: Konversation (konversation), signal: Segmentation fault [Current thread is 1 (Thread 0x7f65a1e6c820 (LWP 2556))] Thread 7 (Thread 0x7f65972b8910 (LWP 2610)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x0000003807e5ad7b in QWaitConditionPrivate::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:87 #2 QWaitCondition::wait (time=<value optimized out>, this=<value optimized out>) at thread/qwaitcondition_unix.cpp:159 #3 0x0000003809881dac in QHostInfoAgent::run (this=0x1c3e720) at kernel/qhostinfo.cpp:260 #4 0x0000003807e59cd5 in QThreadPrivate::start (arg=0x1c3e720) at thread/qthread_unix.cpp:188 #5 0x0000003d8660686a in start_thread (arg=<value optimized out>) at pthread_create.c:297 #6 0x0000003d85ede25d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #7 0x0000000000000000 in ?? () Thread 6 (Thread 0x7f6593636910 (LWP 3220)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:220 #1 0x00007f6594ae25c1 in ?? () from /usr/lib64/libxine.so.1 #2 0x0000003d8660686a in start_thread (arg=<value optimized out>) at pthread_create.c:297 #3 0x0000003d85ede25d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #4 0x0000000000000000 in ?? () Thread 5 (Thread 0x7f6592c35910 (LWP 3221)): #0 0xffffffffff60012f in ?? () #1 0x00007f6592c34c40 in ?? () #2 0x00007fffcf7ff782 in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?) Thread 4 (Thread 0x7f659202b910 (LWP 3224)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007f6594af3493 in ?? () from /usr/lib64/libxine.so.1 #2 0x0000003d8660686a in start_thread (arg=<value optimized out>) at pthread_create.c:297 #3 0x0000003d85ede25d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #4 0x0000000000000000 in ?? () Thread 3 (Thread 0x7f659162a910 (LWP 3225)): #0 0x0000003d85ed6fa2 in select () from /lib64/libc.so.6 #1 0x00007f6594b0aa85 in xine_usec_sleep () from /usr/lib64/libxine.so.1 #2 0x00007f6594af0289 in ?? () from /usr/lib64/libxine.so.1 #3 0x0000003d8660686a in start_thread (arg=<value optimized out>) at pthread_create.c:297 #4 0x0000003d85ede25d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #5 0x0000000000000000 in ?? () Thread 2 (Thread 0x7f658dc39910 (LWP 3229)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261 #1 0x00007f6594af3493 in ?? () from /usr/lib64/libxine.so.1 #2 0x0000003d8660686a in start_thread (arg=<value optimized out>) at pthread_create.c:297 #3 0x0000003d85ede25d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #4 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f65a1e6c820 (LWP 2556)): [KCrash Handler] #5 QTreeWidgetItem::parent (this=<value optimized out>) at itemviews/qtreewidget.h:183 #6 QTreeModel::index (this=<value optimized out>) at itemviews/qtreewidget.cpp:235 #7 0x00000038092d64e3 in QTreeModel::parent (this=0x207c220, child=<value optimized out>) at itemviews/qtreewidget.cpp:298 #8 0x000000380929a93f in QModelIndex::parent (this=<value optimized out>) at ../../src/corelib/kernel/qabstractitemmodel.h:369 #9 QTreeView::indexRowSizeHint (this=<value optimized out>) at itemviews/qtreeview.cpp:2764 #10 0x000000380929b0ce in QTreeViewPrivate::itemHeight (this=0x2077670, item=36) at itemviews/qtreeview.cpp:3207 #11 0x000000380929b327 in QTreeViewPrivate::updateScrollBars (this=0x2077670) at itemviews/qtreeview.cpp:3459 #12 0x000000380929b774 in QTreeView::updateGeometries (this=0x2077500) at itemviews/qtreeview.cpp:2693 #13 0x0000003808ddd684 in QWidget::event (this=0x2077500, event=0x7fffcf6b22a0) at kernel/qwidget.cpp:7695 #14 0x00000038091379c6 in QFrame::event (this=0x2077500, e=0x7fffcf6b22a0) at widgets/qframe.cpp:559 #15 0x000000380926a06b in QAbstractItemView::viewportEvent (this=0x2077500, event=0x7fffcf6b22a0) at itemviews/qabstractitemview.cpp:1476 #16 0x00000038092a0370 in QTreeView::viewportEvent (this=0x2077500, event=0x7fffcf6b22a0) at itemviews/qtreeview.cpp:1266 #17 0x0000003807f3f007 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x205f7e0, event=0x7fffcf6b22a0) at kernel/qcoreapplication.cpp:726 #18 0x0000003808d8edfc in QApplicationPrivate::notify_helper (this=0x1761b40, receiver=0x205f7e0, e=0x7fffcf6b22a0) at kernel/qapplication.cpp:4052 #19 0x0000003808d95e5e in QApplication::notify (this=0x7fffcf6b5490, receiver=0x205f7e0, e=0x7fffcf6b22a0) at kernel/qapplication.cpp:4021 #20 0x00007f65a4229353 in KApplication::notify (this=0x7fffcf6b5490, receiver=0x205f7e0, event=0x7fffcf6b22a0) at /root/kdelibs/kdeui/kernel/kapplication.cpp:302 #21 0x0000003807f3fcbc in QCoreApplication::notifyInternal (this=0x7fffcf6b5490, receiver=0x205f7e0, event=0x7fffcf6b22a0) at kernel/qcoreapplication.cpp:610 #22 0x0000003808ddc5db in QCoreApplication::sendEvent (event=<value optimized out>, receiver=<value optimized out>, receiver=<value optimized out>, event=<value optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:213 #23 QWidgetPrivate::sendPendingMoveAndResizeEvents (event=<value optimized out>, receiver=<value optimized out>, receiver=<value optimized out>, event=<value optimized out>) at kernel/qwidget.cpp:6646 #24 0x0000003808de2813 in QWidgetPrivate::show_helper (this=0x7fffcf6b1550) at kernel/qwidget.cpp:6697 #25 0x0000003808de3a5a in QWidget::setVisible (this=0x205f7e0, visible=<value optimized out>) at kernel/qwidget.cpp:6975 #26 0x0000003808de2ca6 in QWidget::show (this=<value optimized out>) at ../../src/gui/kernel/qwidget.h:473 #27 QWidgetPrivate::showChildren (this=<value optimized out>) at kernel/qwidget.cpp:7063 #28 0x0000003808de282f in QWidgetPrivate::show_helper (this=0x2077670) at kernel/qwidget.cpp:6703 #29 0x0000003808de3a5a in QWidget::setVisible (this=0x2077500, visible=<value optimized out>) at kernel/qwidget.cpp:6975 #30 0x0000003808de2ca6 in QWidget::show (this=<value optimized out>) at ../../src/gui/kernel/qwidget.h:473 #31 QWidgetPrivate::showChildren (this=<value optimized out>) at kernel/qwidget.cpp:7063 #32 0x0000003808de282f in QWidgetPrivate::show_helper (this=0x20767d0) at kernel/qwidget.cpp:6703 #33 0x0000003808de2c11 in QWidgetPrivate::showChildren (this=<value optimized out>, spontaneous=false) at kernel/qwidget.cpp:7061 #34 0x0000003808de282f in QWidgetPrivate::show_helper (this=0x2057870) at kernel/qwidget.cpp:6703 #35 0x0000003808de3a5a in QWidget::setVisible (this=0x20569b0, visible=<value optimized out>) at kernel/qwidget.cpp:6975 #36 0x0000003808de2ca6 in QWidget::show (this=<value optimized out>) at ../../src/gui/kernel/qwidget.h:473 #37 QWidgetPrivate::showChildren (this=<value optimized out>) at kernel/qwidget.cpp:7063 #38 0x0000003808de282f in QWidgetPrivate::show_helper (this=0x204bb10) at kernel/qwidget.cpp:6703 #39 0x0000003808de3a5a in QWidget::setVisible (this=0x2041080, visible=<value optimized out>) at kernel/qwidget.cpp:6975 #40 0x0000003808de2ca6 in QWidget::show (this=<value optimized out>) at ../../src/gui/kernel/qwidget.h:473 #41 QWidgetPrivate::showChildren (this=<value optimized out>) at kernel/qwidget.cpp:7063 #42 0x0000003808de282f in QWidgetPrivate::show_helper (this=0x20431f0) at kernel/qwidget.cpp:6703 #43 0x0000003808de3a5a in QWidget::setVisible (this=0x2042f80, visible=<value optimized out>) at kernel/qwidget.cpp:6975 #44 0x0000003808dc7ced in QWidget::show (this=<value optimized out>) at ../../src/gui/kernel/qwidget.h:473 #45 QStackedLayout::setCurrentIndex (this=<value optimized out>) at kernel/qstackedlayout.cpp:313 #46 0x00000038091ab8f3 in QTabWidgetPrivate::_q_showTab (this=0x194bb10, index=3) at widgets/qtabwidget.cpp:723 #47 0x00000038091abbb0 in QTabWidget::qt_metacall (this=0x175c340, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffcf6b2d00) at .moc/release-shared/moc_qtabwidget.cpp:136 #48 0x00007f65a43477e5 in KTabWidget::qt_metacall (this=0x175c340, _c=QMetaObject::InvokeMetaMethod, _id=36, _a=0x7fffcf6b2d00) at /root/kdelibs-dev/kdeui/ktabwidget.moc:124 #49 0x0000003807f54fdc in QMetaObject::activate (sender=0x194dc60, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3113 #50 0x000000380919ec5e in QTabBar::currentChanged (this=0x7fffcf6b1550, _t1=3) at .moc/release-shared/moc_qtabbar.cpp:201 #51 0x00000038091a545e in QTabBar::mousePressEvent (this=0x194dc60, event=0x7fffcf6b35a0) at widgets/qtabbar.cpp:1707 #52 0x00007f65a43439e2 in KTabBar::mousePressEvent (this=0x194dc60, event=0x7fffcf6b35a0) at /root/kdelibs/kdeui/widgets/ktabbar.cpp:123 #53 0x0000003808ddd856 in QWidget::event (this=0x194dc60, event=0x7fffcf6b35a0) at kernel/qwidget.cpp:7545 #54 0x00000038091a54fa in QTabBar::event (this=0x194dc60, event=0x7fffcf6b35a0) at widgets/qtabbar.cpp:1453 #55 0x0000003808d8ee2c in QApplicationPrivate::notify_helper (this=0x1761b40, receiver=0x194dc60, e=0x7fffcf6b35a0) at kernel/qapplication.cpp:4056 #56 0x0000003808d96551 in QApplication::notify (this=<value optimized out>, receiver=0x194dc60, e=0x7fffcf6b35a0) at kernel/qapplication.cpp:3758 #57 0x00007f65a4229353 in KApplication::notify (this=0x7fffcf6b5490, receiver=0x194dc60, event=0x7fffcf6b35a0) at /root/kdelibs/kdeui/kernel/kapplication.cpp:302 #58 0x0000003807f3fcbc in QCoreApplication::notifyInternal (this=0x7fffcf6b5490, receiver=0x194dc60, event=0x7fffcf6b35a0) at kernel/qcoreapplication.cpp:610 #59 0x0000003808d95810 in QCoreApplication::sendSpontaneousEvent (event=<value optimized out>, receiver=<value optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:216 #60 QApplicationPrivate::sendMouseEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qapplication.cpp:2924 #61 0x0000003808dfb61e in QETWidget::translateMouseEvent (this=0x1947be0, event=<value optimized out>) at kernel/qapplication_x11.cpp:4409 #62 0x0000003808dfa6b9 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fffcf6b50d0) at kernel/qapplication_x11.cpp:3550 #63 0x0000003808e223bc in x11EventSourceDispatch (s=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146 #64 0x0000003d87637afe in g_main_dispatch (context=<value optimized out>) at gmain.c:1814 #65 IA__g_main_context_dispatch (context=<value optimized out>) at gmain.c:2367 #66 0x0000003d8763b1d8 in g_main_context_iterate (context=0x176a0a0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2445 #67 0x0000003d8763b300 in IA__g_main_context_iteration (context=0x176a0a0, may_block=1) at gmain.c:2508 #68 0x0000003807f683b6 in QEventDispatcherGlib::processEvents (this=0x1734bd0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327 #69 0x0000003808e21b6e in QGuiEventDispatcherGlib::processEvents (this=0x7fffcf6b1550, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202 #70 0x0000003807f3e5f2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 36}) at kernel/qeventloop.cpp:149 #71 0x0000003807f3e9c4 in QEventLoop::exec (this=0x7fffcf6b5400, flags={i = 0}) at kernel/qeventloop.cpp:201 #72 0x0000003807f40b79 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888 #73 0x0000000000462ca0 in main (argc=5, argv=0x7fffcf6b6148) at /root/extragear/network/konversation/src/main.cpp:100 Reported using DrKonqi
SVN commit 996715 by modax: executeDelayedItemsLayout() on the nicknameListView after deleting the nick. This should ensure QTreeWidget internals do not keep deleted QTreeWidgetItem pointers around. This commit should solve the bug #200123. If you ever experience it again and/or the backtrace somewhat matches, please reopen the bug. BUG:200123 M +1 -1 commit.h M +2 -0 irc/channel.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=996715
commit f3968507fc6815154ea6ac8a58555899ca7b58ab Author: Modestas Vainius <modestas@vainius.eu> Date: Tue Jul 14 18:54:31 2009 +0000 executeDelayedItemsLayout() on the nicknameListView after deleting the nick. This should ensure QTreeWidget internals do not keep deleted QTreeWidgetItem pointers around. This commit should solve the bug #200123. If you ever experience it again and/or the backtrace somewhat matches, please reopen the bug. BUG:200123 svn path=/trunk/extragear/network/konversation/; revision=996715 diff --git a/src/commit.h b/src/commit.h index b14462f..acf95b2 100644 --- a/src/commit.h +++ b/src/commit.h @@ -1,4 +1,4 @@ // This COMMIT number is added to version string to be used as "patch level" #ifndef COMMIT -#define COMMIT 3419 +#define COMMIT 3420 #endif diff --git a/src/irc/channel.cpp b/src/irc/channel.cpp index 1c72eae..04ffeab 100644 --- a/src/irc/channel.cpp +++ b/src/irc/channel.cpp @@ -1461,6 +1461,8 @@ void Channel::removeNick(ChannelNickPtr channelNick, const QString &reason, bool { nicknameList.removeOne(nick); delete nick; + // Execute this otherwise it may crash trying to access deleted nick + nicknameListView->executeDelayedItemsLayout(); } else {