Version: 2.13 (using 4.2.70 (KDE 4.2.70 (KDE 4.3 >= 20090415)), Gentoo) Compiler: x86_64-pc-linux-gnu-gcc OS: Linux (x86_64) release 2.6.30-rc3 Previous to 955593 http://websvn.kde.org/?view=rev&sortby=date&revision=955593 everything works fine. Application and System information: ------ KDE Version: 4.2.70 (KDE 4.2.70 (KDE 4.3 >= 20090415)) Qt Version: 4.5.0 Operating System: Linux 2.6.30-rc3 x86_64 Application that crashed: ark Version of the application: 2.13 ------ Backtrace: ------ Application: Ark (ark), signal: Aborted [Current thread is 0 (LWP 4105)] Thread 2 (Thread 0x415c6950 (LWP 4106)): [KCrash Handler] #5 0x00007f3d19c8c205 in raise () from /lib/libc.so.6 #6 0x00007f3d19c8d723 in abort () from /lib/libc.so.6 #7 0x00007f3d1a9c6085 in qt_message_output (msgType=QtFatalMsg, buf=<value optimized out>) at global/qglobal.cpp:2006 #8 0x00007f3d1a9c61a0 in qFatal (msg=<value optimized out>) at global/qglobal.cpp:2201 #9 0x00007f3d1aab039b in QCoreApplicationPrivate::checkReceiverThread (this=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.cpp:297 #10 0x00007f3d1af39781 in QApplication::notify (this=0x7fff25c14ee0, receiver=0x100a, e=0x415c5430) at kernel/qapplication.cpp:3571 #11 0x00007f3d1c98f6cb in KApplication::notify () from /usr/kde/live/lib64/libkdeui.so.5 #12 0x00007f3d1aaaf15b in QCoreApplication::notifyInternal (this=0x7fff25c14ee0, receiver=0xb55810, event=0x415c5430) at kernel/qcoreapplication.cpp:598 #13 0x00007f3d1aabdd7b in QObjectPrivate::setParent_helper (this=0xb32ab0, o=0xb55810) at kernel/qobject.cpp:1888 #14 0x00007f3d1d7db738 in Kerfuffle::Job::onFinished () from /usr/kde/live/lib64/libkerfuffle.so.4 #15 0x00007f3d1d7d82dd in Kerfuffle::ReadOnlyArchiveInterface::finished () from /usr/kde/live/lib64/libkerfuffle.so.4 #16 0x00007f3d1d7d8d93 in Kerfuffle::ListJob::doWork () from /usr/kde/live/lib64/libkerfuffle.so.4 #17 0x00007f3d1d7d4035 in Kerfuffle::Job::qt_metacall () from /usr/kde/live/lib64/libkerfuffle.so.4 #18 0x00007f3d1d7d4105 in Kerfuffle::ListJob::qt_metacall () from /usr/kde/live/lib64/libkerfuffle.so.4 #19 0x00007f3d1aac4a95 in QMetaObject::activate (sender=0xb71540, from_signal_index=<value optimized out>, to_signal_index=4, argv=0xffffffffffffffff) at kernel/qobject.cpp:3057 #20 0x00007f3d1aaca53f in QSingleShotTimer::timerEvent (this=0xb71540) at kernel/qtimer.cpp:298 #21 0x00007f3d1aabf303 in QObject::event (this=0xb71540, e=0x100a) at kernel/qobject.cpp:1073 #22 0x00007f3d1af30c0d in QApplicationPrivate::notify_helper (this=0x90b710, receiver=0xb71540, e=0x415c5e50) at kernel/qapplication.cpp:4084 #23 0x00007f3d1af397de in QApplication::notify (this=0x7fff25c14ee0, receiver=0xb71540, e=0x415c5e50) at kernel/qapplication.cpp:4049 #24 0x00007f3d1c98f6cb in KApplication::notify () from /usr/kde/live/lib64/libkdeui.so.5 #25 0x00007f3d1aaaf15b in QCoreApplication::notifyInternal (this=0x7fff25c14ee0, receiver=0xb71540, event=0x415c5e50) at kernel/qcoreapplication.cpp:598 #26 0x00007f3d1aad8916 in QTimerInfoList::activateTimers (this=0xb53910) at kernel/qcoreapplication.h:213 #27 0x00007f3d1aad93a8 in QEventDispatcherUNIX::processEvents (this=0xb70770, flags={i = 1096572704}) at kernel/qeventdispatcher_unix.cpp:908 #28 0x00007f3d1aaaddc2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 1096572752}) at kernel/qeventloop.cpp:149 #29 0x00007f3d1aaadf55 in QEventLoop::exec (this=0x415c5f90, flags={i = 1096572832}) at kernel/qeventloop.cpp:196 #30 0x00007f3d1a9cb51c in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:481 #31 0x00007f3d1d7dc827 in Kerfuffle::ThreadExecution::run () from /usr/kde/live/lib64/libkerfuffle.so.4 #32 0x00007f3d1a9ce829 in QThreadPrivate::start (arg=0xb4e6a0) at thread/qthread_unix.cpp:189 #33 0x00007f3d1a75b037 in start_thread () from /lib/libpthread.so.0 #34 0x00007f3d19d29cbd in clone () from /lib/libc.so.6 #35 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f3d1dbdd750 (LWP 4105)): #0 0x00007f3d19d23422 in select () from /lib/libc.so.6 #1 0x00007f3d1522da75 in _xcb_conn_wait () from /usr/lib/libxcb.so.1 #2 0x00007f3d1522f53c in xcb_wait_for_reply () from /usr/lib/libxcb.so.1 #3 0x00007f3d187cf83c in _XReply () from /usr/lib/libX11.so.6 #4 0x00007f3d187c3812 in XSync () from /usr/lib/libX11.so.6 #5 0x00007f3d1af8f55a in QETWidget::translateConfigEvent (this=0xa49b60, event=<value optimized out>) at kernel/qapplication_x11.cpp:5259 #6 0x00007f3d1af99109 in QApplication::x11ProcessEvent (this=0x7fff25c14ee0, event=0x7fff25c14ca0) at kernel/qapplication_x11.cpp:3448 #7 0x00007f3d1afbe9de in QEventDispatcherX11::processEvents (this=0x8ef940, flags={i = 633425344}) at kernel/qeventdispatcher_x11.cpp:132 #8 0x00007f3d1aaaddc2 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 633425392}) at kernel/qeventloop.cpp:149 #9 0x00007f3d1aaadf55 in QEventLoop::exec (this=0x7fff25c14e30, flags={i = 633425472}) at kernel/qeventloop.cpp:196 #10 0x00007f3d1aab2c0e in QCoreApplication::exec () at kernel/qcoreapplication.cpp:880 #11 0x000000000040a3ef in main () Here's another backtrace from gdb, from a different situation: ark(4079)/ark (kdeutils) Kerfuffle::factory: Loading library "kerfuffle_rar" ark(4079)/ark (kdeutils) RARInterface::RARInterface: Rar plugin opening "/mnt/mybook/Movies_New/Paul.Blart.Mall.Cop.2009.DVDRip.XviD-GFW/gfw-pbmc.r00" ark(4079)/ark (kdeutils) Part::setBusyGui: ark(4079) Kerfuffle::Job::start: Moving from QThread(0x208c300) to Kerfuffle::ThreadExecution(0x23f98f0) [New Thread 0x409b5950 (LWP 4084)] ark(4079)/ark (kdeutils) Kerfuffle::ThreadExecution::run: Run ark(4079)/ark (kdeutils) RARInterface::list: ark(4079)/ark (kdeutils) RARInterface::executeRarProcess: Executing "/usr/bin/unrar" ("v", "-c-", "/mnt/mybook/Movies_New/Paul.Blart.Mall.Cop.2009.DVDRip.XviD-GFW/gfw-pbmc.r00") [New Thread 0x41c36950 (LWP 4085)] ark(4079)/ark (kdeutils) Kerfuffle::Job::onFinished: ark(4079) Kerfuffle::Job::onFinished: Moving from Kerfuffle::ThreadExecution(0x23f98f0) to QThread(0x208c300) ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned by a different thread. Current thread 23f98f0. Receiver '' (of type 'Kerfuffle::ArchiveBase') was created in thread 208c300", file kernel/qcoreapplication.cpp, line 305 Program received signal SIGABRT, Aborted. [Switching to Thread 0x409b5950 (LWP 4084)] 0x00007fa57d306205 in raise () from /lib/libc.so.6 (gdb) bt #0 0x00007fa57d306205 in raise () from /lib/libc.so.6 #1 0x00007fa57d307723 in abort () from /lib/libc.so.6 #2 0x00007fa57e040085 in qt_message_output (msgType=QtFatalMsg, buf=<value optimized out>) at global/qglobal.cpp:2006 #3 0x00007fa57e0401a0 in qFatal (msg=<value optimized out>) at global/qglobal.cpp:2201 #4 0x00007fa57e12a39b in QCoreApplicationPrivate::checkReceiverThread (this=<value optimized out>, receiver=<value optimized out>) at kernel/qcoreapplication.cpp:297 #5 0x00007fa57e5b3781 in QApplication::notify (this=0x7fff8928e510, receiver=0xff4, e=0x409b4430) at kernel/qapplication.cpp:3571 #6 0x00007fa5800096cb in KApplication::notify () from /usr/kde/live/lib64/libkdeui.so.5 #7 0x00007fa57e12915b in QCoreApplication::notifyInternal ( this=0x7fff8928e510, receiver=0x2422570, event=0x409b4430) at kernel/qcoreapplication.cpp:598 #8 0x00007fa57e137d7b in QObjectPrivate::setParent_helper ( this=0x2382500, o=0x2422570) at kernel/qobject.cpp:1888 ---Type <return> to continue, or q <return> to quit--- #9 0x00007fa580e55738 in Kerfuffle::Job::onFinished () from /usr/kde/live/lib64/libkerfuffle.so.4 #10 0x00007fa580e522dd in Kerfuffle::ReadOnlyArchiveInterface::finished () from /usr/kde/live/lib64/libkerfuffle.so.4 #11 0x00007fa580e52d93 in Kerfuffle::ListJob::doWork () from /usr/kde/live/lib64/libkerfuffle.so.4 #12 0x00007fa580e4e035 in Kerfuffle::Job::qt_metacall () from /usr/kde/live/lib64/libkerfuffle.so.4 #13 0x00007fa580e4e105 in Kerfuffle::ListJob::qt_metacall () from /usr/kde/live/lib64/libkerfuffle.so.4 #14 0x00007fa57e13ea95 in QMetaObject::activate (sender=0x242ecc0, from_signal_index=<value optimized out>, to_signal_index=4, argv=0xffffffffffffffff) at kernel/qobject.cpp:3057 #15 0x00007fa57e14453f in QSingleShotTimer::timerEvent (this=0x242ecc0) at kernel/qtimer.cpp:298 #16 0x00007fa57e139303 in QObject::event (this=0x242ecc0, e=0xff4) at kernel/qobject.cpp:1073 #17 0x00007fa57e5aac0d in QApplicationPrivate::notify_helper ( ---Type <return> to continue, or q <return> to quit--- this=0x20a7240, receiver=0x242ecc0, e=0x409b4e50) at kernel/qapplication.cpp:4084 #18 0x00007fa57e5b37de in QApplication::notify (this=0x7fff8928e510, receiver=0x242ecc0, e=0x409b4e50) at kernel/qapplication.cpp:4049 #19 0x00007fa5800096cb in KApplication::notify () from /usr/kde/live/lib64/libkdeui.so.5 #20 0x00007fa57e12915b in QCoreApplication::notifyInternal ( this=0x7fff8928e510, receiver=0x242ecc0, event=0x409b4e50) at kernel/qcoreapplication.cpp:598 #21 0x00007fa57e152916 in QTimerInfoList::activateTimers ( this=0x245b3e0) at kernel/qcoreapplication.h:213 #22 0x00007fa57e1533a8 in QEventDispatcherUNIX::processEvents ( this=0x23e4830, flags={i = 1083920160}) at kernel/qeventdispatcher_unix.cpp:908 #23 0x00007fa57e127dc2 in QEventLoop::processEvents ( this=<value optimized out>, flags={i = 1083920208}) at kernel/qeventloop.cpp:149 #24 0x00007fa57e127f55 in QEventLoop::exec (this=0x409b4f90, flags= ---Type <return> to continue, or q <return> to quit--- {i = 1083920288}) at kernel/qeventloop.cpp:196 #25 0x00007fa57e04551c in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:481 #26 0x00007fa580e56827 in Kerfuffle::ThreadExecution::run () from /usr/kde/live/lib64/libkerfuffle.so.4 #27 0x00007fa57e048829 in QThreadPrivate::start (arg=0x23f98f0) at thread/qthread_unix.cpp:189 #28 0x00007fa57ddd5037 in start_thread () from /lib/libpthread.so.0 #29 0x00007fa57d3a3cbd in clone () from /lib/libc.so.6 #30 0x0000000000000000 in ?? ()
Please update your trunk to the latest revision. After that commit there has been a lot of work on these threading issues. Can you please confirm if it persists after that?
Yes, I was using trunk.. Then I bisected and found the commit that caused the crash. Now I switched back to trunk and the backtrace is very different: ark(10909)/ark (kdeutils) Kerfuffle::factory: Loading library "kerfuffle_clirar" ark(10909)/ark (kdeutils) Part::setBusyGui: [New Thread 0x4101b950 (LWP 10914)] ark(10909)/ark (kdeutils) Kerfuffle::ThreadExecution::run: Run ark(10909)/ark (kdeutils) Kerfuffle::CliInterface::failOperation: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x4101b950 (LWP 10914)] QProcess::terminate (this=0x0) at io/qprocess.cpp:1630 1630 io/qprocess.cpp: No such file or directory. in io/qprocess.cpp Current language: auto; currently c++ (gdb) bt #0 QProcess::terminate (this=0x0) at io/qprocess.cpp:1630 #1 0x00007f07799acc6d in Kerfuffle::CliInterface::failOperation () from /usr/kde/live/lib64/libkerfuffle.so.4 #2 0x00007f07799af228 in Kerfuffle::CliInterface::list () from /usr/kde/live/lib64/libkerfuffle.so.4 #3 0x00007f077999c781 in Kerfuffle::ListJob::doWork () from /usr/kde/live/lib64/libkerfuffle.so.4 #4 0x00007f077999fe71 in Kerfuffle::ThreadExecution::run () from /usr/kde/live/lib64/libkerfuffle.so.4 #5 0x00007f0776b92829 in QThreadPrivate::start (arg=0x2240150) at thread/qthread_unix.cpp:189 #6 0x00007f077691f037 in start_thread () from /lib/libpthread.so.0 #7 0x00007f0775eedcbd in clone () from /lib/libc.so.6 #8 0x0000000000000000 in ?? () Is that "io/qprocess.cpp: No such file or directory." my system's fault? Does it matter?
I've never seem something like that, but it looks like it can't find your qt sources anymore. I just don't know if it matters to the crash. Can you attach a file that always causes this crash?
Hm weird, now I can't get it to crash anymore, no matter what archive I try to extract or open... I'll reopen this if I encounter the same problem and get a decent backtrace. Sorry for the noise :)
Nono, it's not noise. It's actually a very valid bug and I'm working on fixing it now. It points to a flaw in cliinterface that I somehow forgot to fix some time back which I'm going to fix now.
SVN commit 961690 by metellius: BUG: 190610 There, a proper fix for the bug. Make sure running process after process works fine by not removing the process until the next one has been created. Also, the readstdout system has been cleaned up a good bit. M +70 -56 cliinterface.cpp M +1 -0 cliinterface.h WebSVN link: http://websvn.kde.org/?view=rev&revision=961690
Not sure if it's related, but now I'm getting crashes opening/extracting .zip files: -- Application and System information: Application that crashed: ark Version of the application: 2.13 KDE Version: 4.2.71 (KDE 4.2.71 (KDE 4.3 >= 20090428)) Qt Version: 4.5.1 Operating System: Linux 2.6.30-rc4 x86_64 -- Backtrace: Application: Ark (ark), signal: Aborted [Current thread is 0 (LWP 2051)] Thread 3 (Thread 0x42044950 (LWP 2052)): [KCrash Handler] #5 0x00007f322abb4205 in raise () from /lib/libc.so.6 #6 0x00007f322abb5723 in abort () from /lib/libc.so.6 #7 0x00007f322b8ec015 in qt_message_output (msgType=QtFatalMsg, buf=<value optimized out>) at global/qglobal.cpp:2017 #8 0x00007f322b8ec130 in qFatal (msg=<value optimized out>) at global/qglobal.cpp:2216 #9 0x00007f32222b8264 in CliPlugin::readListLine () from /usr/kde/live/lib64/kde4/kerfuffle_clizip.so #10 0x00007f322e713896 in Kerfuffle::CliInterface::handleLine () from /usr/kde/live/lib64/libkerfuffle.so.4 #11 0x00007f322e713e8d in Kerfuffle::CliInterface::readStdout () from /usr/kde/live/lib64/libkerfuffle.so.4 #12 0x00007f322e7142b8 in Kerfuffle::CliInterface::qt_metacall () from /usr/kde/live/lib64/libkerfuffle.so.4 #13 0x00007f322b9ead65 in QMetaObject::activate (sender=0x16468b0, from_signal_index=<value optimized out>, to_signal_index=13, argv=0xffffffffffffffff) at kernel/qobject.cpp:3108 #14 0x00007f322b97da6f in QProcessPrivate::_q_canReadStandardOutput (this=0x1647190) at io/qprocess.cpp:564 #15 0x00007f322b97ec39 in QProcess::qt_metacall (this=0x16468b0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x42043750) at .moc/debug-shared/moc_qprocess.cpp:101 #16 0x00007f322d09890d in KProcess::qt_metacall () from /usr/kde/live/lib64/libkdecore.so.5 #17 0x00007f322b9ead65 in QMetaObject::activate (sender=0x164f460, from_signal_index=<value optimized out>, to_signal_index=4, argv=0xffffffffffffffff) at kernel/qobject.cpp:3108 #18 0x00007f322ba1de1e in QSocketNotifier::activated (this=0x803, _t1=21) at .moc/debug-shared/moc_qsocketnotifier.cpp:83 #19 0x00007f322b9f0223 in QSocketNotifier::event (this=0x164f460, e=0x42043d20) at kernel/qsocketnotifier.cpp:316 #20 0x00007f322be4e43d in QApplicationPrivate::notify_helper (this=0x13fa450, receiver=0x164f460, e=0x42043d20) at kernel/qapplication.cpp:4057 #21 0x00007f322be5708e in QApplication::notify (this=0x7fff36b3bde0, receiver=0x164f460, e=0x42043d20) at kernel/qapplication.cpp:4022 #22 0x00007f322d8b81db in KApplication::notify () from /usr/kde/live/lib64/libkdeui.so.5 #23 0x00007f322b9d53eb in QCoreApplication::notifyInternal (this=0x7fff36b3bde0, receiver=0x164f460, event=0x42043d20) at kernel/qcoreapplication.cpp:606 #24 0x00007f322b9fef60 in QEventDispatcherUNIX::activateSocketNotifiers (this=<value optimized out>) at kernel/qcoreapplication.h:213 #25 0x00007f322b9ff48c in QEventDispatcherUNIXPrivate::doSelect (this=0x16452a0, flags={i = 1107574496}, timeout=0x0) at kernel/qeventdispatcher_unix.cpp:250 #26 0x00007f322b9ff5ed in QEventDispatcherUNIX::processEvents (this=0x1641ee0, flags={i = 1107574560}) at kernel/qeventdispatcher_unix.cpp:904 #27 0x00007f322b9d4052 in QEventLoop::processEvents (this=<value optimized out>, flags={i = 1107574608}) at kernel/qeventloop.cpp:149 #28 0x00007f322b9d41e5 in QEventLoop::exec (this=0x42043f90, flags={i = 1107574688}) at kernel/qeventloop.cpp:196 #29 0x00007f322b8f152c in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487 #30 0x00007f322e704f49 in Kerfuffle::ThreadExecution::run () from /usr/kde/live/lib64/libkerfuffle.so.4 #31 0x00007f322b8f4839 in QThreadPrivate::start (arg=0x1644f70) at thread/qthread_unix.cpp:189 #32 0x00007f322b683037 in start_thread () from /lib/libpthread.so.0 #33 0x00007f322ac51cbd in clone () from /lib/libc.so.6 #34 0x0000000000000000 in ?? () Thread 2 (Thread 0x410a4950 (LWP 2053)): #0 0x00007f322ac4b422 in select () from /lib/libc.so.6 #1 0x00007f322b9b67f5 in QProcessManager::run (this=0x13fbd20) at io/qprocess_unix.cpp:305 #2 0x00007f322b8f4839 in QThreadPrivate::start (arg=0x13fbd20) at thread/qthread_unix.cpp:189 #3 0x00007f322b683037 in start_thread () from /lib/libpthread.so.0 #4 0x00007f322ac51cbd in clone () from /lib/libc.so.6 #5 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f322eb07750 (LWP 2051)): #0 0x00007f322b686da9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #1 0x00007f322b8f53f5 in QWaitCondition::wait (this=0x13fb990, mutex=0x13fb970, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87 #2 0x00007f322b8f4af7 in QThread::wait (this=<value optimized out>, time=18446744073709551615) at thread/qthread_unix.cpp:485 #3 0x00007f322b9b941a in ~QProcessManager (this=0x13fbd20) at io/qprocess_unix.cpp:268 #4 0x00007f322b9b97d5 in ~QGlobalStaticDeleter (this=0x7f322bcb12e8) at ../../include/QtCore/../../src/corelib/global/qglobal.h:1628 #5 0x00007f322abb6dad in exit () from /lib/libc.so.6 #6 0x00007f322bea9b88 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:707 #7 0x00007f322d8b7bf8 in KApplication::xioErrhandler () from /usr/kde/live/lib64/libkdeui.so.5 #8 0x00007f322990c024 in _XIOError () from /usr/lib/libX11.so.6 #9 0x00007f322991329f in process_responses () from /usr/lib/libX11.so.6 #10 0x00007f3229913858 in _XReply () from /usr/lib/libX11.so.6 #11 0x00007f32298f0f15 in XGetWindowProperty () from /usr/lib/libX11.so.6 #12 0x00007f32298f009d in XGetWMHints () from /usr/lib/libX11.so.6 #13 0x00007f322bed0f47 in QWidgetPrivate::show_sys (this=0x153aa20) at kernel/qwidget_x11.cpp:1681 #14 0x00007f322bea25bd in QWidgetPrivate::show_helper (this=0x153aa20) at kernel/qwidget.cpp:6736 #15 0x00007f322bea2b1a in QWidget::setVisible (this=0x153b8b0, visible=<value optimized out>) at kernel/qwidget.cpp:6947 #16 0x000000000040b1c5 in main ()
console output: ark(2131)/ark (kdeutils) Kerfuffle::factory: Loading library "kerfuffle_clizip" ark(2131)/ark (kdeutils) Part::setBusyGui: ark(2131)/ark (kdeutils) Kerfuffle::ThreadExecution::run: Run ark(2131)/ark (kdeutils) Kerfuffle::CliInterface::createProcess: ark(2131)/ark (kdeutils) Kerfuffle::CliInterface::executeProcess: Executing "/usr/bin/unzip" ("-l", "-v", "/home/mikko/sdk-l4/multicell2.zip") ASSERT failure in QList<T>::operator[]: "index out of range", file /usr/include/qt4/QtCore/qlist.h, line 403 KCrash: crashing... crashRecursionCounter = 2
Yes, this is simply the zip-plugin being unfinished yet. If you care very much about having ark working right now, you can use a desktop file to raise the priority of the old libzip-plugin. Otherwise, this should be fixed as soon as I finish the specing the zip workings.