Bug 65933 - KWord crashed suddenly when writing
Summary: KWord crashed suddenly when writing
Status: RESOLVED FIXED
Alias: None
Product: kword
Classification: Miscellaneous
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Thomas Zander
URL:
Keywords:
: 66705 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-10-12 22:02 UTC by Teemu Rytilahti
Modified: 2004-02-16 18:18 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Teemu Rytilahti 2003-10-12 22:02:58 UTC
Version:           1.2.93 (using KDE 3.1.92 (CVS >= 20031007), compiled sources)
Compiler:          gcc version 3.3.2 20030908 (Debian prerelease)
OS:          Linux (i686) release 2.6.0-test5

I started KWord, started a new document, changed font and its size and then begin to write. I were writing '03c' and when I pressed 'c', it crashed immediately..

And the backtrace:
[New Thread 16384 (LWP 1836)]
0x4130fa66 in waitpid () from /lib/libpthread.so.0
#0  0x4130fa66 in waitpid () from /lib/libpthread.so.0
#1  0x407cca01 in KCrash::defaultCrashHandler(int) (sig=11) at kcrash.cpp:242
#2  0x4130e695 in __pthread_sighandler () from /lib/libpthread.so.0
#3  <signal handler called>
#4  0x40ba8d6b in QFont::QFont(QFont const&) ()
   from /home/tpr/qt-copy/lib/libqt-mt.so.3
#5  0x41ca279c in KoTextFormat::font() const (this=0x84a1910)
    at kotextformat.h:437
#6  0x41f0216b in KoTextParag::setFormat(int, int, KoTextFormat const*, bool, int) (this=0x825ade0, index=0, len=19, _f=0xbfffefb0, useCollection=true, 
    flags=64) at korichtext.cpp:3676
#7  0x41fb463d in KoBgSpellCheck::spellCheckNextParagraph() (this=0x81be1f8)
    at koBgSpellCheck.cc:300
#8  0x41fb38fc in KoBgSpellCheck::qt_invoke(int, QUObject*) (this=0x81be1f8, 
    _id=7, _o=0xbffff0b0) at koBgSpellCheck.moc:101
#9  0x40bf8464 in QObject::activate_signal(QConnectionList*, QUObject*) ()
   from /home/tpr/qt-copy/lib/libqt-mt.so.3
#10 0x40bf8231 in QObject::activate_signal(int) ()
   from /home/tpr/qt-copy/lib/libqt-mt.so.3
#11 0x40f7828b in QTimer::timeout() () from /home/tpr/qt-copy/lib/libqt-mt.so.3
#12 0x40c1ded2 in QTimer::event(QEvent*) ()
   from /home/tpr/qt-copy/lib/libqt-mt.so.3
#13 0x40b90fff in QApplication::internalNotify(QObject*, QEvent*) ()
   from /home/tpr/qt-copy/lib/libqt-mt.so.3
#14 0x40b905c5 in QApplication::notify(QObject*, QEvent*) ()
   from /home/tpr/qt-copy/lib/libqt-mt.so.3
#15 0x40740345 in KApplication::notify(QObject*, QEvent*) (this=0x0, 
    receiver=0x81be2e8, event=0xbffff410) at kapplication.cpp:492
#16 0x40b7e884 in QEventLoop::activateTimers() ()
   from /home/tpr/qt-copy/lib/libqt-mt.so.3
#17 0x40b33e39 in QEventLoop::processEvents(unsigned) ()
   from /home/tpr/qt-copy/lib/libqt-mt.so.3
#18 0x40ba7858 in QEventLoop::enterLoop() ()
   from /home/tpr/qt-copy/lib/libqt-mt.so.3
#19 0x40ba7708 in QEventLoop::exec() ()
   from /home/tpr/qt-copy/lib/libqt-mt.so.3
#20 0x40b91261 in QApplication::exec() ()
   from /home/tpr/qt-copy/lib/libqt-mt.so.3
#21 0x4090768e in main (argc=0, argv=0x0) at main.cc:43
#22 0x0804db5c in launch (argc=1, _name=0x806218c "kword", 
    args=0x8062192 "\001", cwd=0x0, envc=1, envs=0x80621a3 "", 
    reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x0)
    at kinit.cpp:597
#23 0x0804ee89 in handle_launcher_request (sock=7) at kinit.cpp:1094
#24 0x0804f38b in handle_requests (waitForPid=0) at kinit.cpp:1265
#25 0x08050224 in main (argc=3, argv=0xbffffc84, envp=0x0) at kinit.cpp:1686
Comment 1 Teemu Rytilahti 2003-10-12 22:10:41 UTC
Well, it crashed again when it was laying on the bottom (minimized..) 
 
