----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103098/#review8080 -----------------------------------------------------------
This review has been submitted with commit 999eac446a49e6126df04aa8717f95e6aef136fc by Andras Mantia to branch KDE/4.7. - Commit Hook On Nov. 9, 2011, 9:40 p.m., Andras Mantia wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/103098/ > ----------------------------------------------------------- > > (Updated Nov. 9, 2011, 9:40 p.m.) > > > Review request for kdelibs. > > > Description > ------- > > With master, Qt 4.8 and kwebkitpart recently I run into crashes when I close > tabs holding web pages inside akregator. With the patch, it doesn't crash (as > it doesn't try to access parent() from the destructor). > > The BT is here: > > Application: Akregator (akregator), signal: Segmentation fault > [Current thread is 1 (Thread 0x7f8eebe5f760 (LWP 17084))] > > Thread 4 (Thread 0x7f8ecb314700 (LWP 17090)): > #0 0x00007f8ee4c336f9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from > /lib64/libpthread.so.0 > #1 0x00007f8ee4eef649 in QWaitConditionPrivate::wait (this=0x1956ec0, > time=30000) at thread/qwaitcondition_unix.cpp:84 > #2 0x00007f8ee4eef40d in QWaitCondition::wait (this=0x19ba150, > mutex=0x19ba148, time=30000) at thread/qwaitcondition_unix.cpp:158 > #3 0x00007f8ee4edd285 in QThreadPoolThread::run (this=0x19b5810) at > concurrent/qthreadpool.cpp:141 > #4 0x00007f8ee4eee0b6 in QThreadPrivate::start (arg=0x19b5810) at > thread/qthread_unix.cpp:298 > #5 0x00007f8ecd69a9e3 in ?? () from /usr/X11R6/lib64/libGL.so.1 > #6 0x00007f8ee4c2ea3f in start_thread () from /lib64/libpthread.so.0 > #7 0x00007f8ee3c7366d in clone () from /lib64/libc.so.6 > #8 0x0000000000000000 in ?? () > > Thread 3 (Thread 0x7f8ec968f700 (LWP 17109)): > #0 0x00007f8ee4c3338c in pthread_cond_wait@@GLIBC_2.3.2 () from > /lib64/libpthread.so.0 > #1 0x00007f8ed31d8321 in WTF::TCMalloc_PageHeap::scavengerThread() () from > //opt/qt4/lib/libQtWebKit.so.4 > #2 0x00007f8ed31d78dc in WTF::TCMalloc_PageHeap::runScavengerThread(void*) > () from //opt/qt4/lib/libQtWebKit.so.4 > #3 0x00007f8ecd69a9e3 in ?? () from /usr/X11R6/lib64/libGL.so.1 > #4 0x00007f8ee4c2ea3f in start_thread () from /lib64/libpthread.so.0 > #5 0x00007f8ee3c7366d in clone () from /lib64/libc.so.6 > #6 0x0000000000000000 in ?? () > > Thread 2 (Thread 0x7f8ec86d7700 (LWP 17110)): > #0 0xffffffffff600177 in ?? () > #1 0x00007fff885ff7a1 in ?? () > #2 0x00007f8eddf122b3 in clock_gettime () from /lib64/librt.so.1 > #3 0x00007f8ee4f5be26 in do_gettime (sec=0x7f8ec86d6948, > frac=0x7f8ec86d6940) at tools/qelapsedtimer_unix.cpp:123 > #4 0x00007f8ee4f5be82 in qt_gettime () at tools/qelapsedtimer_unix.cpp:140 > #5 0x00007f8ee50602de in QTimerInfoList::updateCurrentTime (this=0x7193730) > at kernel/qeventdispatcher_unix.cpp:343 > #6 0x00007f8ee5060792 in QTimerInfoList::timerWait (this=0x7193730, tm=...) > at kernel/qeventdispatcher_unix.cpp:450 > #7 0x00007f8ee505cfd4 in timerSourcePrepareHelper (src=0x71936d0, > timeout=0x7f8ec86d6acc) at kernel/qeventdispatcher_glib.cpp:136 > #8 0x00007f8ee505d28d in idleTimerSourcePrepare (source=0x71a3110, > timeout=0x7f8ec86d6acc) at kernel/qeventdispatcher_glib.cpp:216 > #9 0x00007f8eddc61087 in g_main_context_prepare () from > /lib64/libglib-2.0.so.0 > #10 0x00007f8eddc61fa9 in ?? () from /lib64/libglib-2.0.so.0 > #11 0x00007f8eddc62650 in g_main_context_iteration () from > /lib64/libglib-2.0.so.0 > #12 0x00007f8ee505dd14 in QEventDispatcherGlib::processEvents > (this=0x6833680, flags=...) at kernel/qeventdispatcher_glib.cpp:426 > #13 0x00007f8ee501e9ae in QEventLoop::processEvents (this=0x7f8ec86d6cf0, > flags=...) at kernel/qeventloop.cpp:149 > #14 0x00007f8ee501eb38 in QEventLoop::exec (this=0x7f8ec86d6cf0, flags=...) > at kernel/qeventloop.cpp:204 > #15 0x00007f8ee4eeb731 in QThread::exec (this=0x6995320) at > thread/qthread.cpp:501 > #16 0x00007f8ee4eeb8d0 in QThread::run (this=0x6995320) at > thread/qthread.cpp:568 > #17 0x00007f8ee4eee0b6 in QThreadPrivate::start (arg=0x6995320) at > thread/qthread_unix.cpp:298 > #18 0x00007f8ecd69a9e3 in ?? () from /usr/X11R6/lib64/libGL.so.1 > #19 0x00007f8ee4c2ea3f in start_thread () from /lib64/libpthread.so.0 > #20 0x00007f8ee3c7366d in clone () from /lib64/libc.so.6 > #21 0x0000000000000000 in ?? () > > Thread 1 (Thread 0x7f8eebe5f760 (LWP 17084)): > [KCrash Handler] > #6 0x0000000000000000 in ?? () > #7 0x00007f8eeba82873 in KParts::StatusBarExtension::statusBar > (this=0x6c243a0) at > /encrypted/home/andris/development/sources/kde-trunk/kdelibs/kparts/statusbarextension.cpp:149 > #8 0x00007f8eeba82544 in KParts::StatusBarExtension::~StatusBarExtension > (this=0x6c243a0, __in_chrg=<value optimized out>) at > /encrypted/home/andris/development/sources/kde-trunk/kdelibs/kparts/statusbarextension.cpp:99 > #9 0x00007f8eeba8266a in KParts::StatusBarExtension::~StatusBarExtension > (this=0x6c243a0, __in_chrg=<value optimized out>) at > /encrypted/home/andris/development/sources/kde-trunk/kdelibs/kparts/statusbarextension.cpp:110 > #10 0x00007f8ee503b650 in QObjectPrivate::deleteChildren (this=0x5d966c0) at > kernel/qobject.cpp:1907 > #11 0x00007f8ee5039d4f in QObject::~QObject (this=0x19cfb90, __in_chrg=<value > optimized out>) at kernel/qobject.cpp:926 > #12 0x00007f8eeba5fbf0 in KParts::Part::~Part (this=0x19cfb90, > __vtt_parm=0x7f8ec98e4950, __in_chrg=<value optimized out>) at > /encrypted/home/andris/development/sources/kde-trunk/kdelibs/kparts/part.cpp:190 > #13 0x00007f8eeba60a23 in KParts::ReadOnlyPart::~ReadOnlyPart > (this=0x19cfb90, __vtt_parm=0x7f8ec98e4948, __in_chrg=<value optimized out>) > at > /encrypted/home/andris/development/sources/kde-trunk/kdelibs/kparts/part.cpp:460 > #14 0x00007f8ec96ad788 in KWebKitPart::~KWebKitPart (this=0x19cfb90, > __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at > /encrypted/home/andris/development/sources/kde-trunk/kwebkitpart/src/kwebkitpart.cpp:182 > #15 0x00007f8ec96ad7c9 in KWebKitPart::~KWebKitPart (this=0x19cfb90, > __in_chrg=<value optimized out>, __vtt_parm=<value optimized out>) at > /encrypted/home/andris/development/sources/kde-trunk/kwebkitpart/src/kwebkitpart.cpp:184 > #16 0x00007f8eeb33fbd7 in Akregator::BrowserFrame::Private::~Private > (this=0x65ab6d0, __in_chrg=<value optimized out>) at > /encrypted/home/andris/development/sources/kde-trunk/kdepim/akregator/src/browserframe_p.cpp:50 > #17 0x00007f8eeb33fc99 in Akregator::BrowserFrame::Private::~Private > (this=0x65ab6d0, __in_chrg=<value optimized out>) at > /encrypted/home/andris/development/sources/kde-trunk/kdepim/akregator/src/browserframe_p.cpp:51 > #18 0x00007f8eeb33c4b7 in Akregator::BrowserFrame::~BrowserFrame > (this=0x59c3bf0, __in_chrg=<value optimized out>, __vtt_parm=<value optimized > out>) at > /encrypted/home/andris/development/sources/kde-trunk/kdepim/akregator/src/browserframe.cpp:63 > #19 0x00007f8eeb33c529 in Akregator::BrowserFrame::~BrowserFrame > (this=0x59c3bf0, __in_chrg=<value optimized out>, __vtt_parm=<value optimized > out>) at > /encrypted/home/andris/development/sources/kde-trunk/kdepim/akregator/src/browserframe.cpp:64 > #20 0x00007f8eeb3398f9 in Akregator::FrameManager::slotRemoveFrame > (this=0x8bac80, id=4) at > /encrypted/home/andris/development/sources/kde-trunk/kdepim/akregator/src/framemanager.cpp:108 > #21 0x00007f8eeb33a37a in Akregator::FrameManager::qt_metacall > (this=0x8bac80, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, > _a=0x7fff885089f0) at > /encrypted/home/andris/development/build/kde-trunk/kdepim/akregator/src/framemanager.moc:155 > #22 0x00007f8ee5029603 in QMetaObject::metacall (object=0x8bac80, > cl=QMetaObject::InvokeMetaMethod, idx=18, argv=0x7fff885089f0) at > kernel/qmetaobject.cpp:245 > #23 0x00007f8ee503f999 in QMetaObject::activate (sender=0x7ab960, > m=0x7f8ed5e48b20, local_signal_index=1, argv=0x7fff885089f0) at > kernel/qobject.cpp:3565 > #24 0x00007f8ed5be7341 in Akregator::TabWidget::signalRemoveFrameRequest > (this=<value optimized out>, _t1=4) at > /encrypted/home/andris/development/build/kde-trunk/kdepim/akregator/src/tabwidget.moc:153 > #25 0x00007f8ed5be783a in Akregator::TabWidget::slotCloseRequest > (this=0x7ab960, widget=0x59c3bf0) at > /encrypted/home/andris/development/sources/kde-trunk/kdepim/akregator/src/tabwidget.cpp:416 > #26 0x00007f8ed5be8c1b in Akregator::TabWidget::qt_metacall (this=0x7ab960, > _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, > _a=0x7fff88508bd0) at > /encrypted/home/andris/development/build/kde-trunk/kdepim/akregator/src/tabwidget.moc:132 > #27 0x00007f8ee5029603 in QMetaObject::metacall (object=0x7ab960, > cl=QMetaObject::InvokeMetaMethod, idx=87, argv=0x7fff88508bd0) at > kernel/qmetaobject.cpp:245 > #28 0x00007f8ee503f999 in QMetaObject::activate (sender=0x7ab960, > m=0x7f8ee7387c80, local_signal_index=11, argv=0x7fff88508bd0) at > kernel/qobject.cpp:3565 > #29 0x00007f8ee6fb6871 in KTabWidget::closeRequest (this=0x7ab960, > _t1=0x59c3bf0) at > /encrypted/home/andris/development/build/kde-trunk/kdelibs/kdeui/ktabwidget.moc:284 > #30 0x00007f8ee6fb5c64 in KTabWidget::closeRequest (this=0x7ab960, index=2) > at > /encrypted/home/andris/development/sources/kde-trunk/kdelibs/kdeui/widgets/ktabwidget.cpp:684 > #31 0x00007f8ee6fb625d in KTabWidget::qt_metacall (this=0x7ab960, > _c=QMetaObject::InvokeMetaMethod, _id=26, _a=0x7fff88508e00) at > /encrypted/home/andris/development/build/kde-trunk/kdelibs/kdeui/ktabwidget.moc:159 > #32 0x00007f8ed5be89e0 in Akregator::TabWidget::qt_metacall (this=0x7ab960, > _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, > _a=0x7fff88508e00) at > /encrypted/home/andris/development/build/kde-trunk/kdepim/akregator/src/tabwidget.moc:107 > #33 0x00007f8ee5029603 in QMetaObject::metacall (object=0x7ab960, > cl=QMetaObject::InvokeMetaMethod, idx=65, argv=0x7fff88508e00) at > kernel/qmetaobject.cpp:245 > #34 0x00007f8ee503f999 in QMetaObject::activate (sender=0x90e740, > m=0x7f8ee6bc71a0, local_signal_index=1, argv=0x7fff88508e00) at > kernel/qobject.cpp:3565 > #35 0x00007f8ee63f68e6 in QTabBar::tabCloseRequested (this=0x90e740, _t1=2) > at .moc/debug-shared/moc_qtabbar.cpp:222 > #36 0x00007f8ee63efef1 in QTabBarPrivate::_q_closeTab (this=0x90e7c0) at > widgets/qtabbar.cpp:662 > #37 0x00007f8ee63f6449 in QTabBar::qt_static_metacall (_o=0x90e740, > _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0x7fff88508fd0) at > .moc/debug-shared/moc_qtabbar.cpp:118 > #38 0x00007f8ee503f8bf in QMetaObject::activate (sender=0x1820ab0, > m=0x7f8ee6bdfb60, local_signal_index=2, argv=0x7fff88508fd0) at > kernel/qobject.cpp:3546 > #39 0x00007f8ee6698c34 in QAbstractButton::clicked (this=0x1820ab0, > _t1=false) at .moc/debug-shared/moc_qabstractbutton.cpp:220 > #40 0x00007f8ee6311eaa in QAbstractButtonPrivate::emitClicked > (this=0x6059620) at widgets/qabstractbutton.cpp:546 > #41 0x00007f8ee6311e29 in QAbstractButtonPrivate::click (this=0x6059620) at > widgets/qabstractbutton.cpp:539 > #42 0x00007f8ee631330f in QAbstractButton::mouseReleaseEvent (this=0x1820ab0, > e=0x7fff88509c20) at widgets/qabstractbutton.cpp:1121 > #43 0x00007f8ee5e9a8e6 in QWidget::event (this=0x1820ab0, > event=0x7fff88509c20) at kernel/qwidget.cpp:8361 > #44 0x00007f8ee6313165 in QAbstractButton::event (this=0x1820ab0, > e=0x7fff88509c20) at widgets/qabstractbutton.cpp:1080 > #45 0x00007f8ee5e34e24 in QApplicationPrivate::notify_helper (this=0x64ed90, > receiver=0x1820ab0, e=0x7fff88509c20) at kernel/qapplication.cpp:4522 > #46 0x00007f8ee5e32db1 in QApplication::notify (this=0x7fff8850ab90, > receiver=0x1820ab0, e=0x7fff88509c20) at kernel/qapplication.cpp:4065 > #47 0x00007f8ee6e9603d in KApplication::notify (this=0x7fff8850ab90, > receiver=0x1820ab0, event=0x7fff88509c20) at > /encrypted/home/andris/development/sources/kde-trunk/kdelibs/kdeui/kernel/kapplication.cpp:311 > #48 0x00007f8ee5021149 in QCoreApplication::notifyInternal > (this=0x7fff8850ab90, receiver=0x1820ab0, event=0x7fff88509c20) at > kernel/qcoreapplication.cpp:876 > #49 0x00007f8ee5e3768f in QCoreApplication::sendSpontaneousEvent > (receiver=0x1820ab0, event=0x7fff88509c20) at > ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:234 > #50 0x00007f8ee5e3138c in QApplicationPrivate::sendMouseEvent > (receiver=0x1820ab0, event=0x7fff88509c20, alienWidget=0x1820ab0, > nativeWidget=0x644010, buttonDown=0x7f8ee6c03998, lastMouseReceiver=..., > spontaneous=true) at kernel/qapplication.cpp:3159 > #51 0x00007f8ee5ed677c in QETWidget::translateMouseEvent (this=0x644010, > event=0x7fff8850a780) at kernel/qapplication_x11.cpp:4494 > #52 0x00007f8ee5ed310b in QApplication::x11ProcessEvent (this=0x7fff8850ab90, > event=0x7fff8850a780) at kernel/qapplication_x11.cpp:3498 > #53 0x00007f8ee5f0e064 in x11EventSourceDispatch (s=0x64de10, callback=0, > user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 > #54 0x00007f8eddc61bd3 in g_main_context_dispatch () from > /lib64/libglib-2.0.so.0 > #55 0x00007f8eddc623b0 in ?? () from /lib64/libglib-2.0.so.0 > #56 0x00007f8eddc62650 in g_main_context_iteration () from > /lib64/libglib-2.0.so.0 > #57 0x00007f8ee505dcf1 in QEventDispatcherGlib::processEvents (this=0x61caf0, > flags=...) at kernel/qeventdispatcher_glib.cpp:424 > #58 0x00007f8ee5f0e412 in QGuiEventDispatcherGlib::processEvents > (this=0x61caf0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 > #59 0x00007f8ee501e9ae in QEventLoop::processEvents (this=0x7fff8850ab30, > flags=...) at kernel/qeventloop.cpp:149 > #60 0x00007f8ee501eb38 in QEventLoop::exec (this=0x7fff8850ab30, flags=...) > at kernel/qeventloop.cpp:204 > #61 0x00007f8ee50217ca in QCoreApplication::exec () at > kernel/qcoreapplication.cpp:1148 > #62 0x00007f8ee5e32032 in QApplication::exec () at > kernel/qapplication.cpp:3783 > #63 0x0000000000408ba3 in main (argc=<value optimized out>, argv=<value > optimized out>) at > /encrypted/home/andris/development/sources/kde-trunk/kdepim/akregator/src/main.cpp:103 > > > Diffs > ----- > > kparts/statusbarextension.cpp 7689360 > > Diff: http://git.reviewboard.kde.org/r/103098/diff/diff > > > Testing > ------- > > > Thanks, > > Andras Mantia > >