Application: ark (16.08.2) Qt Version: 5.6.1 Frameworks Version: 5.26.0 Operating System: Linux 4.4.36-8-default x86_64 Distribution: "openSUSE Leap 42.2" -- Information about the crash: - What I was doing when the application crashed: I started to compress multiple files into tar.xz archive. After canceling (pressing stop button) in information dialog from systray info popup, crash notification appeared -- Backtrace: Application: Ark (ark), signal: Aborted Using host libthread_db library "/lib64/libthread_db.so.1". pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 [Current thread is 1 (Thread 0x7f5d6b11e880 (LWP 24870))] Thread 4 (Thread 0x7f5d44ce4700 (LWP 24873)): [KCrash Handler] #6 0x00007f5d672798d7 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55 #7 0x00007f5d6727acaa in __GI_abort () at abort.c:78 #8 0x00007f5d6768060d in __gnu_cxx::__verbose_terminate_handler () at ../../../../libstdc++-v3/libsupc++/vterminate.cc:95 #9 0x00007f5d6767e5e6 in __cxxabiv1::__terminate (handler=<optimized out>) at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:47 #10 0x00007f5d6767e631 in std::terminate () at ../../../../libstdc++-v3/libsupc++/eh_terminate.cc:57 #11 0x00007f5d6767e848 in __cxxabiv1::__cxa_throw (obj=0x7f5d40005050, tinfo=0x7f5d67961750 <typeinfo for std::bad_alloc>, dest=0x7f5d6767ca60 <std::bad_alloc::~bad_alloc()>) at ../../../../libstdc++-v3/libsupc++/eh_throw.cc:87 #12 0x00007f5d67a06aa2 in qBadAlloc () at global/qglobal.cpp:2979 #13 0x00007f5d67a7efd6 in grow (size=-1073710330) at tools/qlist.cpp:60 #14 QListData::detach_grow (this=this@entry=0x246f440, idx=idx@entry=0x7f5d44ce3a1c, num=num@entry=1) at tools/qlist.cpp:81 #15 0x00007f5d45306580 in QList<QString>::detach_helper_grow (this=this@entry=0x246f440, i=i@entry=2147483647, c=c@entry=1) at /usr/include/qt5/QtCore/qlist.h:746 #16 0x00007f5d45301e57 in QList<QString>::append (t=..., this=0x246f440) at /usr/include/qt5/QtCore/qlist.h:572 #17 QList<QString>::push_back (t=..., this=0x246f440) at /usr/include/qt5/QtCore/qlist.h:351 #18 ReadWriteLibarchivePlugin::writeFile (this=this@entry=0x246f3e0, relativeName=..., arch_writer=arch_writer@entry=0x7f5d40005560) at /usr/src/debug/ark-16.08.2/plugins/libarchive/readwritelibarchiveplugin.cpp:510 #19 0x00007f5d45303ccc in ReadWriteLibarchivePlugin::addFiles (this=0x246f3e0, files=..., options=...) at /usr/src/debug/ark-16.08.2/plugins/libarchive/readwritelibarchiveplugin.cpp:227 #20 0x00007f5d6ad116c7 in Kerfuffle::AddJob::doWork (this=0x23150c0) at /usr/src/debug/ark-16.08.2/kerfuffle/jobs.cpp:456 #21 0x00007f5d6ad0e821 in Kerfuffle::Job::Private::run (this=0x2303db0) at /usr/src/debug/ark-16.08.2/kerfuffle/jobs.cpp:62 #22 0x00007f5d67a1f9e9 in QThreadPrivate::start (arg=0x2303db0) at thread/qthread_unix.cpp:341 #23 0x00007f5d6373c734 in start_thread (arg=0x7f5d44ce4700) at pthread_create.c:334 #24 0x00007f5d6732ed3d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3 (Thread 0x7f5d4ffff700 (LWP 24872)): #0 0x00007f5d6732649d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f5d63008314 in g_main_context_poll (priority=2147483647, n_fds=1, fds=0x7f5d48003020, timeout=-1, context=0x7f5d48000990) at gmain.c:4135 #2 g_main_context_iterate (context=context@entry=0x7f5d48000990, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3835 #3 0x00007f5d6300842c in g_main_context_iteration (context=0x7f5d48000990, may_block=1) at gmain.c:3901 #4 0x00007f5d67c3232b in QEventDispatcherGlib::processEvents (this=0x7f5d480008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:419 #5 0x00007f5d67bdffdb in QEventLoop::exec (this=this@entry=0x7f5d4fffed20, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #6 0x00007f5d67a1af1a in QThread::exec (this=this@entry=0x7f5d652e5ce0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread.cpp:500 #7 0x00007f5d6507d1d5 in QDBusConnectionManager::run (this=0x7f5d652e5ce0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:189 #8 0x00007f5d67a1f9e9 in QThreadPrivate::start (arg=0x7f5d652e5ce0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:341 #9 0x00007f5d6373c734 in start_thread (arg=0x7f5d4ffff700) at pthread_create.c:334 #10 0x00007f5d6732ed3d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 2 (Thread 0x7f5d58232700 (LWP 24871)): #0 0x00007f5d6732649d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007f5d608af3c2 in _xcb_conn_wait () from /usr/lib64/libxcb.so.1 #2 0x00007f5d608b110f in xcb_wait_for_event () from /usr/lib64/libxcb.so.1 #3 0x00007f5d5a794839 in QXcbEventReader::run (this=0x21881e0) at qxcbconnection.cpp:1325 #4 0x00007f5d67a1f9e9 in QThreadPrivate::start (arg=0x21881e0) at thread/qthread_unix.cpp:341 #5 0x00007f5d6373c734 in start_thread (arg=0x7f5d58232700) at pthread_create.c:334 #6 0x00007f5d6732ed3d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 1 (Thread 0x7f5d6b11e880 (LWP 24870)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007f5d67a2065b in QWaitConditionPrivate::wait (time=18446744073709551615, this=0x2414ca0) at thread/qwaitcondition_unix.cpp:136 #2 QWaitCondition::wait (this=this@entry=0x225bf30, mutex=mutex@entry=0x225bf10, time=time@entry=18446744073709551615) at thread/qwaitcondition_unix.cpp:208 #3 0x00007f5d67a1f5e6 in QThread::wait (this=<optimized out>, time=time@entry=18446744073709551615) at thread/qthread_unix.cpp:672 #4 0x00007f5d6ad0e050 in Kerfuffle::Job::~Job (this=0x23150c0, __in_chrg=<optimized out>) at /usr/src/debug/ark-16.08.2/kerfuffle/jobs.cpp:91 #5 0x00007f5d6ad42652 in Kerfuffle::AddJob::~AddJob (this=0x23150c0, __in_chrg=<optimized out>) at /usr/src/debug/ark-16.08.2/kerfuffle/jobs.h:211 #6 Kerfuffle::AddJob::~AddJob (this=0x23150c0, __in_chrg=<optimized out>) at /usr/src/debug/ark-16.08.2/kerfuffle/jobs.h:211 #7 0x00007f5d67c0d1b0 in QObject::event (this=0x23150c0, e=<optimized out>) at kernel/qobject.cpp:1247 #8 0x00007f5d688e8e3c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x23150c0, e=0x22f8ad0) at kernel/qapplication.cpp:3804 #9 0x00007f5d688ed49a in QApplication::notify (this=0x7ffd25bd84a0, receiver=0x23150c0, e=0x22f8ad0) at kernel/qapplication.cpp:3561 #10 0x00007f5d67be1fc5 in QCoreApplication::notifyInternal2 (receiver=0x23150c0, event=event@entry=0x22f8ad0) at kernel/qcoreapplication.cpp:1015 #11 0x00007f5d67be3daa in QCoreApplication::sendEvent (event=0x22f8ad0, receiver=<optimized out>) at kernel/qcoreapplication.h:225 #12 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0, data=0x216b250) at kernel/qcoreapplication.cpp:1650 #13 0x00007f5d67be4358 in QCoreApplication::sendPostedEvents (receiver=receiver@entry=0x0, event_type=event_type@entry=0) at kernel/qcoreapplication.cpp:1508 #14 0x00007f5d67c32c83 in postEventSourceDispatch (s=0x21a22c0) at kernel/qeventdispatcher_glib.cpp:270 #15 0x00007f5d63008134 in g_main_dispatch (context=0x7f5d500016f0) at gmain.c:3154 #16 g_main_context_dispatch (context=context@entry=0x7f5d500016f0) at gmain.c:3769 #17 0x00007f5d63008388 in g_main_context_iterate (context=context@entry=0x7f5d500016f0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3840 #18 0x00007f5d6300842c in g_main_context_iteration (context=0x7f5d500016f0, may_block=1) at gmain.c:3901 #19 0x00007f5d67c3230c in QEventDispatcherGlib::processEvents (this=0x21d47b0, flags=...) at kernel/qeventdispatcher_glib.cpp:417 #20 0x00007f5d67bdffdb in QEventLoop::exec (this=this@entry=0x7ffd25bd8340, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204 #21 0x00007f5d67be7ec6 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1285 #22 0x00007f5d6812d70c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1607 #23 0x00007f5d688e6045 in QApplication::exec () at kernel/qapplication.cpp:2979 #24 0x000000000040d368 in main (argc=80, argv=<optimized out>) at /usr/src/debug/ark-16.08.2/app/main.cpp:298 Possible duplicates by query: bug 362651, bug 359090. Reported using DrKonqi
Thanks for the report.
Git commit e777831fe4a7cdb3b41f4be521d6a8531df63147 by Elvis Angelaccio. Committed on 08/01/2017 at 16:13. Pushed by elvisangelaccio into branch 'Applications/16.12'. Properly kill AddToArchive jobs Both AddToArchive and CreateJob are wrapper jobs, they need to implement doKill() and call kill() on the actual jobs that are doing the work. FIXED-IN: 16.12.1 Differential Revision: D4000 M +10 -5 kerfuffle/addtoarchive.cpp M +4 -0 kerfuffle/addtoarchive.h M +10 -5 kerfuffle/jobs.cpp M +4 -0 kerfuffle/jobs.h M +1 -1 plugins/libarchive/libarchiveplugin.cpp https://commits.kde.org/ark/e777831fe4a7cdb3b41f4be521d6a8531df63147