And the backtrace, if it helps: 
[New Thread 16384 (LWP 1844)] 
0x4130fa66 in waitpid () from /lib/libpthread.so.0 
#0  0x4130fa66 in waitpid () from /lib/libpthread.so.0 
#1  0x407cca01 in KCrash::defaultCrashHandler(int) (sig=11) at kcrash.cpp:242 
#2  0x4130e695 in __pthread_sighandler () from /lib/libpthread.so.0 
#3  <signal handler called> 
#4  0x40ba8d6b in QFont::QFont(QFont const&) () 
   from /home/tpr/qt-copy/lib/libqt-mt.so.3 
#5  0x41ca279c in KoTextFormat::font() const (this=0x854a550) 
    at kotextformat.h:437 
#6  0x41ca274c in KoTextFormat::pointSize() const (this=0x0) 
    at kotextformat.h:166 
#7  0x41f12685 in KoTextFormat::screenPointSize(KoZoomHandler const*) const ( 
    this=0x854a550, zh=0x0) at kotextformat.cc:647 
#8  0x41f128c6 in KoTextFormat::screenFont(KoZoomHandler const*) const ( 
    this=0x854a550, zh=0x0) at kotextformat.cc:678 
#9  0x41f232e5 in KoTextParag::drawParagStringInternal(QPainter&, QString const&, 
int, int, int, int, int, int, int, bool, KoTextFormat*, QMemArray<int> const&, 
QMemArray<int> const&, QColorGroup const&, bool, int, KoZoomHandler*, bool) ( 
    this=0x826a5a0, painter=@0x85d9e78, s=@0xbfffdeb0, start=21, len=1,  
    startX=479, lastY=0, baseLine=15, bw=11, h=21, drawSelections=false,  
    format=0x854a550, selectionStarts=@0xbfffde80, selectionEnds=@0xbfffde70,  
    cg=@0x0, rightToLeft=false, line=0, zh=0x8193c04, drawingShadow=false) 
    at kotextparag.cc:831 
#10 0x41f22f73 in KoTextParag::drawParagString(QPainter&, QString const&, int, int, 
int, int, int, int, int, bool, KoTextFormat*, QMemArray<int> const&, QMemArray<int> 
const&, QColorGroup const&, bool, int) (this=0x826a5a0,  
    painter=@0x85d9e78, str=@0xbfffdeb0, start=21, len=1, startX=9586,  
    lastY=-1073750736, baseLine=0, bw=0, h=0, drawSelections=false,  
    format=0x854a550, selectionStarts=@0xbfffde80, selectionEnds=@0xbfffde70,  
    cg=@0xbfffe600, rightToLeft=false, line=0) at kotextparag.cc:790 
#11 0x41f2257c in KoTextParag::paintLines(QPainter&, QColorGroup const&, 
KoTextCursor*, bool, int, int, int, int) (this=0x826a5a0, painter=@0x85d9e78,  
    cg=@0xbfffe600, cursor=0x0, drawSelections=false, clipx=0, clipy=0,  
    clipw=10781, cliph=15141) at kotextparag.cc:672 
#12 0x41f21aee in KoTextParag::paint(QPainter&, QColorGroup const&, 
KoTextCursor*, bool, int, int, int, int) (this=0x826a5a0, painter=@0x85d9e78,  
    cg=@0xbfffe600, cursor=0x0, drawSelections=false, clipx=0, clipy=0,  
    clipw=0, cliph=0) at kotextparag.cc:471 
#13 0x41f2c59f in KoTextDocument::drawParagWYSIWYG(QPainter*, KoTextParag*, 
int, int, int, int, QPixmap*&, QColorGroup const&, KoZoomHandler*, bool, 
KoTextCursor*, bool, unsigned) (this=0x82b9830, p=0xbfffebd0, parag=0x826a5a0, 
cx=0,  
    cy=0, cw=0, ch=0, doubleBuffer=@0xbfffe23c, cg=@0xbfffe600,  
    zoomHandler=0x8193c04, drawCursor=false, cursor=0x0, resetChanged=true,  
    drawingFlags=0) at kotextdocument.cc:423 
#14 0x41f2b7c4 in KoTextDocument::drawWYSIWYG(QPainter*, int, int, int, int, 
QColorGroup const&, KoZoomHandler*, bool, bool, KoTextCursor*, bool, unsigned) ( 
    this=0x82b9830, p=0xbfffebd0, cx=0, cy=0, cw=540, ch=758, cg=@0xbfffe600,  
    zoomHandler=0x8193c04, onlyChanged=false, drawCursor=false, cursor=0x0,  
    resetChanged=true, drawingFlags=1) at kotextdocument.cc:239 
