Application: krusader (2.4.0-beta1 "Migration") KDE Platform Version: 4.10.1 Qt Version: 4.8.3 Operating System: Linux 3.5.0-26-generic x86_64 Distribution: Ubuntu 12.10 -- Information about the crash: Krusader crash when i try view any file .oxt (Lbre/Open office extension) with integrated viewer (F3). The crash can be reproduced every time. -- Backtrace: Application: Krusader (krusader), signal: Segmentation fault Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 [Current thread is 1 (Thread 0x7f1eec950780 (LWP 6102))] Thread 3 (Thread 0x7f1ee4637700 (LWP 6103)): #0 0x00007f1ef3174313 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87 #1 0x00007f1eef92ed84 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007f1eef92eea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007f1ef3e6cc46 in QEventDispatcherGlib::processEvents (this=0x7f1edc0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #4 0x00007f1ef3e3d2ef in QEventLoop::processEvents (this=this@entry=0x7f1ee4636dd0, flags=...) at kernel/qeventloop.cpp:149 #5 0x00007f1ef3e3d578 in QEventLoop::exec (this=0x7f1ee4636dd0, flags=...) at kernel/qeventloop.cpp:204 #6 0x00007f1ef3d3eb40 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501 #7 0x00007f1ef3e1d9df in QInotifyFileSystemWatcherEngine::run (this=0x182d9c0) at io/qfilesystemwatcher_inotify.cpp:248 #8 0x00007f1ef3d41b1c in QThreadPrivate::start (arg=0x182d9c0) at thread/qthread_unix.cpp:338 #9 0x00007f1ef0ce3e9a in start_thread (arg=0x7f1ee4637700) at pthread_create.c:308 #10 0x00007f1ef317fccd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #11 0x0000000000000000 in ?? () Thread 2 (Thread 0x7f1edb9d4700 (LWP 6104)): [KCrash Handler] #6 0x0000000000000050 in ?? () #7 0x00007f1ef3e57e43 in QObject::connect (sender=0x7f1ed4003a80, signal=0x7f1ee3387c5a "readyReadStandardOutput()", receiver=0x1cea870, method=0x7f1ee3387c4c "readStdout()", type=Qt::DirectConnection) at kernel/qobject.cpp:2588 #8 0x00007f1ee3380e2b in Kerfuffle::CliInterface::runProcess(QStringList const&, QStringList const&) () from /usr/lib/libkerfuffle.so.4 #9 0x00007f1ee3381312 in Kerfuffle::CliInterface::list() () from /usr/lib/libkerfuffle.so.4 #10 0x00007f1ee3377300 in Kerfuffle::ListJob::doWork() () from /usr/lib/libkerfuffle.so.4 #11 0x00007f1ee3377061 in Kerfuffle::Job::Private::run() () from /usr/lib/libkerfuffle.so.4 #12 0x00007f1ef3d41b1c in QThreadPrivate::start (arg=0x18753b0) at thread/qthread_unix.cpp:338 #13 0x00007f1ef0ce3e9a in start_thread (arg=0x7f1edb9d4700) at pthread_create.c:308 #14 0x00007f1ef317fccd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #15 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f1eec950780 (LWP 6102)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162 #1 0x00007f1ef3d4207b in wait (time=18446744073709551615, this=0x1ce9600) at thread/qwaitcondition_unix.cpp:86 #2 QWaitCondition::wait (this=<optimized out>, mutex=0x1cd4be8, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158 #3 0x00007f1ef3d416ec in QThread::wait (this=<optimized out>, time=18446744073709551615) at thread/qthread_unix.cpp:691 #4 0x00007f1ee3376b10 in Kerfuffle::Job::~Job() () from /usr/lib/libkerfuffle.so.4 #5 0x00007f1ee3378a88 in Kerfuffle::ListJob::~ListJob() () from /usr/lib/libkerfuffle.so.4 #6 0x00007f1ef3e511b2 in QObjectPrivate::deleteChildren (this=this@entry=0x1ce6c30) at kernel/qobject.cpp:1908 #7 0x00007f1ef3e54ff6 in QObject::~QObject (this=0x1cea130, __in_chrg=<optimized out>) at kernel/qobject.cpp:927 #8 0x00007f1ee3373b79 in Kerfuffle::Archive::~Archive() () from /usr/lib/libkerfuffle.so.4 #9 0x00007f1ee35d672b in ?? () from /usr/lib/kde4/arkpart.so #10 0x00007f1ee35d6759 in ?? () from /usr/lib/kde4/arkpart.so #11 0x00007f1ef3e511b2 in QObjectPrivate::deleteChildren (this=this@entry=0x1c7dd20) at kernel/qobject.cpp:1908 #12 0x00007f1ef3e54ff6 in QObject::~QObject (this=0x1c7d970, __in_chrg=<optimized out>) at kernel/qobject.cpp:927 #13 0x00007f1ef6810f68 in KParts::Part::~Part (this=0x1c7d970, __vtt_parm=0x7f1ee37e8858, __in_chrg=<optimized out>) at ../../kparts/part.cpp:190 #14 0x00007f1ee35cafd2 in ?? () from /usr/lib/kde4/arkpart.so #15 0x00007f1ee35cb019 in ?? () from /usr/lib/kde4/arkpart.so #16 0x0000000000538319 in ?? () #17 0x0000000000538459 in ?? () #18 0x0000000000535c69 in ?? () #19 0x0000000000535d61 in ?? () #20 0x0000000000480852 in ?? () #21 0x00000000004829da in ?? () #22 0x00007f1ef3e53f8f in QMetaObject::activate (sender=0x17ef190, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7ffff0859830) at kernel/qobject.cpp:3547 #23 0x00007f1ef435ca32 in QAction::triggered (this=this@entry=0x17ef190, _t1=false) at .moc/release-shared/moc_qaction.cpp:277 #24 0x00007f1ef435cc20 in QAction::activate (this=0x17ef190, event=event@entry=QAction::Trigger) at kernel/qaction.cpp:1257 #25 0x00007f1ef435cd87 in QAction::event (this=<optimized out>, e=<optimized out>) at kernel/qaction.cpp:1183 #26 0x00007f1ef62f4b37 in KAction::event (this=<optimized out>, event=0x7ffff0859dd0) at ../../kdeui/actions/kaction.cpp:131 #27 0x00007f1ef4362e9c in QApplicationPrivate::notify_helper (this=this@entry=0x12fbd30, receiver=receiver@entry=0x17ef190, e=e@entry=0x7ffff0859dd0) at kernel/qapplication.cpp:4562 #28 0x00007f1ef436730a in QApplication::notify (this=0x7ffff085b5b0, receiver=0x17ef190, e=0x7ffff0859dd0) at kernel/qapplication.cpp:4423 #29 0x00007f1ef63cead6 in KApplication::notify (this=0x7ffff085b5b0, receiver=0x17ef190, event=0x7ffff0859dd0) at ../../kdeui/kernel/kapplication.cpp:311 #30 0x00007f1ef3e3e59e in QCoreApplication::notifyInternal (this=0x7ffff085b5b0, receiver=0x17ef190, event=0x7ffff0859dd0) at kernel/qcoreapplication.cpp:915 #31 0x00007f1ef4393d74 in sendEvent (event=0x7ffff0859dd0, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #32 QShortcutMap::dispatchEvent (this=this@entry=0x12fbe50, e=e@entry=0x7ffff085a3a0) at kernel/qshortcutmap.cpp:884 #33 0x00007f1ef43953a3 in QShortcutMap::tryShortcutEvent (this=0x12fbe50, o=<optimized out>, e=0x7ffff085a3a0) at kernel/qshortcutmap.cpp:364 #34 0x00007f1ef4368fe9 in QApplication::notify (this=0x7ffff085b5b0, receiver=0x190e270, e=0x7ffff085a3a0) at kernel/qapplication.cpp:3986 #35 0x00007f1ef63cead6 in KApplication::notify (this=0x7ffff085b5b0, receiver=0x190e270, event=0x7ffff085a3a0) at ../../kdeui/kernel/kapplication.cpp:311 #36 0x00007f1ef3e3e59e in QCoreApplication::notifyInternal (this=0x7ffff085b5b0, receiver=0x190e270, event=0x7ffff085a3a0) at kernel/qcoreapplication.cpp:915 #37 0x00007f1ef4403e79 in QKeyMapper::sendKeyEvent (keyWidget=keyWidget@entry=0x190e270, grab=grab@entry=false, type=QEvent::KeyPress, code=16777266, modifiers=..., text=..., autorepeat=autorepeat@entry=false, count=1, nativeScanCode=69, nativeVirtualKey=65472, nativeModifiers=16) at kernel/qkeymapper_x11.cpp:1866 #38 0x00007f1ef44042b1 in QKeyMapperPrivate::translateKeyEvent (this=0x1343860, keyWidget=0x190e270, event=0x7ffff085add0, grab=<optimized out>) at kernel/qkeymapper_x11.cpp:1836 #39 0x00007f1ef43dfed9 in QApplication::x11ProcessEvent (this=0x7ffff085b5b0, event=0x7ffff085add0) at kernel/qapplication_x11.cpp:3630 #40 0x00007f1ef4407fa2 in x11EventSourceDispatch (s=0x12fb990, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #41 0x00007f1eef92eab5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #42 0x00007f1eef92ede8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #43 0x00007f1eef92eea4 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #44 0x00007f1ef3e6cc26 in QEventDispatcherGlib::processEvents (this=0x12c5b30, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #45 0x00007f1ef4407c1e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #46 0x00007f1ef3e3d2ef in QEventLoop::processEvents (this=this@entry=0x7ffff085b1a0, flags=...) at kernel/qeventloop.cpp:149 #47 0x00007f1ef3e3d578 in QEventLoop::exec (this=0x7ffff085b1a0, flags=...) at kernel/qeventloop.cpp:204 #48 0x00007f1ef3e42738 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187 #49 0x000000000044bb23 in ?? () #50 0x00007f1ef30ad76d in __libc_start_main (main=0x4493e0, argc=5, ubp_av=0x7ffff085b8b8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffff085b8a8) at libc-start.c:226 #51 0x000000000044d52d in _start () Reported using DrKonqi
This looks like a threading related bug in Ark, Specifically a work thread seems to access an object that was already deleted in the main thread.
Apparently Kerfuffle::ListJob is destroyed BEFORE ~Kerfuffle::Job() waits for the work thread to finish.
*** Bug 316769 has been marked as a duplicate of this bug. ***
*** Bug 319754 has been marked as a duplicate of this bug. ***
I'm not able to reproduce the crash on current KF5-based Krusader, compiled from master. Since both Ark and Krusader have been ported to KF5 and this report is from KDE4 times, I'm marking this as fixed... Please reopen if you manage to reproduce again the crash.
*** Bug 309899 has been marked as a duplicate of this bug. ***
*** Bug 377455 has been marked as a duplicate of this bug. ***