Bug 356649 - use-after-free crash on closing ark on previewing an archive
Summary: use-after-free crash on closing ark on previewing an archive
Status: RESOLVED WORKSFORME
Alias: None
Product: ark
Classification: Applications
Component: general (show other bugs)
Version: 2.19
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Elvis Angelaccio
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-14 05:15 UTC by Santhiar
Modified: 2016-04-11 09:51 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Archive file for bug repro (749.26 KB, application/gzip)
2015-12-15 10:33 UTC, Santhiar
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Santhiar 2015-12-14 05:15:39 UTC
Ark crashes on a use-after-free on previewing an archive.
Open an archive using ark.
Right click on it and ask for a preview. When the preview window is open, close ark as
"qdbus `qdbus | grep ark` /ark/MainWindow_1/actions/file_quit trigger"


Reproducible: Always

Steps to Reproduce:
1. Open an archive using ark
2. Right click on the archive and select preview
3. When the preview window is open, from a terminal, issue "qdbus `qdbus | grep ark` /ark/MainWindow_1/actions/file_quit trigger"

Actual Results:  
Ark crashes

Expected Results:  
Ark closes smoothly

I investigated this bug by compiling ark with AddressSanitizer instrumentation. 
(http://clang.llvm.org/docs/AddressSanitizer.html)
AddressSanitizer flagged this as a use-after-free bug. Please find the stacks reported by KCrash and AddressSanitizer below.

==========
ark Version
==========
Qt: 4.8.7
KDE Development Platform: 4.14.13
Ark: 2.19

===========
KCrash Stack
===========
Application: Ark (ark), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[KCrash Handler]
#6  QWidget::windowType (this=0x91) at qt/src/gui/../../include/QtGui/../../src/gui/kernel/qwidget.h:938
#7  0x00007f5c464cb6e5 in QWidget::isWindow (this=0x91) at qt/src/gui/../../include/QtGui/../../src/gui/kernel/qwidget.h:946
#8  0x00007f5c4653b1eb in QWidgetPrivate::setEnabled_helper (this=0x1c08fb0, enable=true) at kernel/qwidget.cpp:3386
#9  0x00007f5c4653b19d in QWidget::setEnabled (this=0x18cb360, enable=true) at kernel/qwidget.cpp:3379
#10 0x00007f5c3a3ae9ef in Ark::Part::setReadyGui (this=0x186c440) at KDE/kde/kdeutils/ark/part/part.cpp:530
#11 0x00007f5c3a3af6fc in Ark::Part::slotPreviewExtracted (this=0x186c440, job=<optimized out>) at KDE/kde/kdeutils/ark/part/part.cpp:620
#12 0x00007f5c3a3a49c0 in Ark::Part::qt_static_metacall (_o=0x186c440, _c=<optimized out>, _id=<optimized out>, _a=0x7f5c30001b10) at KDE/build/kde/kdeutils/ark/part/moc_part.cpp:106
#13 0x00007f5c44a8d69d in QMetaCallEvent::placeMetaCall (this=0x7f5c30002280, object=0x186c440) at kernel/qobject.cpp:524
#14 0x00007f5c44a8fa10 in QObject::event (this=0x186c440, e=0x7f5c30002280) at kernel/qobject.cpp:1222
#15 0x00007f5c464c148f in QApplicationPrivate::notify_helper (this=0x16a4450, receiver=0x186c440, e=0x7f5c30002280) at kernel/qapplication.cpp:4565
#16 0x00007f5c464c3a8e in QApplication::notify (this=0x7fff19c5c2b8, receiver=0x186c440, e=0x7f5c30002280) at kernel/qapplication.cpp:3947
#17 0x00007f5c47864f7b in KApplication::notify (this=0x7fff19c5c2b8, receiver=0x186c440, event=0x7f5c30002280) at KDE/kde/kdelibs/kdeui/kernel/kapplication.cpp:311
#18 0x00007f5c44a6edc6 in QCoreApplication::notifyInternal (this=0x7fff19c5c2b8, receiver=0x186c440, event=0x7f5c30002280) at kernel/qcoreapplication.cpp:955
#19 0x00007f5c44a7354a in QCoreApplication::sendEvent (receiver=0x186c440, event=0x7f5c30002280) at qt/src/corelib/../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#20 0x00007f5c44a703f4 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x16784e0) at kernel/qcoreapplication.cpp:1609
#21 0x00007f5c44a6f338 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1477
#22 0x00007f5c465c8b48 in QCoreApplication::sendPostedEvents () at qt/src/gui/../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#23 0x00007f5c465d9082 in QEventDispatcherX11::processEvents (this=0x167fbc0, flags=...) at kernel/qeventdispatcher_x11.cpp:82
#24 0x00007f5c44a69f6c in QEventLoop::processEvents (this=0x7fff19c5c080, flags=...) at kernel/qeventloop.cpp:149
#25 0x00007f5c44a6a332 in QEventLoop::exec (this=0x7fff19c5c080, flags=...) at kernel/qeventloop.cpp:225
#26 0x00007f5c44a6f5ee in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
#27 0x00007f5c464c3526 in QApplication::exec () at kernel/qapplication.cpp:3823
#28 0x0000000000412a4e in main (argc=<optimized out>, argv=<optimized out>) at KDE/kde/kdeutils/ark/app/main.cpp:206

====================
Address Sanitizer Stack
====================
==23363==ERROR: AddressSanitizer: heap-use-after-free on address 0x60f000016328 at pc 0x7f4ef3d534e6 bp 0x7fff4cc92ef0 sp 0x7fff4cc92ee8
WRITE of size 1 at 0x60f000016328 thread T0
    #0 0x7f4ef3d534e5 in Ark::Part::setReadyGui() KDE/kde/kdeutils/ark/part/part.cpp:529
    #1 0x7f4ef3d55885 in Ark::Part::slotPreviewExtracted(KJob*) KDE/kde/kdeutils/ark/part/part.cpp:620
    #2 0x7f4ef3d38644 in Ark::Part::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) KDE/build-asan/kde/kdeutils/ark/part/moc_part.cpp:106
    #3 0x7f4f02cdc3cc in QMetaCallEvent::placeMetaCall(QObject*) (install/qt4/lib/libQtCore.so.4+0x24c3cc)
    #4 0x7f4f02cde73f in QObject::event(QEvent*) (install/qt4/lib/libQtCore.so.4+0x24e73f)
    #5 0x7f4f0422329e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (install/qt4/lib/libQtGui.so.4+0x23529e)
    #6 0x7f4f0422589d in QApplication::notify(QObject*, QEvent*) (install/qt4/lib/libQtGui.so.4+0x23789d)
    #7 0x7f4f05ae5340 in KApplication::notify(QObject*, QEvent*) KDE/kde/kdelibs/kdeui/kernel/kapplication.cpp:311
    #8 0x7f4f02cbdb15 in QCoreApplication::notifyInternal(QObject*, QEvent*) (install/qt4/lib/libQtCore.so.4+0x22db15)
    #9 0x7f4f02cc2279 in QCoreApplication::sendEvent(QObject*, QEvent*) (install/qt4/lib/libQtCore.so.4+0x232279)
    #10 0x7f4f02cbf123 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (install/qt4/lib/libQtCore.so.4+0x22f123)
    #11 0x7f4f02cbe087 in QCoreApplication::sendPostedEvents(QObject*, int) (install/qt4/lib/libQtCore.so.4+0x22e087)
    #12 0x7f4f0432a957 in QCoreApplication::sendPostedEvents() (install/qt4/lib/libQtGui.so.4+0x33c957)
    #13 0x7f4f0433ae91 in QEventDispatcherX11::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (install/qt4/lib/libQtGui.so.4+0x34ce91)
    #14 0x7f4f02cb8edb in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (install/qt4/lib/libQtCore.so.4+0x228edb)
    #15 0x7f4f02cb91ed in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (install/qt4/lib/libQtCore.so.4+0x2291ed)
    #16 0x7f4f02cbe316 in QCoreApplication::exec() (install/qt4/lib/libQtCore.so.4+0x22e316)
    #17 0x7f4f04225335 in QApplication::exec() (install/qt4/lib/libQtGui.so.4+0x237335)
    #18 0x461a30 in main (KDE/install-asan/bin/ark+0x461a30)
    #19 0x7f4f018b476c (/lib/x86_64-linux-gnu/libc.so.6+0x2176c)
    #20 0x44e9dc in _start (KDE/install-asan/bin/ark+0x44e9dc)
0x60f000016328 is located 136 bytes inside of 176-byte region [0x60f0000162a0,0x60f000016350)
freed by thread T0 here:
    #0 0x439ffa in operator delete(void*) (KDE/install-asan/bin/ark+0x439ffa)
    #1 0x7f4ef3d40a49 in Ark::Part::~Part() KDE/kde/kdeutils/ark/part/part.cpp:141
    #2 0x46a0fc in MainWindow::~MainWindow() (KDE/install-asan/bin/ark+0x46a0fc)
    #3 0x469963 in MainWindow::~MainWindow() (KDE/install-asan/bin/ark+0x469963)
    #4 0x7f4f02cdeb6d in qDeleteInEventHandler(QObject*) (install/qt4/lib/libQtCore.so.4+0x24eb6d)
    #5 0x7f4f02cde6d7 in QObject::event(QEvent*) (install/qt4/lib/libQtCore.so.4+0x24e6d7)
    #6 0x7f4f042ae155 in QWidget::event(QEvent*) (install/qt4/lib/libQtGui.so.4+0x2c0155)
    #7 0x7f4f048cfd82 in QMainWindow::event(QEvent*) (install/qt4/lib/libQtGui.so.4+0x8e1d82)
    #8 0x7f4f05e05133 in KMainWindow::event(QEvent*) KDE/kde/kdelibs/kdeui/widgets/kmainwindow.cpp:1126
    #9 0x7f4f05f0b0b2 in KXmlGuiWindow::event(QEvent*) KDE/kde/kdelibs/kdeui/xmlgui/kxmlguiwindow.cpp:126
    #10 0x7f4f0422329e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (install/qt4/lib/libQtGui.so.4+0x23529e)
    #11 0x7f4f0422913b in QApplication::notify(QObject*, QEvent*) (install/qt4/lib/libQtGui.so.4+0x23b13b)
    #12 0x7f4f05ae5340 in KApplication::notify(QObject*, QEvent*) KDE/kde/kdelibs/kdeui/kernel/kapplication.cpp:311
    #13 0x7f4f02cbdb15 in QCoreApplication::notifyInternal(QObject*, QEvent*) (install/qt4/lib/libQtCore.so.4+0x22db15)
    #14 0x7f4f02cc2279 in QCoreApplication::sendEvent(QObject*, QEvent*) (install/qt4/lib/libQtCore.so.4+0x232279)
    #15 0x7f4f02cbf123 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (install/qt4/lib/libQtCore.so.4+0x22f123)
    #16 0x7f4f02d10026 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (install/qt4/lib/libQtCore.so.4+0x280026)
    #17 0x7f4f0433b479 in QEventDispatcherX11::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (install/qt4/lib/libQtGui.so.4+0x34d479)
    #18 0x7f4f02cb8edb in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (install/qt4/lib/libQtCore.so.4+0x228edb)
    #19 0x7f4f02cb91ed in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (install/qt4/lib/libQtCore.so.4+0x2291ed)
    #20 0x7f4f049d7a9a in QDialog::exec() (install/qt4/lib/libQtGui.so.4+0x9e9a9a)
    #21 0x7f4f058719dc in KMessageBox::createKMessageBox(KDialog*, QIcon const&, QString const&, QStringList const&, QString const&, bool*, QFlags<KMessageBox::Option>, QString const&, QMessageBox::Icon) KDE/kde/kdelibs/kdeui/dialogs/kmessagebox.cpp:344
    #22 0x7f4f0586efe1 in KMessageBox::createKMessageBox(KDialog*, QMessageBox::Icon, QString const&, QStringList const&, QString const&, bool*, QFlags<KMessageBox::Option>, QString const&) KDE/kde/kdelibs/kdeui/dialogs/kmessagebox.cpp:158
    #23 0x7f4f0587c361 in KMessageBox::warningContinueCancelListWId(unsigned long, QString const&, QStringList const&, QString const&, KGuiItem const&, KGuiItem const&, QString const&, QFlags<KMessageBox::Option>) KDE/kde/kdelibs/kdeui/dialogs/kmessagebox.cpp:714
    #24 0x7f4f0587adae in QFlags install/qt4/include/QtCore/qglobal.h:2434
    #25 0x7f4f0587adae in QFlags install/qt4/include/QtCore/qglobal.h:2434
    #26 0x7f4f0587adae in QStringList KDE/kde/kdelibs/kdeui/dialogs/kmessagebox.cpp:676
    #27 0x7f4f0587adae in KMessageBox::warningContinueCancel(QWidget*, QString const&, QString const&, KGuiItem const&, KGuiItem const&, QString const&, QFlags<KMessageBox::Option>) KDE/kde/kdelibs/kdeui/dialogs/kmessagebox.cpp:652
    #28 0x7f4ef3d796a1 in ArkViewer::view(QString const&, QWidget*) KDE/kde/kdeutils/ark/part/arkviewer.cpp:135
    #29 0x7f4ef3d5544f in Ark::Part::slotPreviewExtracted(KJob*) KDE/kde/kdeutils/ark/part/part.cpp:609
    #30 0x7f4ef3d38644 in Ark::Part::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) KDE/build-asan/kde/kdeutils/ark/part/moc_part.cpp:106
    #31 0x7f4f02cdc3cc in QMetaCallEvent::placeMetaCall(QObject*) (install/qt4/lib/libQtCore.so.4+0x24c3cc)
    #32 0x7f4f02cde73f in QObject::event(QEvent*) (install/qt4/lib/libQtCore.so.4+0x24e73f)
    #33 0x7f4f0422329e in QApplicationPrivate::notify_helper(QObject*, QEvent*) (install/qt4/lib/libQtGui.so.4+0x23529e)
    #34 0x7f4f0422589d in QApplication::notify(QObject*, QEvent*) (install/qt4/lib/libQtGui.so.4+0x23789d)
    #35 0x7f4f05ae5340 in KApplication::notify(QObject*, QEvent*) KDE/kde/kdelibs/kdeui/kernel/kapplication.cpp:311
    #36 0x7f4f02cbdb15 in QCoreApplication::notifyInternal(QObject*, QEvent*) (install/qt4/lib/libQtCore.so.4+0x22db15)
    #37 0x7f4f02cc2279 in QCoreApplication::sendEvent(QObject*, QEvent*) (install/qt4/lib/libQtCore.so.4+0x232279)
    #38 0x7f4f02cbf123 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (install/qt4/lib/libQtCore.so.4+0x22f123)
    #39 0x7f4f02cbe087 in QCoreApplication::sendPostedEvents(QObject*, int) (install/qt4/lib/libQtCore.so.4+0x22e087)
    #40 0x7f4f0432a957 in QCoreApplication::sendPostedEvents() (install/qt4/lib/libQtGui.so.4+0x33c957)
    #41 0x7f4f0433ae91 in QEventDispatcherX11::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (install/qt4/lib/libQtGui.so.4+0x34ce91)
    #42 0x7f4f02cb8edb in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (install/qt4/lib/libQtCore.so.4+0x228edb)
    #43 0x7f4f02cb91ed in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (install/qt4/lib/libQtCore.so.4+0x2291ed)
    #44 0x7f4f02cbe316 in QCoreApplication::exec() (install/qt4/lib/libQtCore.so.4+0x22e316)
    #45 0x7f4f04225335 in QApplication::exec() (install/qt4/lib/libQtGui.so.4+0x237335)
    #46 0x461a30 in main (KDE/install-asan/bin/ark+0x461a30)
    #47 0x7f4f018b476c (/lib/x86_64-linux-gnu/libc.so.6+0x2176c)
    #48 0x44e9dc in _start (KDE/install-asan/bin/ark+0x44e9dc)
previously allocated by thread T0 here:
    #0 0x439d7a in operator new(unsigned long) (KDE/install-asan/bin/ark+0x439d7a)
    #1 0x7f4ef3d6ac49 in QObject* KPluginFactory::createPartInstance<Ark::Part>(QWidget*, QObject*, QList<QVariant> const&) KDE/install-asan/include/kpluginfactory.h:483
    #2 0x7f4f03b160cc in KPluginFactory::create(char const*, QWidget*, QObject*, QList<QVariant> const&, QString const&) KDE/kde/kdelibs/kdecore/util/kpluginfactory.cpp:203
    #3 0x4704f4 in KParts::ReadWritePart* KPluginFactory::create<KParts::ReadWritePart>(QObject*, QList<QVariant> const&) (KDE/install-asan/bin/ark+0x4704f4)
    #4 0x46bc23 in MainWindow::loadPart() (KDE/install-asan/bin/ark+0x46bc23)
    #5 0x46133c in main (KDE/install-asan/bin/ark+0x46133c)
    #6 0x7f4f018b476c (/lib/x86_64-linux-gnu/libc.so.6+0x2176c)
    #7 0x44e9dc in _start (KDE/install-asan/bin/ark+0x44e9dc)
SUMMARY: AddressSanitizer: heap-use-after-free KDE/kde/kdeutils/ark/part/part.cpp:529 Ark::Part::setReadyGui()
Shadow bytes around the buggy address:
  0x0c1e7fffac10: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd
  0x0c1e7fffac20: fd fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa
  0x0c1e7fffac30: fa fa fa fa fa fa fd fd fd fd fd fd fd fd fd fd
  0x0c1e7fffac40: fd fd fd fd fd fd fd fd fd fd fd fd fa fa fa fa
  0x0c1e7fffac50: fa fa fa fa fd fd fd fd fd fd fd fd fd fd fd fd
=>0x0c1e7fffac60: fd fd fd fd fd[fd]fd fd fd fd fa fa fa fa fa fa
  0x0c1e7fffac70: fa fa 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c1e7fffac80: 00 00 00 00 00 00 00 fa fa fa fa fa fa fa fa fa
  0x0c1e7fffac90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  0x0c1e7fffaca0: 00 00 00 00 00 fa fa fa fa fa fa fa fa fa 00 00
  0x0c1e7fffacb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
  Addressable:           00
  Partially addressable: 01 02 03 04 05 06 07 
  Heap left redzone:     fa
  Heap right redzone:    fb
  Freed heap region:     fd
  Stack left redzone:    f1
  Stack mid redzone:     f2
  Stack right redzone:   f3
  Stack partial redzone: f4
  Stack after return:    f5
  Stack use after scope: f8
  Global redzone:        f9
  Global init order:     f6
  Poisoned by user:      f7
  ASan internal:         fe
==23363==ABORTING
Comment 1 Elvis Angelaccio 2015-12-14 16:56:21 UTC
I'm not able to reproduce it, not even on a Fedora 23 with KDE 4. What's your Linux distribution?
Comment 2 Santhiar 2015-12-15 10:33:36 UTC
Created attachment 96083 [details]
Archive file for bug repro

My distribution is Ubuntu 12.04, but I'm using ark built from source.
To repro, could you try this: 
1. download any tar.gz file, say abc.tar.gz, and rename it to abc.tar.gz.1,
as a download manager like wget would do
2. Open this using the file menu in ark...it should show up as abc.tar.gz.1.uncompressed in ark's file list window
3. Right click on abc.tar.gz.1.uncompressed, and select preview
4. When the preview dialog is shown, close ark using qdbus from the terminal

I've attached the file that gives me the repro here...
Comment 3 Elvis Angelaccio 2015-12-15 20:13:26 UTC
Ok, I was able to reproduce it by renaming the archive as you suggested, on Fedora 23 with KDE 4.
The backtrace I get is the same of the one in bug 355757: https://bugs.kde.org/show_bug.cgi?id=355757

Can you please post the backtrace that you get with the steps described in your last comment?
Comment 4 Santhiar 2015-12-16 08:21:43 UTC
I have posted the backtrace again. Please also refer to the backtrace provided by AddressSanitizer that I have posted at the bottom of the original report - AddressSanitizer reports the first problematic memory access, along with stacks the allocation and free sites of that memory.

Application: Ark (ark), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7faf45e3f780 (LWP 24731))]