#15 0x41d09f19 in KWTextFrameSet::drawFrameContents(KWFrame*, QPainter*, 
QRect const&, QColorGroup const&, bool, bool, KWFrameSetEdit*, KWViewMode*) ( 
    this=0x81dce50, theFrame=0x824cd70, painter=0xbfffebd0, r=@0xbfffe780,  
    cg=@0xbfffe600, onlyChanged=false, resetChanged=true, edit=0x0,  
    viewMode=0x8541a00) at kwtextframeset.cc:597 
#16 0x41c99d9f in KWFrameSet::drawFrame(KWFrame*, QPainter*, QRect const&, 
QRect const&, QPoint const&, KWFrame*, QColorGroup const&, bool, bool, 
KWFrameSetEdit*, KWViewMode*, bool) (this=0x81dce50, frame=0x824cd70, 
painter=0xbfffebd0,  
    fcrect=@0xbfffe780, outerCRect=@0xbfffe7e0, translationOffset=@0xbfffe720,  
    settingsFrame=0xbfffe5e0, cg=@0xbfffead0, onlyChanged=false,  
    resetChanged=true, edit=0x0, viewMode=0x8541a00,  
    drawUnderlyingFrames=false) at kwframe.cc:1339 
#17 0x41d09a85 in KWTextFrameSet::drawFrame(KWFrame*, QPainter*, QRect 
const&, QRect const&, QPoint const&, KWFrame*, QColorGroup const&, bool, bool, 
KWFrameSetEdit*, KWViewMode*, bool) (this=0x0, theFrame=0x824cd70, painter=0x0,  
    fcrect=@0x0, crect=@0x0, translationOffset=@0x0, settingsFrame=0x0,  
    cg=@0x0, onlyChanged=false, resetChanged=true, edit=0x0, viewMode=0x0,  
    drawUnderlyingFrames=false) at kwtextframeset.cc:532 
#18 0x41c99a85 in KWFrameSet::drawFrameAndBorders(KWFrame*, QPainter*, 
QRect const&, QColorGroup const&, bool, bool, KWFrameSetEdit*, KWViewMode*, 
KWFrame*, bool) (this=0x81dce50, frame=0x824cd70, painter=0xbfffebd0, crect=@0x0, 
cg=@0x0,  
    onlyChanged=false, resetChanged=true, edit=0x0, viewMode=0x8541a00,  
    settingsFrame=0x824cd70, drawUnderlyingFrames=true) at kwframe.cc:1232 
#19 0x41c994b9 in KWFrameSet::drawContents(QPainter*, QRect const&, 
QColorGroup const&, bool, bool, KWFrameSetEdit*, KWViewMode*) (this=0x81dce50,  
    p=0xbfffebd0, crect=@0xbfffeae0, cg=@0xbfffead0, onlyChanged=false,  
    resetChanged=true, edit=0x0, viewMode=0x8541a00) at kwframe.cc:1153 
#20 0x41d094b1 in KWTextFrameSet::drawContents(QPainter*, QRect const&, 
QColorGroup const&, bool, bool, KWFrameSetEdit*, KWViewMode*) (this=0x81dce50,  
    p=0xbfffebd0, crect=@0xbfffeae0, cg=@0x0, edit=0x0, viewMode=0x8541a00) 
    at kwtextframeset.cc:441 
#21 0x41cb3b97 in KWDocument::paintContent(QPainter&, QRect const&, bool, double, 
double) (this=0x8193b48, painter=@0xbfffebd0, _rect=@0xbfffeaa0,  
    transparent=false, zoomX=1, zoomY=1) at kwdoc.cc:2675 
#22 0x4177fed7 in KoDocument::paintEverything(QPainter&, QRect const&, bool, 
KoView*, double, double) (this=0x8193b48, painter=@0xbfffebd0, rect=@0xbfffed00,  
    view=0x0, zoomX=1, zoomY=1) at koDocument.cc:732 
#23 0x41781c84 in KoDocument::generatePreview(QSize const&) (this=0x8193b48,  
    size=@0xbfffebb0) at koDocument.cc:1079 
#24 0x41cb3cb5 in KWDocument::generatePreview(QSize const&) (this=0x8193b48,  
    size=@0x0) at kwdoc.cc:2687 
