Bug 283924

Summary: Ark crashes on exit when kwebkitpart is still open
Product: [Frameworks and Libraries] kwebkitpart Reporter: Alex Richardson <arichardson.kde>
Component: generalAssignee: webkit-devel
Status: RESOLVED WORKSFORME    
Severity: crash CC: adawit, rakuco, Tanktalus
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 1.2.0
Sentry Crash Report:

Description Alex Richardson 2011-10-13 14:18:57 UTC
Application: ark (2.17)
KDE Platform Version: 4.7.2 (4.7.2)
Qt Version: 4.7.4
Operating System: Linux 3.1.0-rc7-3-desktop x86_64
Distribution: "openSUSE 12.1 Beta 1 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:

I was viewing a file inside the archive with the kwebkitpart. When I closed the ark main window (kwebkitpart still open) I got this crash. When I close the kwebkitpart before closing ark no crash occurrs. This is always reproduceable with every archive I tried.

The crash can be reproduced every time.

-- Backtrace:
Application: Ark (ark), signal: Segmentation fault
[Current thread is 1 (Thread 0x7ff739859760 (LWP 16017))]

Thread 3 (Thread 0x7ff72601d700 (LWP 16020)):
#0  0x00007ff73430ee6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007ff724a7f70a in WTF::TCMalloc_PageHeap::scavengerThread() () from /usr/lib64/libQtWebKit.so.4
#2  0x00007ff724a7f7f9 in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib64/libQtWebKit.so.4
#3  0x00007ff73430af05 in start_thread () from /lib64/libpthread.so.0
#4  0x00007ff73684b24d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7ff7237a8700 (LWP 16021)):
#0  0x00007ff736842133 in poll () from /lib64/libc.so.6
#1  0x00007ff732eaab48 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007ff732eab009 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007ff736f9633f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007ff736f6a882 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007ff736f6aa7f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007ff736e825cf in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007ff736e85015 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007ff73430af05 in start_thread () from /lib64/libpthread.so.0
#9  0x00007ff73684b24d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7ff739859760 (LWP 16017)):
[KCrash Handler]
#6  0x00007ff736f71137 in QMetaObject::cast(QObject*) const () from /usr/lib64/libQtCore.so.4
#7  0x00007ff7255210f9 in qobject_cast<WebView*> (object=<optimized out>) at /usr/include/QtCore/qobject.h:366
#8  WebKitBrowserExtension::view (this=0x8cb2a0) at /usr/src/debug/kwebkitpart-1.1.0.60.git20110722/src/kwebkitpart_ext.cpp:81
#9  0x00007ff725521310 in WebKitBrowserExtension::saveHistoryState (this=0x8cb2a0) at /usr/src/debug/kwebkitpart-1.1.0.60.git20110722/src/kwebkitpart_ext.cpp:88
#10 0x00007ff7255170b0 in KWebKitPart::~KWebKitPart (this=0xb03ab0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/kwebkitpart-1.1.0.60.git20110722/src/kwebkitpart.cpp:186
#11 0x00007ff7255170f9 in KWebKitPart::~KWebKitPart (this=0xb03ab0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/kwebkitpart-1.1.0.60.git20110722/src/kwebkitpart.cpp:187
#12 0x00007ff738f6bc50 in KParts::Part::slotWidgetDestroyed (this=0xb03ab0) at /usr/src/debug/kdelibs-4.7.2/kparts/part.cpp:353
#13 0x00007ff738f6d234 in KParts::Part::qt_metacall (this=0xb03ab0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7ffff93184f0) at /usr/src/debug/kdelibs-4.7.2/build/kparts/part.moc:82
#14 0x00007ff738f6ee15 in KParts::ReadOnlyPart::qt_metacall (this=0xb03ab0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7ffff93184f0) at /usr/src/debug/kdelibs-4.7.2/build/kparts/part.moc:168
#15 0x00007ff7255166f5 in KWebKitPart::qt_metacall (this=0xb03ab0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7ffff93184f0) at /usr/src/debug/kwebkitpart-1.1.0.60.git20110722/build/src/moc_kwebkitpart.cpp:112
#16 0x00007ff736f7e3fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#17 0x00007ff736f7e8af in QObject::destroyed(QObject*) () from /usr/lib64/libQtCore.so.4
#18 0x00007ff736f82447 in QObject::~QObject() () from /usr/lib64/libQtCore.so.4
#19 0x00007ff7379956b1 in QWidget::~QWidget() () from /usr/lib64/libQtGui.so.4
#20 0x00007ff7379958c9 in QWidget::~QWidget() () from /usr/lib64/libQtGui.so.4
#21 0x00007ff736f7d2b5 in QObjectPrivate::deleteChildren() () from /usr/lib64/libQtCore.so.4
#22 0x00007ff737995623 in QWidget::~QWidget() () from /usr/lib64/libQtGui.so.4
#23 0x00007ff738753319 in KVBox::~KVBox() () from /usr/lib64/libkdeui.so.5
#24 0x00007ff736f7d2b5 in QObjectPrivate::deleteChildren() () from /usr/lib64/libQtCore.so.4
#25 0x00007ff737995623 in QWidget::~QWidget() () from /usr/lib64/libQtGui.so.4
#26 0x00007ff729a08c29 in ArkViewer::~ArkViewer (this=0xaf83d0, __in_chrg=<optimized out>) at /usr/src/debug/kdeutils-4.7.2/ark/part/arkviewer.cpp:58
#27 0x00007ff736f7d2b5 in QObjectPrivate::deleteChildren() () from /usr/lib64/libQtCore.so.4
#28 0x00007ff737995623 in QWidget::~QWidget() () from /usr/lib64/libQtGui.so.4
#29 0x00007ff737d95b99 in QSplitter::~QSplitter() () from /usr/lib64/libQtGui.so.4
#30 0x00007ff738f6b9c3 in KParts::Part::~Part (this=0x8686f0, __vtt_parm=0x7ff729c1dd78, __in_chrg=<optimized out>) at /usr/src/debug/kdelibs-4.7.2/kparts/part.cpp:209
#31 0x00007ff7299fd9cf in Ark::Part::~Part (this=0x8686f0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/kdeutils-4.7.2/ark/part/part.cpp:131
#32 0x00007ff7299fda29 in Ark::Part::~Part (this=0x8686f0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/kdeutils-4.7.2/ark/part/part.cpp:139
#33 0x000000000040e6fd in MainWindow::~MainWindow (this=0x7ee870, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/kdeutils-4.7.2/ark/app/mainwindow.cpp:72
#34 0x000000000040e7a9 in MainWindow::~MainWindow (this=0x7ee870, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/kdeutils-4.7.2/ark/app/mainwindow.cpp:74
#35 0x00007ff736f81fd8 in QObject::event(QEvent*) () from /usr/lib64/libQtCore.so.4
#36 0x00007ff737999c7b in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#37 0x00007ff737d57c1b in QMainWindow::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#38 0x00007ff738758658 in KXmlGuiWindow::event(QEvent*) () from /usr/lib64/libkdeui.so.5
#39 0x00007ff737949be4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#40 0x00007ff73794ea71 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#41 0x00007ff73865bde6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#42 0x00007ff736f6b67c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#43 0x00007ff736f6ea58 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/libQtCore.so.4
#44 0x00007ff736f95ee3 in ?? () from /usr/lib64/libQtCore.so.4
#45 0x00007ff732eaa63d in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#46 0x00007ff732eaae38 in ?? () from /usr/lib64/libglib-2.0.so.0
#47 0x00007ff732eab009 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#48 0x00007ff736f9633f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#49 0x00007ff7379eccae in ?? () from /usr/lib64/libQtGui.so.4
#50 0x00007ff736f6a882 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#51 0x00007ff736f6aa7f in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#52 0x00007ff736f6ec47 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#53 0x000000000040b0a8 in main (argc=4, argv=0x7ffff931a2e8) at /usr/src/debug/kdeutils-4.7.2/ark/app/main.cpp:209

Reported using DrKonqi
Comment 1 Raphael Kubo da Costa 2012-04-03 12:14:53 UTC
This looks like a problem in kwebkitpart itself, similarly to bug 287567. Are you still able to reproduce this crash?
Comment 2 Dawit Alemayehu 2012-04-03 19:32:35 UTC
*** Bug 287567 has been marked as a duplicate of this bug. ***
Comment 3 Dawit Alemayehu 2012-04-03 19:36:58 UTC
This is something that has already been fixed in the latest stable version of kwebkitpart, v1.2.0. The function where the crash is happening does not even exist anymore.