Re: Review Request: Fix crash on statusbarextension destruction
--- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103098/#review8079 --- Ship it! Yep, looks good. - David Faure 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 0x7f8ee4c336f9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x7f8ee4eef649 in QWaitConditionPrivate::wait (this=0x1956ec0, time=3) at thread/qwaitcondition_unix.cpp:84 #2 0x7f8ee4eef40d in QWaitCondition::wait (this=0x19ba150, mutex=0x19ba148, time=3) at thread/qwaitcondition_unix.cpp:158 #3 0x7f8ee4edd285 in QThreadPoolThread::run (this=0x19b5810) at concurrent/qthreadpool.cpp:141 #4 0x7f8ee4eee0b6 in QThreadPrivate::start (arg=0x19b5810) at thread/qthread_unix.cpp:298 #5 0x7f8ecd69a9e3 in ?? () from /usr/X11R6/lib64/libGL.so.1 #6 0x7f8ee4c2ea3f in start_thread () from /lib64/libpthread.so.0 #7 0x7f8ee3c7366d in clone () from /lib64/libc.so.6 #8 0x in ?? () Thread 3 (Thread 0x7f8ec968f700 (LWP 17109)): #0 0x7f8ee4c3338c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x7f8ed31d8321 in WTF::TCMalloc_PageHeap::scavengerThread() () from //opt/qt4/lib/libQtWebKit.so.4 #2 0x7f8ed31d78dc in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from //opt/qt4/lib/libQtWebKit.so.4 #3 0x7f8ecd69a9e3 in ?? () from /usr/X11R6/lib64/libGL.so.1 #4 0x7f8ee4c2ea3f in start_thread () from /lib64/libpthread.so.0 #5 0x7f8ee3c7366d in clone () from /lib64/libc.so.6 #6 0x in ?? () Thread 2 (Thread 0x7f8ec86d7700 (LWP 17110)): #0 0xff600177 in ?? () #1 0x7fff885ff7a1 in ?? () #2 0x7f8eddf122b3 in clock_gettime () from /lib64/librt.so.1 #3 0x7f8ee4f5be26 in do_gettime (sec=0x7f8ec86d6948, frac=0x7f8ec86d6940) at tools/qelapsedtimer_unix.cpp:123 #4 0x7f8ee4f5be82 in qt_gettime () at tools/qelapsedtimer_unix.cpp:140 #5 0x7f8ee50602de in QTimerInfoList::updateCurrentTime (this=0x7193730) at kernel/qeventdispatcher_unix.cpp:343 #6 0x7f8ee5060792 in QTimerInfoList::timerWait (this=0x7193730, tm=...) at kernel/qeventdispatcher_unix.cpp:450 #7 0x7f8ee505cfd4 in timerSourcePrepareHelper (src=0x71936d0, timeout=0x7f8ec86d6acc) at kernel/qeventdispatcher_glib.cpp:136 #8 0x7f8ee505d28d in idleTimerSourcePrepare (source=0x71a3110, timeout=0x7f8ec86d6acc) at kernel/qeventdispatcher_glib.cpp:216 #9 0x7f8eddc61087 in g_main_context_prepare () from /lib64/libglib-2.0.so.0 #10 0x7f8eddc61fa9 in ?? () from /lib64/libglib-2.0.so.0 #11 0x7f8eddc62650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #12 0x7f8ee505dd14 in QEventDispatcherGlib::processEvents (this=0x6833680, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #13 0x7f8ee501e9ae in QEventLoop::processEvents (this=0x7f8ec86d6cf0, flags=...) at kernel/qeventloop.cpp:149 #14 0x7f8ee501eb38 in QEventLoop::exec (this=0x7f8ec86d6cf0, flags=...) at kernel/qeventloop.cpp:204 #15 0x7f8ee4eeb731 in QThread::exec (this=0x6995320) at thread/qthread.cpp:501 #16 0x7f8ee4eeb8d0 in QThread::run (this=0x6995320) at thread/qthread.cpp:568 #17 0x7f8ee4eee0b6 in QThreadPrivate::start (arg=0x6995320) at thread/qthread_unix.cpp:298 #18 0x7f8ecd69a9e3 in ?? () from /usr/X11R6/lib64/libGL.so.1 #19 0x7f8ee4c2ea3f in start_thread () from /lib64/libpthread.so.0 #20 0x7f8ee3c7366d in clone () from /lib64/libc.so.6 #21 0x in ?? () Thread 1 (Thread 0x7f8eebe5f760 (LWP 17084)): [KCrash Handler] #6 0x in ?? () #7 0x7f8eeba82873 in KParts::StatusBarExtension::statusBar (this=0x6c243a0) at /encrypted/home/andris/development/sources/kde-trunk/kdelibs/kparts/statusbarextension.cpp:149 #8 0x7f8eeba82544 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 0x7f8eeba8266a in KParts::StatusBarExtension::~StatusBarExtension
Re: Review Request: Fix crash on statusbarextension destruction
--- 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 0x7f8ee4c336f9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x7f8ee4eef649 in QWaitConditionPrivate::wait (this=0x1956ec0, time=3) at thread/qwaitcondition_unix.cpp:84 #2 0x7f8ee4eef40d in QWaitCondition::wait (this=0x19ba150, mutex=0x19ba148, time=3) at thread/qwaitcondition_unix.cpp:158 #3 0x7f8ee4edd285 in QThreadPoolThread::run (this=0x19b5810) at concurrent/qthreadpool.cpp:141 #4 0x7f8ee4eee0b6 in QThreadPrivate::start (arg=0x19b5810) at thread/qthread_unix.cpp:298 #5 0x7f8ecd69a9e3 in ?? () from /usr/X11R6/lib64/libGL.so.1 #6 0x7f8ee4c2ea3f in start_thread () from /lib64/libpthread.so.0 #7 0x7f8ee3c7366d in clone () from /lib64/libc.so.6 #8 0x in ?? () Thread 3 (Thread 0x7f8ec968f700 (LWP 17109)): #0 0x7f8ee4c3338c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x7f8ed31d8321 in WTF::TCMalloc_PageHeap::scavengerThread() () from //opt/qt4/lib/libQtWebKit.so.4 #2 0x7f8ed31d78dc in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from //opt/qt4/lib/libQtWebKit.so.4 #3 0x7f8ecd69a9e3 in ?? () from /usr/X11R6/lib64/libGL.so.1 #4 0x7f8ee4c2ea3f in start_thread () from /lib64/libpthread.so.0 #5 0x7f8ee3c7366d in clone () from /lib64/libc.so.6 #6 0x in ?? () Thread 2 (Thread 0x7f8ec86d7700 (LWP 17110)): #0 0xff600177 in ?? () #1 0x7fff885ff7a1 in ?? () #2 0x7f8eddf122b3 in clock_gettime () from /lib64/librt.so.1 #3 0x7f8ee4f5be26 in do_gettime (sec=0x7f8ec86d6948, frac=0x7f8ec86d6940) at tools/qelapsedtimer_unix.cpp:123 #4 0x7f8ee4f5be82 in qt_gettime () at tools/qelapsedtimer_unix.cpp:140 #5 0x7f8ee50602de in QTimerInfoList::updateCurrentTime (this=0x7193730) at kernel/qeventdispatcher_unix.cpp:343 #6 0x7f8ee5060792 in QTimerInfoList::timerWait (this=0x7193730, tm=...) at kernel/qeventdispatcher_unix.cpp:450 #7 0x7f8ee505cfd4 in timerSourcePrepareHelper (src=0x71936d0, timeout=0x7f8ec86d6acc) at kernel/qeventdispatcher_glib.cpp:136 #8 0x7f8ee505d28d in idleTimerSourcePrepare (source=0x71a3110, timeout=0x7f8ec86d6acc) at kernel/qeventdispatcher_glib.cpp:216 #9 0x7f8eddc61087 in g_main_context_prepare () from /lib64/libglib-2.0.so.0 #10 0x7f8eddc61fa9 in ?? () from /lib64/libglib-2.0.so.0 #11 0x7f8eddc62650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #12 0x7f8ee505dd14 in QEventDispatcherGlib::processEvents (this=0x6833680, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #13 0x7f8ee501e9ae in QEventLoop::processEvents (this=0x7f8ec86d6cf0, flags=...) at kernel/qeventloop.cpp:149 #14 0x7f8ee501eb38 in QEventLoop::exec (this=0x7f8ec86d6cf0, flags=...) at kernel/qeventloop.cpp:204 #15 0x7f8ee4eeb731 in QThread::exec (this=0x6995320) at thread/qthread.cpp:501 #16 0x7f8ee4eeb8d0 in QThread::run (this=0x6995320) at thread/qthread.cpp:568 #17 0x7f8ee4eee0b6 in QThreadPrivate::start (arg=0x6995320) at thread/qthread_unix.cpp:298 #18 0x7f8ecd69a9e3 in ?? () from /usr/X11R6/lib64/libGL.so.1 #19 0x7f8ee4c2ea3f in start_thread () from /lib64/libpthread.so.0 #20 0x7f8ee3c7366d in clone () from /lib64/libc.so.6 #21 0x in ?? () Thread 1 (Thread 0x7f8eebe5f760 (LWP 17084)): [KCrash Handler] #6 0x in ?? () #7 0x7f8eeba82873 in KParts::StatusBarExtension::statusBar (this=0x6c243a0) at /encrypted/home/andris/development/sources/kde-trunk/kdelibs/kparts/statusbarextension.cpp:149 #8 0x7f8eeba82544 in KParts::StatusBarExtension::~StatusBarExtension (this=0x6c243a0, __in_chrg=value optimized out) at
Review Request: Fix crash on statusbarextension destruction
--- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/103098/ --- 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 0x7f8ee4c336f9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x7f8ee4eef649 in QWaitConditionPrivate::wait (this=0x1956ec0, time=3) at thread/qwaitcondition_unix.cpp:84 #2 0x7f8ee4eef40d in QWaitCondition::wait (this=0x19ba150, mutex=0x19ba148, time=3) at thread/qwaitcondition_unix.cpp:158 #3 0x7f8ee4edd285 in QThreadPoolThread::run (this=0x19b5810) at concurrent/qthreadpool.cpp:141 #4 0x7f8ee4eee0b6 in QThreadPrivate::start (arg=0x19b5810) at thread/qthread_unix.cpp:298 #5 0x7f8ecd69a9e3 in ?? () from /usr/X11R6/lib64/libGL.so.1 #6 0x7f8ee4c2ea3f in start_thread () from /lib64/libpthread.so.0 #7 0x7f8ee3c7366d in clone () from /lib64/libc.so.6 #8 0x in ?? () Thread 3 (Thread 0x7f8ec968f700 (LWP 17109)): #0 0x7f8ee4c3338c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x7f8ed31d8321 in WTF::TCMalloc_PageHeap::scavengerThread() () from //opt/qt4/lib/libQtWebKit.so.4 #2 0x7f8ed31d78dc in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from //opt/qt4/lib/libQtWebKit.so.4 #3 0x7f8ecd69a9e3 in ?? () from /usr/X11R6/lib64/libGL.so.1 #4 0x7f8ee4c2ea3f in start_thread () from /lib64/libpthread.so.0 #5 0x7f8ee3c7366d in clone () from /lib64/libc.so.6 #6 0x in ?? () Thread 2 (Thread 0x7f8ec86d7700 (LWP 17110)): #0 0xff600177 in ?? () #1 0x7fff885ff7a1 in ?? () #2 0x7f8eddf122b3 in clock_gettime () from /lib64/librt.so.1 #3 0x7f8ee4f5be26 in do_gettime (sec=0x7f8ec86d6948, frac=0x7f8ec86d6940) at tools/qelapsedtimer_unix.cpp:123 #4 0x7f8ee4f5be82 in qt_gettime () at tools/qelapsedtimer_unix.cpp:140 #5 0x7f8ee50602de in QTimerInfoList::updateCurrentTime (this=0x7193730) at kernel/qeventdispatcher_unix.cpp:343 #6 0x7f8ee5060792 in QTimerInfoList::timerWait (this=0x7193730, tm=...) at kernel/qeventdispatcher_unix.cpp:450 #7 0x7f8ee505cfd4 in timerSourcePrepareHelper (src=0x71936d0, timeout=0x7f8ec86d6acc) at kernel/qeventdispatcher_glib.cpp:136 #8 0x7f8ee505d28d in idleTimerSourcePrepare (source=0x71a3110, timeout=0x7f8ec86d6acc) at kernel/qeventdispatcher_glib.cpp:216 #9 0x7f8eddc61087 in g_main_context_prepare () from /lib64/libglib-2.0.so.0 #10 0x7f8eddc61fa9 in ?? () from /lib64/libglib-2.0.so.0 #11 0x7f8eddc62650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #12 0x7f8ee505dd14 in QEventDispatcherGlib::processEvents (this=0x6833680, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #13 0x7f8ee501e9ae in QEventLoop::processEvents (this=0x7f8ec86d6cf0, flags=...) at kernel/qeventloop.cpp:149 #14 0x7f8ee501eb38 in QEventLoop::exec (this=0x7f8ec86d6cf0, flags=...) at kernel/qeventloop.cpp:204 #15 0x7f8ee4eeb731 in QThread::exec (this=0x6995320) at thread/qthread.cpp:501 #16 0x7f8ee4eeb8d0 in QThread::run (this=0x6995320) at thread/qthread.cpp:568 #17 0x7f8ee4eee0b6 in QThreadPrivate::start (arg=0x6995320) at thread/qthread_unix.cpp:298 #18 0x7f8ecd69a9e3 in ?? () from /usr/X11R6/lib64/libGL.so.1 #19 0x7f8ee4c2ea3f in start_thread () from /lib64/libpthread.so.0 #20 0x7f8ee3c7366d in clone () from /lib64/libc.so.6 #21 0x in ?? () Thread 1 (Thread 0x7f8eebe5f760 (LWP 17084)): [KCrash Handler] #6 0x in ?? () #7 0x7f8eeba82873 in KParts::StatusBarExtension::statusBar (this=0x6c243a0) at /encrypted/home/andris/development/sources/kde-trunk/kdelibs/kparts/statusbarextension.cpp:149 #8 0x7f8eeba82544 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 0x7f8eeba8266a 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 0x7f8ee503b650 in QObjectPrivate::deleteChildren (this=0x5d966c0) at kernel/qobject.cpp:1907 #11 0x7f8ee5039d4f in QObject::~QObject (this=0x19cfb90, __in_chrg=value optimized out) at kernel/qobject.cpp:926 #12 0x7f8eeba5fbf0 in KParts::Part::~Part (this=0x19cfb90, __vtt_parm=0x7f8ec98e4950,