#25 0x41781933 in KoDocument::savePreview(KoStore*) (this=0xbfffee00,  
    store=0x0) at koDocument.cc:1024 
#26 0x4178136f in KoDocument::saveNativeFormat(QString const&) ( 
    this=0x8193b48, _file=@0x0) at koDocument.cc:953 
#27 0x4177f327 in KoDocument::slotAutoSave() (this=0x8193b48) 
    at koDocument.cc:510 
#28 0x41786c09 in KoDocument::qt_invoke(int, QUObject*) (this=0x8193b48,  
    _id=11, _o=0xbffff0b0) at koDocument.moc:167 
#29 0x41cbb834 in KWDocument::qt_invoke(int, QUObject*) (this=0x8193b48,  
    _id=11, _o=0xbffff0b0) at kwdoc.moc:267 
#30 0x40bf8464 in QObject::activate_signal(QConnectionList*, QUObject*) () 
   from /home/tpr/qt-copy/lib/libqt-mt.so.3 
#31 0x40bf8231 in QObject::activate_signal(int) () 
   from /home/tpr/qt-copy/lib/libqt-mt.so.3 
#32 0x40f7828b in QTimer::timeout() () from /home/tpr/qt-copy/lib/libqt-mt.so.3 
#33 0x40c1ded2 in QTimer::event(QEvent*) () 
   from /home/tpr/qt-copy/lib/libqt-mt.so.3 
#34 0x40b90fff in QApplication::internalNotify(QObject*, QEvent*) () 
   from /home/tpr/qt-copy/lib/libqt-mt.so.3 
#35 0x40b905c5 in QApplication::notify(QObject*, QEvent*) () 
   from /home/tpr/qt-copy/lib/libqt-mt.so.3 
#36 0x40740345 in KApplication::notify(QObject*, QEvent*) (this=0x0,  
    receiver=0x81926b8, event=0xbffff410) at kapplication.cpp:492 
#37 0x40b7e884 in QEventLoop::activateTimers() () 
   from /home/tpr/qt-copy/lib/libqt-mt.so.3 
#38 0x40b33e39 in QEventLoop::processEvents(unsigned) () 
   from /home/tpr/qt-copy/lib/libqt-mt.so.3 
#39 0x40ba7858 in QEventLoop::enterLoop() () 
   from /home/tpr/qt-copy/lib/libqt-mt.so.3 
#40 0x40ba7708 in QEventLoop::exec() () 
   from /home/tpr/qt-copy/lib/libqt-mt.so.3 
#41 0x40b91261 in QApplication::exec() () 
   from /home/tpr/qt-copy/lib/libqt-mt.so.3 
#42 0x4090768e in main (argc=0, argv=0x0) at main.cc:43 
#43 0x0804db5c in launch (argc=1, _name=0x806232c "kword",  
    args=0x8062332 "\001", cwd=0x0, envc=1, envs=0x8062343 "",  
    reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x0) 
    at kinit.cpp:597 
#44 0x0804ee89 in handle_launcher_request (sock=7) at kinit.cpp:1094 
#45 0x0804f38b in handle_requests (waitForPid=0) at kinit.cpp:1265 
#46 0x08050224 in main (argc=3, argv=0xbffffc84, envp=0x0) at kinit.cpp:1686 
 
Comment 2 David Faure 2003-10-12 22:52:33 UTC
Subject: Re:  New: KWord crashed suddenly when writing

On Sunday 12 October 2003 22:02, you wrote:
> #7  0x41fb463d in KoBgSpellCheck::spellCheckNextParagraph() (this=0x81be1f8)
>     at koBgSpellCheck.cc:300

You seem to have a crash due to the 'background spellchecking' feature.
Try disabling it.

How recent is your CVS checkout? 

Comment 3 Teemu Rytilahti 2003-10-15 21:24:50 UTC
Yeah, it helped. Thanks..

Hmm, where can I see the compile date? Or can I? Anyways I think it's a couple of weeks old, or probably three weeks..
Comment 4 David Faure 2003-10-15 21:29:36 UTC
Subject: Re:  KWord crashed suddenly when writing

On Wednesday 15 October 2003 21:24, you wrote:
> Hmm, where can I see the compile date?

ls -l $KDEDIR/bin/kword
or
ls -l `which kword`

Comment 5 Teemu Rytilahti 2003-10-15 21:35:28 UTC
Ah, sorry, brainless me..

