Version: koffice 1.2 final (using KDE Devel) Installed from: Compiled sources Compiler: gcc 2.95.2 OS: LinuxLinuxLinuxLinux Hello, today I run into a crash with kword ans spell check. The document comes from a imported document, it was originally saved in MS word as rtf. After switching Tolls->Spellcheck->Autospellcheck on kword crashes. I deleted lot's of text from the document, this small rest is enough to reproduce it. Config: qt-copy 3.1beta KDE from CVSup koffice 1.2 final The crashes looks different depending on kword starting method. If I start kword from a shell and open the document then, the following output is visible: kdecore (KProcIO): KPIO::readln ASSERT: "it.node != node" in /opt/qt31/include/qvaluelist.h (301) kdecore (KProcIO): KPIO::readln QApplication::notify: Unexpected null receiver and the crash looks like: 0x410873d9 in __wait4 () from /lib/libc.so.6 #0 0x410873d9 in __wait4 () from /lib/libc.so.6 #1 0x410e4618 in __DTOR_END__ () from /lib/libc.so.6 #2 0x40f6ecb7 in waitpid () at wrapsyscall.c:186 #3 0x40742b3b in KCrash::defaultCrashHandler () from /opt/k31test/lib/libkdecore.so.4 #4 0x41025998 in __restore () at ../sysdeps/unix/sysv/linux/i386/sigaction.c:127 #5 0x417c2f2f in KoSpell::check () from /opt/k31test/lib/libkotext.so.2 #6 0x417c05a5 in KoBgSpellCheck::spellCheckNextParagraph () from /opt/k31test/lib/libkotext.so.2 #7 0x417bfce9 in KoBgSpellCheck::qt_invoke () from /opt/k31test/lib/libkotext.so.2 #8 0x40a3fbc4 in QObject::activate_signal () from /opt/qt31/lib/libqt-mt.so.3 #9 0x40c91115 in QSignal::signal () from /opt/qt31/lib/libqt-mt.so.3 #10 0x40a54e3d in QSignal::activate () from /opt/qt31/lib/libqt-mt.so.3 #11 0x40a5a1d0 in QSingleShotTimer::event () from /opt/qt31/lib/libqt-mt.so.3 #12 0x409f5346 in QApplication::internalNotify () from /opt/qt31/lib/libqt-mt.so.3 #13 0x409f51e4 in QApplication::notify () from /opt/qt31/lib/libqt-mt.so.3 #14 0x406d6cf5 in KApplication::notify () from /opt/k31test/lib/libkdecore.so.4 #15 0x409da875 in QEventLoop::activateTimers () from /opt/qt31/lib/libqt-mt.so.3 #16 0x409bd25d in QEventLoop::processNextEvent () from /opt/qt31/lib/libqt-mt.so.3 #17 0x40a05499 in QEventLoop::enterLoop () from /opt/qt31/lib/libqt-mt.so.3 #18 0x40a053eb in QEventLoop::exec () from /opt/qt31/lib/libqt-mt.so.3 #19 0x409f5486 in QApplication::exec () from /opt/qt31/lib/libqt-mt.so.3 #20 0x40016a5c in main () from /opt/k31test/lib/kword.so #21 0x4101fa5e in __libc_start_main () at ../sysdeps/generic/libc-start.c:93 With direct start (click in file manager) the crash looks like: 0x40f303d9 in __wait4 () from /lib/libc.so.6 #0 0x40f303d9 in __wait4 () from /lib/libc.so.6 #1 0x40f8d618 in __DTOR_END__ () from /lib/libc.so.6 #2 0x40e17cb7 in waitpid () at wrapsyscall.c:186 #3 0x405ecb3b in KCrash::defaultCrashHandler () from /opt/k31test/lib/libkdecore.so.4 #4 0x40ece998 in __restore () at ../sysdeps/unix/sysv/linux/i386/sigaction.c:127 #5 0x4089e1e4 in QApplication::notify () from /opt/qt31/lib/libqt-mt.so.3 #6 0x40580cf5 in KApplication::notify () from /opt/k31test/lib/libkdecore.so.4 #7 0x40883875 in QEventLoop::activateTimers () from /opt/qt31/lib/libqt-mt.so.3 #8 0x4086625d in QEventLoop::processNextEvent () from /opt/qt31/lib/libqt-mt.so.3 #9 0x408ae499 in QEventLoop::enterLoop () from /opt/qt31/lib/libqt-mt.so.3 #10 0x408ae3eb in QEventLoop::exec () from /opt/qt31/lib/libqt-mt.so.3 #11 0x4089e486 in QApplication::exec () from /opt/qt31/lib/libqt-mt.so.3 #12 0x40ce0a5c in main () from /opt/k31test/lib/kword.so #13 0x804d516 in launch () #14 0x804e3e8 in handle_launcher_request () #15 0x804e98b in handle_requests () #16 0x804f91f in main () #17 0x40ec8a5e in __libc_start_main () at ../sysdeps/generic/libc-start.c:93 The document is available. Thanks, Frank
Created attachment 50 [details] short document for reproduce the crash created by import from rtf, this may be explains the formatting
Subject: koffice/lib/kotext CVS commit by faure: More timer safety during background-spellchecking. Together with the last commit, this fixes the crash on #48114. CCMAIL: 48114-done@bugs.kde.org M +7 -1 koBgSpellCheck.cc 1.34 --- koffice/lib/kotext/koBgSpellCheck.cc #1.33:1.34 @@ -41,5 +41,7 @@ public: KoBgSpellCheck::KoBgSpellCheck() { - //kdDebug(32500) << "KoBgSpellCheck::KoBgSpellCheck " << this << endl; +#ifdef DEBUG_BGSPELLCHECKING + kdDebug(32500) << "KoBgSpellCheck::KoBgSpellCheck " << this << endl; +#endif d = new KoBgSpellCheck::KoBgSpellCheckPrivate; d->m_pKSpellConfig=0L; @@ -132,4 +134,5 @@ void KoBgSpellCheck::clearIgnoreWordAll( void KoBgSpellCheck::startBackgroundSpellCheck() { + d->startTimer->stop(); // In case we were called directly, while the timer was running. if ( !m_bSpellCheckEnabled ) return; @@ -141,4 +144,7 @@ void KoBgSpellCheck::startBackgroundSpel if ( !m_bgSpell.currentTextObj ) { +#ifdef DEBUG_BGSPELLCHECKING + //kdDebug(32500) << "KoBgSpellCheck::startBackgroundSpellCheck no currentTextObj to check this time." << endl; +#endif d->startTimer->start( 1000, true ); return;