Summary: | complete hang (endless loop?) when editing certain entries | ||
---|---|---|---|
Product: | [Unmaintained] kdelibs | Reporter: | Stephan Johach <lucardus> |
Component: | kspell | Assignee: | Zack Rusin <zack> |
Status: | RESOLVED FIXED | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | SVN | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Stephan Johach
2005-02-19 12:40:41 UTC
This looks like kdelibs/kspell problem (endless recursion): excerpt from bt: #0 0x40e6abf5 in QCString::find () from /usr/lib/qt3/lib/libqt-mt.so.3 #1 0x407c43cd in KProcIO::readln () from /opt/kde3/lib/libkdecore.so.4 #2 0x405ddd15 in KSpell::check2 () from /opt/kde3/lib/libkdeui.so.4 #3 0x405e65ce in KSpell::qt_invoke () from /opt/kde3/lib/libkdeui.so.4 #4 0x40bb703a in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #5 0x40795812 in KProcIO::readReady () from /opt/kde3/lib/libkdecore.so.4 #6 0x407958da in KProcIO::controlledEmission () from /opt/kde3/lib/libkdecore.so.4 #7 0x4079592d in KProcIO::ackRead () from /opt/kde3/lib/libkdecore.so.4 #8 0x405ddeab in KSpell::check2 () from /opt/kde3/lib/libkdeui.so.4 #9 0x405e65ce in KSpell::qt_invoke () from /opt/kde3/lib/libkdeui.so.4 #10 0x40bb703a in QObject::activate_signal () from /usr/lib/qt3/lib/libqt-mt.so.3 #11 0x40795812 in KProcIO::readReady () from /opt/kde3/lib/libkdecore.so.4 #12 0x407958da in KProcIO::controlledEmission () from /opt/kde3/lib/libkdecore.so.4 #13 0x4079592d in KProcIO::ackRead () from /opt/kde3/lib/libkdecore.so.4 #14 0x405ddeab in KSpell::check2 () from /opt/kde3/lib/libkdeui.so.4 #15 0x405e65ce in KSpell::qt_invoke () from /opt/kde3/lib/libkdeui.so.4 #16 0x40bb703a in QObject::activate_signal () ---Type <return> to continue, or q <return> to quit--- from /usr/lib/qt3/lib/libqt-mt.so.3 #17 0x40795812 in KProcIO::readReady () from /opt/kde3/lib/libkdecore.so.4 #18 0x407958da in KProcIO::controlledEmission () from /opt/kde3/lib/libkdecore.so.4 #19 0x4079592d in KProcIO::ackRead () from /opt/kde3/lib/libkdecore.so.4 #20 0x405ddeab in KSpell::check2 () from /opt/kde3/lib/libkdeui.so.4 #21 0x405e65ce in KSpell::qt_invoke () from /opt/kde3/lib/libkdeui.so.4 #22 0x40bb703a in QObject::activate_signal () KBabel uses KSpell object for spell-as-you-go. I disabled the on the fly spellchecking and it works until now. No hang the last two days. Some additional data: hunsum@leviathan:~$ aspell --version @(#) International Ispell Version 3.1.20 (but really Aspell 0.60.2) hunsum@leviathan:~$ I am working with a german dictionary. CVS commit by waba: Fix recursion problem (SUSE BR72773) BUG: 99772 M +7 -3 kspell.cpp 1.133 --- kdelibs/kdeui/kspell.cpp #1.132:1.133 @@ -1095,12 +1095,16 @@ void KSpell::check2( KProcIO * ) } while( tempe>0 ); - proc->ackRead(); - - if ( tempe == -1 ) { //we were called, but no data seems to be ready... + // Make sure we don't get called directly again and make sure we do get + // called when new data arrives. + NOOUTPUT( check2 ); + proc->enableReadSignals(true); + OUTPUT( check2 ); recursive = false; return; } + proc->ackRead(); + //If there is more to check, then send another line to ISpell. if ( (unsigned int)lastline < origbuffer.length() ) |