Here:
tpr@tuli:~$ ls -al `which kword`;date
-rwxr-xr-x    1 tpr      tpr          8171 Oct  6 00:27 /home/tpr/kdecvshead/bin/kword
Wed Oct 15 22:34:59 EEST 2003
Comment 6 Stefan Hetzl 2003-11-07 23:28:55 UTC
I can (sometimes) reproduce a similar crash with current CVS HEAD. I did the following:
1) start kword (A4)
2) change font to Mincho, size to 36
3) enter 03ccc (and hit enter)
[ccc get underlined in red]
4) Settings->Configure Kword->Spelling: active "Check words with numbers"
5) click OK in the configuration dialog
[Kword crashes]

Here is the backtrace:
[New Thread 16384 (LWP 26204)]
0x414f2387 in waitpid () from /lib/libpthread.so.0
#0  0x414f2387 in waitpid () from /lib/libpthread.so.0
#1  0x40a438b2 in KCrash::defaultCrashHandler(int) ()
   from /opt/kde-cvs/lib/libkdecore.so.4
#2  0x414f11ec in __pthread_sighandler () from /lib/libpthread.so.0
#3  <signal handler called>
#4  0x40dbe314 in QShared::ref() (this=0xbfffeb70) at ../include/qshared.h:49
#5  0x40e3d492 in QFont (this=0xbfffeb70, font=@0x837d31c)
    at kernel/qfont.cpp:639
#6  0x41dd75cc in KoTextParag::setFormat(int, int, KoTextFormat const*, bool, int) () from /opt/kde-cvs/lib/libkotext.so.2
#7  0x41eb1219 in KoBgSpellCheck::spellCheckNextParagraph() ()
   from /opt/kde-cvs/lib/libkotext.so.2
#8  0x41eb024c in KoBgSpellCheck::qt_invoke(int, QUObject*) ()
   from /opt/kde-cvs/lib/libkotext.so.2
#9  0x40e8937f in QObject::activate_signal(QConnectionList*, QUObject*) (
    this=0x81225b0, clist=0x81224b8, o=0xbfffed20) at kernel/qobject.cpp:2333
#10 0x40e8921e in QObject::activate_signal(int) (this=0x81225b0, signal=2)
    at kernel/qobject.cpp:2302
#11 0x411c7f7a in QTimer::timeout() (this=0x81225b0)
    at .moc/debug-shared-mt/moc_qtimer.cpp:82
#12 0x40eadb5b in QTimer::event(QEvent*) (this=0x81225b0, e=0xbfffef90)
    at kernel/qtimer.cpp:219
#13 0x40e2655d in QApplication::internalNotify(QObject*, QEvent*) (
    this=0xbffff1b0, receiver=0x81225b0, e=0xbfffef90)
    at kernel/qapplication.cpp:2582
#14 0x40e25a1a in QApplication::notify(QObject*, QEvent*) (this=0xbffff1b0, 
    receiver=0x81225b0, e=0xbfffef90) at kernel/qapplication.cpp:2305
#15 0x4099a323 in KApplication::notify(QObject*, QEvent*) ()
   from /opt/kde-cvs/lib/libkdecore.so.4
#16 0x40dbd427 in QApplication::sendEvent(QObject*, QEvent*) (
    receiver=0x81225b0, event=0xbfffef90) at kernel/qapplication.h:490
#17 0x40e14490 in QEventLoop::activateTimers() (this=0x80b4c00)
    at kernel/qeventloop_unix.cpp:557
#18 0x40dcef42 in QEventLoop::processEvents(unsigned) (this=0x80b4c00, flags=4)
    at kernel/qeventloop_x11.cpp:346
#19 0x40e3bf26 in QEventLoop::enterLoop() (this=0x80b4c00)
    at kernel/qeventloop.cpp:198
#20 0x40e3be42 in QEventLoop::exec() (this=0x80b4c00)
    at kernel/qeventloop.cpp:145
#21 0x40e266dd in QApplication::exec() (this=0xbffff1b0)
    at kernel/qapplication.cpp:2705
#22 0x4001710f in main () from /opt/kde-cvs/lib/kword.so
#23 0x41636857 in __libc_start_main () from /lib/libc.so.6

