On Tue, 26 Jan 2010, Chris Bennett wrote:

I have had a problem with kate crashing X from scrotwm.
I have also had another problem with kate that does not crash X.


I also built kdebase and scrotwm with debugging

I haven't been able to reproduce that X crash again.

However, I have noticed an easily reproducible problem with kate.
When I close with Ctrl-Q, shuts down just fine.
If I use Alt-f, then q, it consistently and usually crashes (kate, not X).

Hi,

could you try the following patch against kdebase to
see if it fixes kate's crashing.

For me kate crashed when I selected previous session
and exited with alt-f-q, not when I started a new
session. The patch fixes it for me. It's from KDE's bug tracking,
issue 183356: https://bugs.kde.org/show_bug.cgi?id=183356

I attached it inline, and it's also available at:
http://openbsd.fi/iku/files/kdebase.diff


I have included the backtrace that kde supplies:

0x049d1425 in poll () from /usr/lib/libc.so.53.1
#0  0x049d1425 in poll () from /usr/lib/libc.so.53.1
#1  0x0114f74c in _thread_kern_poll (wait_reqd=1)
 at /usr/src/lib/libpthread/uthread/uthread_kern.c:760
#2  0x0114f28b in _thread_kern_sched (scp=0x0)
 at /usr/src/lib/libpthread/uthread/uthread_kern.c:382
#3  0x0114f5d7 in _thread_kern_sched_state (state=554963144,
 fname=0x211410c8 "", lineno=554963144)
 at /usr/src/lib/libpthread/uthread/uthread_kern.c:550
#4  0x01149185 in nanosleep (time_to_sleep=0xcfbee5f4,
 time_remaining=0xcfbee5ec)
 at /usr/src/lib/libpthread/uthread/uthread_nanosleep.c:84
#5 0x049ec42e in sleep (seconds=554963144) at /usr/src/lib/libc/gen/sleep.c:45 #6 0x067d5384 in KCrash::startDrKonqi () from /usr/local/lib/libkdecore.so.7.0
#7  0x067d50a9 in KCrash::defaultCrashHandler ()
from /usr/local/lib/libkdecore.so.7.0
#8  0x01150dcb in _dispatch_signal (sig=11, scp=0xcfbf083c)
 at /usr/src/lib/libpthread/uthread/uthread_sig.c:396
#9  0x01150eb6 in _dispatch_signals (scp=0xcfbf083c)
 at /usr/src/lib/libpthread/uthread/uthread_sig.c:425
#10 0x011506ac in _thread_sig_handler (sig=11, info=0xcfbf088c, scp=0xcfbf083c)
 at /usr/src/lib/libpthread/uthread/uthread_sig.c:139
#11 <signal handler called>
#12 0x046530f2 in QPopupMenu::keyPressEvent ()
from /usr/local/lib/libqt-mt.so.33.0
#13 0x0271b3af in KPopupMenu::keyPressEvent ()
from /usr/local/lib/libkdeui.so.8.0
#14 0x04591550 in QWidget::event () from /usr/local/lib/libqt-mt.so.33.0
#15 0x0450cc01 in QApplication::internalNotify ()
from /usr/local/lib/libqt-mt.so.33.0
#16 0x0450c515 in QApplication::notify () from /usr/local/lib/libqt-mt.so.33.0 #17 0x0674fdb6 in KApplication::notify () from /usr/local/lib/libkdecore.so.7.0
#18 0x044ad401 in QETWidget::translateKeyEvent ()
from /usr/local/lib/libqt-mt.so.33.0
#19 0x044a904a in QApplication::x11ProcessEvent ()
from /usr/local/lib/libqt-mt.so.33.0
#20 0x044beb15 in QEventLoop::processEvents ()
from /usr/local/lib/libqt-mt.so.33.0
#21 0x0451c9cf in QEventLoop::enterLoop () from /usr/local/lib/libqt-mt.so.33.0
#22 0x0451c894 in QEventLoop::exec () from /usr/local/lib/libqt-mt.so.33.0
#23 0x0450cdfc in QApplication::exec () from /usr/local/lib/libqt-mt.so.33.0
#24 0x01b5e485 in kdemain (argc=1, argv=0x0)
 at /usr/ports/pobj/kdebase-3.5.10/kdebase-3.5.10/kate/app/katemain.cpp:253
#25 0x1c000a97 in main (argc=1, argv=0xcfbf19f0) at kate.la.cpp:2


Index: Makefile
===================================================================
RCS file: /cvs/ports/x11/kde/base3/Makefile,v
retrieving revision 1.94
diff -u -r1.94 Makefile
--- Makefile    17 Jan 2010 08:58:38 -0000      1.94
+++ Makefile    28 Jan 2010 18:45:18 -0000
@@ -6,7 +6,7 @@
 CATEGORIES =           x11 x11/kde
 VERSION =              3.5.10
 DISTNAME =             kdebase-${VERSION}
-PKGNAME-main =         ${DISTNAME}p7
+PKGNAME-main =         ${DISTNAME}p8
 PKGNAME-samba =                kdesamba-${VERSION}p1
 MODKDE_VERSION ?=      3.5.8
 SHARED_LIBS += konq                 7.0      # .6.0
Index: patches/patch-kate_app_katemainwindow_cpp
===================================================================
RCS file: patches/patch-kate_app_katemainwindow_cpp
diff -N patches/patch-kate_app_katemainwindow_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-kate_app_katemainwindow_cpp   28 Jan 2010 18:45:18 -0000
@@ -0,0 +1,19 @@
+$OpenBSD$
+--- kate/app/katemainwindow.cpp.orig   Thu Jan 28 18:10:13 2010
++++ kate/app/katemainwindow.cpp        Thu Jan 28 18:10:24 2010
+@@ -397,9 +397,14 @@ void KateMainWindow::slotNewToolbarConfig()
+ + void KateMainWindow::slotFileQuit()
+ {
+-  KateApp::self()->shutdownKate (this);
++  // delay real shutdown outside of this, as we are inside menu action 
handling
++  QTimer::singleShot(0, this, SLOT(slotFileQuitDelayed()));
+ }
+ ++void KateMainWindow::slotFileQuitDelayed()
++{
++  KateApp::self()->shutdownKate (this);
++}
+ void KateMainWindow::readOptions ()
+ {
+   KConfig *config = KateApp::self()->config ();
Index: patches/patch-kate_app_katemainwindow_h
===================================================================
RCS file: patches/patch-kate_app_katemainwindow_h
diff -N patches/patch-kate_app_katemainwindow_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-kate_app_katemainwindow_h     28 Jan 2010 18:45:18 -0000
@@ -0,0 +1,11 @@
+$OpenBSD$
+--- kate/app/katemainwindow.h.orig     Thu Jan 28 18:10:36 2010
++++ kate/app/katemainwindow.h  Thu Jan 28 18:10:52 2010
+@@ -142,6 +142,7 @@ class KateMainWindow : public KateMDI::MainWindow, vir
+     void slotMail();
+ + void slotFileQuit();
++    void slotFileQuitDelayed();
+     void slotEditToolbars();
+     void slotNewToolbarConfig();
+     void slotWindowActivated ();

Reply via email to