Thread 2 (Thread 0x7faf303ad700 (LWP 24734)):
#0  0x00007faf3ec6a4ac in send () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007faf3ec65020 in __vsyslog_chk () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007faf3ec653af in syslog () from /lib/x86_64-linux-gnu/libc.so.6
#3  0x00007faf3f7e5c93 in QMutex::lock (this=0xe88670) at thread/qmutex.cpp:180
#4  0x00007faf3f7c4645 in QMutex::lockInline (this=0xe88670) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:201
#5  0x00007faf3f7c16c0 in QMutexLocker::QMutexLocker (this=0x7faf303aca20, m=0xe88670) at ../../include/QtCore/../../src/corelib/thread/qmutex.h:109
#6  0x00007faf3f9c6e54 in QThreadData::canWaitLocked (this=0xe88620) at ../../include/QtCore/private/../../../src/corelib/thread/qthread_p.h:236
#7  0x00007faf3f9ca30b in QEventDispatcherUNIX::processEvents (this=0x7faf280008f0, flags=...) at kernel/qeventdispatcher_unix.cpp:911
#8  0x00007faf3f972f6c in QEventLoop::processEvents (this=0x7faf303acc78, flags=...) at kernel/qeventloop.cpp:149
#9  0x00007faf3f973332 in QEventLoop::exec (this=0x7faf303acc78, flags=...) at kernel/qeventloop.cpp:225
#10 0x00007faf3f7eb0a0 in QThread::exec (this=0xd938b0) at thread/qthread.cpp:659
#11 0x00007faf3f942994 in QInotifyFileSystemWatcherEngine::run (this=0xd938b0) at io/qfilesystemwatcher_inotify.cpp:265
#12 0x00007faf3f7efb2a in QThreadPrivate::start (arg=0xd938b0) at thread/qthread_unix.cpp:361
#13 0x00007faf45640e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#14 0x00007faf3ec6938d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#15 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7faf45e3f780 (LWP 24731)):
[KCrash Handler]
#6  QWidget::windowType (this=0x41) at qt/src/gui/../../include/QtGui/../../src/gui/kernel/qwidget.h:938
#7  0x00007faf413d46e5 in QWidget::isWindow (this=0x41) at qt/src/gui/../../include/QtGui/../../src/gui/kernel/qwidget.h:946
#8  0x00007faf414441eb in QWidgetPrivate::setEnabled_helper (this=0xce9cb0, enable=true) at kernel/qwidget.cpp:3386
#9  0x00007faf4144419d in QWidget::setEnabled (this=0xc6bda0, enable=true) at kernel/qwidget.cpp:3379
#10 0x00007faf352b79ef in Ark::Part::setReadyGui (this=0xb6a690) at KDE/kde/kdeutils/ark/part/part.cpp:530
#11 0x00007faf352b86fc in Ark::Part::slotPreviewExtracted (this=0xb6a690, job=<optimized out>) at KDE/kde/kdeutils/ark/part/part.cpp:620
#12 0x00007faf352ad9c0 in Ark::Part::qt_static_metacall (_o=0xb6a690, _c=<optimized out>, _id=<optimized out>, _a=0x7faf20001930) at KDE/build/kde/kdeutils/ark/part/moc_part.cpp:106
#13 0x00007faf3f99669d in QMetaCallEvent::placeMetaCall (this=0x7faf20001970, object=0xb6a690) at kernel/qobject.cpp:524
#14 0x00007faf3f998a10 in QObject::event (this=0xb6a690, e=0x7faf20001970) at kernel/qobject.cpp:1222
#15 0x00007faf413ca48f in QApplicationPrivate::notify_helper (this=0xa440f0, receiver=0xb6a690, e=0x7faf20001970) at kernel/qapplication.cpp:4565
#16 0x00007faf413cca8e in QApplication::notify (this=0x7ffff321ce68, receiver=0xb6a690, e=0x7faf20001970) at kernel/qapplication.cpp:3947
#17 0x00007faf4276df7b in KApplication::notify (this=0x7ffff321ce68, receiver=0xb6a690, event=0x7faf20001970) at KDE/kde/kdelibs/kdeui/kernel/kapplication.cpp:311
#18 0x00007faf3f977dc6 in QCoreApplication::notifyInternal (this=0x7ffff321ce68, receiver=0xb6a690, event=0x7faf20001970) at kernel/qcoreapplication.cpp:955
#19 0x00007faf3f97c54a in QCoreApplication::sendEvent (receiver=0xb6a690, event=0x7faf20001970) at qt/src/corelib/../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#20 0x00007faf3f9793f4 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0xa154e0) at kernel/qcoreapplication.cpp:1609
#21 0x00007faf3f978338 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1477
#22 0x00007faf414d1b48 in QCoreApplication::sendPostedEvents () at qt/src/gui/../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236
#23 0x00007faf414e2082 in QEventDispatcherX11::processEvents (this=0xa1cbc0, flags=...) at kernel/qeventdispatcher_x11.cpp:82
#24 0x00007faf3f972f6c in QEventLoop::processEvents (this=0x7ffff321cc30, flags=...) at kernel/qeventloop.cpp:149
#25 0x00007faf3f973332 in QEventLoop::exec (this=0x7ffff321cc30, flags=...) at kernel/qeventloop.cpp:225
#26 0x00007faf3f9785ee in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1229
#27 0x00007faf413cc526 in QApplication::exec () at kernel/qapplication.cpp:3823
#28 0x0000000000412a4e in main (argc=<optimized out>, argv=<optimized out>) at KDE/kde/kdeutils/ark/app/main.cpp:206
Comment 5 Elvis Angelaccio 2015-12-16 11:24:52 UTC
Yeah, your backtrace is different than mine.
How exactly have you compiled Ark? From git or from a source tarball?
Comment 6 Santhiar 2015-12-16 14:30:59 UTC
I have compiled ark from git.
The commit at head is 9c23ca12ad5884ddd271ea46e6b4bef3b68ed3e1
I'm on the Applications/15.04 branch (that was checkout out by kdesrc-build)
Comment 7 Santhiar 2015-12-16 14:32:46 UTC
I have encountered a bug with a similar repro but different crash stacks.
Basically opening a damaged archive and closing ark while the error window is open crashes ark.
Shall I paste the details here, or open a separate bug?
Comment 8 Elvis Angelaccio 2015-12-16 16:23:43 UTC
(In reply to Santhiar from comment #6)
> I have compiled ark from git.
> The commit at head is 9c23ca12ad5884ddd271ea46e6b4bef3b68ed3e1
> I'm on the Applications/15.04 branch (that was checkout out by kdesrc-build)
It's the same Ark version that I have in my Fedora virtual machine, weird.
If I have time, I'll try to setup an Ubuntu 12.04 VM to further investigate this.
Comment 9 Elvis Angelaccio 2015-12-16 16:24:22 UTC
(In reply to Santhiar from comment #7)
> I have encountered a bug with a similar repro but different crash stacks.
> Basically opening a damaged archive and closing ark while the error window
> is open crashes ark.
> Shall I paste the details here, or open a separate bug?
Please open another bug report. :)
Comment 10 Santhiar 2015-12-17 01:44:42 UTC
Done :) [https://bugs.kde.org/show_bug.cgi?id=356806]
Since you were able to repro this, could you change the status to CONF?
Comment 11 Elvis Angelaccio 2015-12-17 18:18:38 UTC
(In reply to Santhiar from comment #10)
> Done :) [https://bugs.kde.org/show_bug.cgi?id=356806]
> Since you were able to repro this, could you change the status to CONF?
No, because I can't reproduce it on Ark 15.12, which is the latest stable release.
This bug is either a duplicate of #355757, or a downstream issue. Until further investigations, let's keep it as unconfirmed.
Comment 12 Elvis Angelaccio 2016-04-11 09:51:31 UTC
I didn't find the time to setup an Ubuntu 12.04 VM...
Given that Ubuntu 16.04 is near, it doesn't make sense anymore to investigate a crash on such an old LTS release.

Please reopen if you manage to reproduce it on a newer Ark release.