The debugging output:
kio (KSycoca): Trying to open ksycoca from /var/tmp/kdecache-stefan/ksycoca
kio (KTrader): KServiceTypeProfile::offers( KOfficePart, )
kio (KTrader): Returning 12 offers
koffice (lib kospell): KOSpellConfig::interpret []
koffice (lib kospell): KOSpellConfig::interpret []
koffice (lib kospell): KOSpellConfig::getAvailDictsAspell /usr/lib/aspell /usr/lib
koffice (lib kospell): KOSpellConfig/usr/lib/aspell
koffice (lib kospell):
koffice (lib kospell): entryList().count()=11
koffice (lib kospell): KOSpellConfig::interpret [de-only.rws]
koffice (lib kospell): KOSpellConfig::interpret [de]
koffice (lib kospell): KOSpellConfig::interpret [de_CH-only.rws]
koffice (lib kospell): KOSpellConfig::interpret [de_CH]
koffice (lib kospell): KOSpellConfig::interpret [de_DE-only.rws]
koffice (lib kospell): KOSpellConfig::interpret [de_DE]
koffice (lib kospell): KOSpellConfig::interpret [deutsch.alias]
koffice (lib kospell): KOSpellConfig::interpret [german.alias]
koffice (lib kospell): KOSpellConfig::interpret [swiss.alias]
koffice (lib kospell): KOSpellConfig::interpret []
koffice (lib kospell): KOSpellConfig::interpret []
koffice (lib kospell): KOSpellConfig::interpret []
kio (KDirLister): +KDirLister
kio (KDirListerCache): +KDirListerCache
kio (KDirWatch): Can't use FAM (fam daemon not running?)
kio (KDirWatch): Available methods: Stat
kio (KTrader): KServiceTypeProfile::offers( ThumbCreator, )
kio (KTrader): Returning 12 offers
kio (KTrader): KServiceTypeProfile::offers( ThumbCreator, )
kio (KTrader): Returning 12 offers
kio (KTrader): KServiceTypeProfile::offers( KOfficePart, )
kio (KTrader): Returning 12 offers
koffice (filter manager): KoFilterEntry::query(  )
kio (KTrader): KServiceTypeProfile::offers( KOfficeFilter, )
kio (KTrader): Returning 62 offers
koffice (filter manager): Checking whether KOffice XSLT Export Filter is available.
koffice (filter manager): Not cached, checking...
koffice (filter manager): Filter: KOffice XSLT Export Filter not available.
kio (KTrader): KServiceTypeProfile::offers( ThumbCreator, )
kio (KTrader): Returning 12 offers
kio (KTrader): KServiceTypeProfile::offers( ThumbCreator, )
kio (KTrader): Returning 12 offers
kio (KTrader): KServiceTypeProfile::offers( ThumbCreator, )
kio (KTrader): Returning 12 offers
kio (KTrader): KServiceTypeProfile::offers( ThumbCreator, )
kio (KTrader): Returning 12 offers
kio (KIOJob): stat file:/tmp/test.kwd
kio (KIOJob): stat file:/home/stefan/uni/graphstego/submission/graphstego.pdf
kio (KDirLister): -KDirLister
kio (KDirLister): [virtual void KDirLister::stop()]
kio (KDirListerCache): [void KDirListerCache::stop(KDirLister*)] lister: 0x81cad78
kio (KDirListerCache): [void KDirListerCache::forgetDirs(KDirLister*)] 0x81cad78
koffice (lib kofficecore): KoDocument::loadNativeFormat( /opt/kde-cvs/share/apps/kword/templates/Normal/.source/A4.kwt )
kword: Loading took 0.11 seconds
kword: [void KWDocument::processPictureRequests()] 0 picture requests.
kword (formatting): KWDocument::recalcFrames from=0 to=-1
kword: fixing page 0 z-orders
kotext: kospell.cc:128 Codec = <default>
kotext: Try #0
kotext: Using ispell
kparts: found Plugin : /opt/kde-cvs/share/apps/kword/kpartplugins/scan-kword.rc !
kparts: loadPlugins found desktopfile for kword:
kparts: load plugin
kword: 1 false
kio (KTrader): KServiceTypeProfile::offers( KOfficePart, )
kio (KTrader): Returning 12 offers
kword: KWTextFrameSetEdit::KWTextFrameSetEdit Text Frameset 1
kparts: 0x814ab58 emitting activePartChanged 0x810db98
kdecore (KAction): WARNING: KAction::plug(): has no KAccel object; this = 0x8117b38 name = koffice_undo parentCollection = 0x81178f8
kdecore (KAction): WARNING: KAction::plug(): has no KAccel object; this = 0x811cde8 name = koffice_redo parentCollection = 0x81178f8
kword: [KFormula::Document* KWDocument::getFormulaDocument()]
kotext: KoSpell::KoSpell2
kdecore (KProcIO): Empty
kdeui (KCommand): Initializing the Command History
kdecore (KAction): WARNING: KAction::updateShortcut(): name = "koffice_undo", cut = Ctrl+Z; No KAccel, probably missing a parent collection.
kdecore (KAction): WARNING: KAction::updateShortcut(): name = "koffice_redo", cut = Ctrl+Shift+Z; No KAccel, probably missing a parent collection.
kparts: ReadWritePart::setModified( true)
kword: [bool KoDocument::isModified()]  Modified doc='' extern=false
kdecore (KAction): WARNING: KAction::updateShortcut(): name = "koffice_undo", cut = Ctrl+Z; No KAccel, probably missing a parent collection.
QFile::open: No file name specified
kdecore (KProcIO): Sending [2]
kdecore (KProcIO): Empty
kdecore (KProcIO): Sending [3]
kdecore (KProcIO): Empty
kdecore (KProcIO): Sending [6]
kdecore (KProcIO): Empty
kdecore (KAction): WARNING: KAction::updateShortcut(): name = "koffice_undo", cut = Ctrl+Z; No KAccel, probably missing a parent collection.
koffice (lib kospell): KOSpellConfig::interpret []
QMetaObject::findSignal:KListView: Conflict with QListView::doubleClicked(QListViewItem*,const QPoint&,int)
koffice (lib kospell): KOSpellConfig::fillinDialog
koffice (lib kospell): KOSpellConfig::interpret []
koffice (lib kospell): KOSpellConfig::interpret []

