Version: onbekend (using 4.2.1 (KDE 4.2.1) "release 104", KDE:KDE4:Factory:Desktop / openSUSE_11.0) Compiler: gcc OS: Linux (i686) release 2.6.25.20-0.1-default It's possible to make Kate crash when a job is stopped from the systray. Example: - Open a file from a website in Kate. - Close Kate during the progress - the job still continues, now stop it. This produces the following crash: Programma: Kate (kate), signaal SIGSEGV [Current thread is 0 (LWP 32406)] Thread 2 (Thread 0xb3dbfb90 (LWP 32408)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb6ae6f42 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb6b4583c in QWaitCondition::wait (this=0x83df100, mutex=0x83df0fc, time=30000) at thread/qwaitcondition_unix.cpp:80 #3 0xb6b3a95e in QThreadPoolThread::run (this=0x83c5d50) at concurrent/qthreadpool.cpp:135 #4 0xb6b4484e in QThreadPrivate::start (arg=0x83c5d50) at thread/qthread_unix.cpp:185 #5 0xb6ae3175 in start_thread () from /lib/libpthread.so.0 #6 0xb6943dae in clone () from /lib/libc.so.6 Thread 1 (Thread 0xb5cc56d0 (LWP 32406)): [KCrash Handler] #6 0xb6d193e3 in QListData::shared_null () from /usr/lib/libQtCore.so.4 #7 0xb6e4f262 in KJob::kill (this=) at /usr/src/debug/kdelibs-4.2.1/kdecore/jobs/kjob.cpp:106 Backtrace stopped: previous frame inner to this frame (corrupt stack?) Example 2: - Again open a file from a website in Kate. - Stop the job first. - Now close kate, or exit the document. This produces the following crash: Programma: Kate (kate), signaal SIGSEGV [Current thread is 0 (LWP 32475)] Thread 2 (Thread 0xb3cc3b90 (LWP 32478)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb69eaf42 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb6a4983c in QWaitCondition::wait (this=0x83b8e58, mutex=0x83b8e54, time=30000) at thread/qwaitcondition_unix.cpp:80 #3 0xb6a3e95e in QThreadPoolThread::run (this=0x83e09a0) at concurrent/qthreadpool.cpp:135 #4 0xb6a4884e in QThreadPrivate::start (arg=0x83e09a0) at thread/qthread_unix.cpp:185 #5 0xb69e7175 in start_thread () from /lib/libpthread.so.0 #6 0xb6847dae in clone () from /lib/libc.so.6 Thread 1 (Thread 0xb5bc96d0 (LWP 32475)): [KCrash Handler] #6 0x00000000 in ?? () #7 0xb7ec0a74 in KParts::ReadOnlyPart::abortLoad (this=0x818a5d0) at /usr/src/debug/kdelibs-4.2.1/kparts/part.cpp:602 #8 0xb7ec2772 in KParts::ReadWritePart::closeUrl (this=0x818a5d0) at /usr/src/debug/kdelibs-4.2.1/kparts/part.cpp:800 #9 0xb4324e92 in KateDocument::closeUrl (this=0x818a5d0) at /usr/src/debug/kdelibs-4.2.1/kate/document/katedocument.cpp:3796 #10 0xb7f123cb in ?? () from /usr/lib/libkateinterfaces.so.4 #11 0xb7f24418 in ?? () from /usr/lib/libkateinterfaces.so.4 #12 0xb7f276f5 in ?? () from /usr/lib/libkateinterfaces.so.4 #13 0xb7f28b6b in ?? () from /usr/lib/libkateinterfaces.so.4 #14 0xb6b4d740 in QMetaObject::activate (sender=0x81b4170, from_signal_index=5, to_signal_index=6, argv=0xbfd9704c) at kernel/qobject.cpp:3031 #15 0xb6b4db40 in QMetaObject::activate (sender=0x81b4170, m=0xb7764c78, from_local_signal_index=1, to_local_signal_index=2, argv=0xbfd9704c) at kernel/qobject.cpp:3121 #16 0xb6fb4591 in QAction::triggered (this=0x81b4170, _t1=false) at .moc/release-shared/moc_qaction.cpp:216 #17 0xb6fb4eff in QAction::activate (this=0x81b4170, event=QAction::Trigger) at kernel/qaction.cpp:1125 #18 0xb73da812 in QToolButton::nextCheckState (this=0x0) at ../../include/QtGui/../../src/gui/kernel/qaction.h:195 #19 0xb72fdbf3 in QAbstractButtonPrivate::click (this=0x822c9f8) at widgets/qabstractbutton.cpp:520 #20 0xb72fdec6 in QAbstractButton::mouseReleaseEvent (this=0x822c948, e=0xbfd97658) at widgets/qabstractbutton.cpp:1110 #21 0xb73dad0c in QToolButton::mouseReleaseEvent (this=0x822c948, e=0xbfd97658) at widgets/qtoolbutton.cpp:671 #22 0xb7012a62 in QWidget::event (this=0x822c948, event=0xbfd97658) at kernel/qwidget.cpp:7163 #23 0xb72fbf6e in QAbstractButton::event (this=0x822c948, e=0xbfd97658) at widgets/qabstractbutton.cpp:1072 #24 0xb73da7d4 in QToolButton::event (this=0x822c948, e=0xbfd97658) at widgets/qtoolbutton.cpp:1103 #25 0xb6fba82c in QApplicationPrivate::notify_helper (this=0x805afc8, receiver=0x822c948, e=0xbfd97658) at kernel/qapplication.cpp:3803 #26 0xb6fc3081 in QApplication::notify (this=0xbfd98018, receiver=0x822c948, e=0xbfd97658) at kernel/qapplication.cpp:3528 #27 0xb7ac05fd in KApplication::notify (this=0xbfd98018, receiver=0x822c948, event=0xbfd97658) at /usr/src/debug/kdelibs-4.2.1/kdeui/kernel/kapplication.cpp:307 #28 0xb6b38a71 in QCoreApplication::notifyInternal (this=0xbfd98018, receiver=0x822c948, event=0xbfd97658) at kernel/qcoreapplication.cpp:587 #29 0xb6fc230e in QApplicationPrivate::sendMouseEvent (receiver=0x822c948, event=0xbfd97658, alienWidget=0x822c948, nativeWidget=0x819bad0, buttonDown=0xb777bc90, lastMouseReceiver=@0xb777bc94) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:212 #30 0xb702c776 in QETWidget::translateMouseEvent (this=0x819bad0, event=0xbfd97c2c) at kernel/qapplication_x11.cpp:4042 #31 0xb702bb1d in QApplication::x11ProcessEvent (this=0xbfd98018, event=0xbfd97c2c) at kernel/qapplication_x11.cpp:3038 #32 0xb70541fc in x11EventSourceDispatch (s=0x805deb0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:142 #33 0xb5eee2d9 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #34 0xb5ef185b in ?? () from /usr/lib/libglib-2.0.so.0 #35 0xb5ef19d8 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #36 0xb6b63208 in QEventDispatcherGlib::processEvents (this=0x805b080, flags={i = -1076265496}) at kernel/qeventdispatcher_glib.cpp:319 #37 0xb70538c5 in QGuiEventDispatcherGlib::processEvents (this=0x805b080, flags={i = -1076265448}) at kernel/qguieventdispatcher_glib.cpp:198 #38 0xb6b3714a in QEventLoop::processEvents (this=0xbfd97e90, flags={i = -1076265384}) at kernel/qeventloop.cpp:143 #39 0xb6b3730a in QEventLoop::exec (this=0xbfd97e90, flags={i = -1076265320}) at kernel/qeventloop.cpp:194 #40 0xb6b399a5 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:845 #41 0xb6fba6a7 in QApplication::exec () at kernel/qapplication.cpp:3331 #42 0xb7f5e715 in kdemain () from /usr/lib/libkdeinit4_kate.so #43 0x080486a2 in _start ()
SVN commit 950830 by rkcosta: Fix the call to KJob::kill when the Cancel button is pressed - KJob::EmitResult must be passed so that ReadOnlyPart can handle the termination correctly. BUG: 186722 BUG: 186980 BUG: 187538 CCBUG: 188231 M +14 -2 kuiserverjobtracker.cpp M +2 -0 kuiserverjobtracker.h WebSVN link: http://websvn.kde.org/?view=rev&revision=950830
I couldn't reproduce the first test case either, so I'm closing it as FIXED.