I can't reproduce this reliably. Most of the time when I do what is described above it crashes, but not always. I have no idea on what this depends.

Another strange thing: When I open KWord and active "Check Words with numbers", this is not saved on OK, i.e. when closing kword after that and then opening it again, this checkbox is no longer checked.

Greetings,
Stefan
Comment 7 Waldo Bastian 2004-02-15 00:59:53 UTC
Fixed the following part: "When I open KWord and active "Check Words with numbers", this is not saved on OK, i.e. when closing kword after that and then opening it again, this checkbox is no longer checked." (for KOffice 1.3.1)
Comment 8 Waldo Bastian 2004-02-16 16:57:45 UTC
The "00ccc" crash is still reproducable. Make sure to wait for the "ccc" part to get redlined before pressing return. Then go to spelling configuration and change something. Crashes when selecting "OK".

Problem seems to be a ref-count error on one of the KoTextFormat objects:

==24431== Invalid read of size 4
==24431==    at 0x410CA761: QFont::QFont(QFont const&) (qfont.cpp:624)
==24431==    by 0x4812646A: KoTextParag::setFormat(int, int, KoTextFormat const*, bool, int) (kotextformat.h:436)
==24431==    by 0x481F1F55: KoBgSpellCheck::spellCheckNextParagraph() (korichtext.h:1186)
==24431==    by 0x481F10FB: KoBgSpellCheck::qt_invoke(int, QUObject*) (koBgSpellCheck.moc:101)
==24431==    by 0x41116508: QObject::activate_signal(QConnectionList*, QUObject*) (qobject.cpp:2333)
==24431==    by 0x411163A7: QObject::activate_signal(int) (qobject.cpp:2302)
==24431==    by 0x4145CFFB: QTimer::timeout() (.moc/debug-shared-mt/moc_qtimer.cpp:82)
==24431==    by 0x4113AB36: QTimer::event(QEvent*) (qtimer.cpp:219)
==24431==    by 0x410B3746: QApplication::internalNotify(QObject*, QEvent*) (qapplication.cpp:2582)
==24431==    by 0x410B2C03: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:2305)
==24431==    by 0x40C2AE9C: KApplication::notify(QObject*, QEvent*) (in /ext/kde_32/lib/libkdecore.so.4.2.0)
==24431==    by 0x4104A59E: QApplication::sendEvent(QObject*, QEvent*) (qapplication.h:492)
==24431==    by 0x410A1813: QEventLoop::activateTimers() (qeventloop_unix.cpp:557)
==24431==    by 0x4105C0E1: QEventLoop::processEvents(unsigned) (qeventloop_x11.cpp:346)
==24431==    by 0x410C9221: QEventLoop::enterLoop() (qeventloop.cpp:198)
==24431==    by 0x410C913D: QEventLoop::exec() (qeventloop.cpp:145)
==24431==    by 0x410B38C6: QApplication::exec() (qapplication.cpp:2705)
==24431==    by 0x402334EE: main (main.cc:43)
==24431==    by 0x4198BD3D: __libc_start_main (in /lib/libc.so.6)
==24431==    by 0x8048620: ??? (start.S:102)
==24431==    Address 0x4C8369F4 is 44 bytes inside a block of size 76 free'd
==24431==    at 0x4002A0B3: __builtin_delete (vg_replace_malloc.c:244)
==24431==    by 0x4002A0D1: operator delete(void*) (vg_replace_malloc.c:253)
==24431==    by 0x4813B2B1: QDict<KoTextFormat>::deleteItem(void*) (qdict.h:97)
==24431==    by 0x413DC2A5: QGDict::remove_string(QString const&, void*) (tools/qgdict.cpp:676)
==24431==    by 0x4813AE50: QDict<KoTextFormat>::remove(QString const&) (qdict.h:68)
==24431==    by 0x48139D98: KoTextFormatCollection::remove(KoTextFormat*) (kotextformat.h:461)
==24431==    by 0x48133B4B: KoTextFormat::removeRef() (kotextformat.cc:497)
==24431==    by 0x48122D8B: KoTextString::setFormat(int, KoTextFormat*, bool) (korichtext.h:1426)
==24431==    by 0x4812628F: KoTextParag::setFormat(int, int, KoTextFormat const*, bool, int) (korichtext.cpp:3686)
==24431==    by 0x481F1F55: KoBgSpellCheck::spellCheckNextParagraph() (korichtext.h:1186)
==24431==    by 0x481F10FB: KoBgSpellCheck::qt_invoke(int, QUObject*) (koBgSpellCheck.moc:101)
==24431==    by 0x41116508: QObject::activate_signal(QConnectionList*, QUObject*) (qobject.cpp:2333)
==24431==    by 0x411163A7: QObject::activate_signal(int) (qobject.cpp:2302)
==24431==    by 0x4145CFFB: QTimer::timeout() (.moc/debug-shared-mt/moc_qtimer.cpp:82)
==24431==    by 0x4113AB36: QTimer::event(QEvent*) (qtimer.cpp:219)
==24431==    by 0x410B3746: QApplication::internalNotify(QObject*, QEvent*) (qapplication.cpp:2582)
==24431==    by 0x410B2C03: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:2305)
==24431==    by 0x40C2AE9C: KApplication::notify(QObject*, QEvent*) (in /ext/kde_32/lib/libkdecore.so.4.2.0)
==24431==    by 0x4104A59E: QApplication::sendEvent(QObject*, QEvent*) (qapplication.h:492)
==24431==    by 0x410A1813: QEventLoop::activateTimers() (qeventloop_unix.cpp:557)
==24431==    by 0x4105C0E1: QEventLoop::processEvents(unsigned) (qeventloop_x11.cpp:346)
==24431==    by 0x410C9221: QEventLoop::enterLoop() (qeventloop.cpp:198)
==24431==    by 0x410C913D: QEventLoop::exec() (qeventloop.cpp:145)
==24431==    by 0x410B38C6: QApplication::exec() (qapplication.cpp:2705)
==24431==    by 0x402334EE: main (main.cc:43)
==24431==    by 0x4198BD3D: __libc_start_main (in /lib/libc.so.6)
==24431==    by 0x8048620: ??? (start.S:102)

Following patch fixes:
--- korichtext.cpp      19 Sep 2003 23:32:45 -0000      1.133
+++ korichtext.cpp      16 Feb 2004 15:49:22 -0000
@@ -1087,7 +1087,7 @@ void KoTextCursor::splitAndInsertEmptyPa
        if ( f->isMisspelled() ) {
             KoTextFormat fNoMisspelled( *f );
             fNoMisspelled.setMisspelled( false );
-           f->removeRef();
+//         f->removeRef();
            f = doc->formatCollection()->format( &fNoMisspelled );
        }
     }

Not sure if correct because the refcounts don't make much sense to me (they seem to be ever increasing somehow? Are they stored in undo-history?)
Comment 9 Waldo Bastian 2004-02-16 17:21:18 UTC
*** Bug 66705 has been marked as a duplicate of this bug. ***
Comment 10 Waldo Bastian 2004-02-16 18:18:04 UTC
CVS commit by waba: 

Fix ref-counting of KoTextFormat objects when background spell-checking is
enabled. (BR65933, BR66705)
CCMAIL: 65933-done@bugs.kde.org


  M +0 -1      korichtext.cpp   1.133.2.1


--- koffice/lib/kotext/korichtext.cpp  #1.133:1.133.2.1
@@ -1088,5 +1088,4 @@ void KoTextCursor::splitAndInsertEmptyPa
             KoTextFormat fNoMisspelled( *f );
             fNoMisspelled.setMisspelled( false );
-            f->removeRef();
             f = doc->formatCollection()->format( &fNoMisspelled );
         }