Summary: | Random crash editing large C++ files (10,000 line) | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | John A. Sullivan III <john.sullivan> |
Component: | general | Assignee: | KDevelop Developers <kdevelop-devel> |
Status: | RESOLVED DUPLICATE | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | 3.0.0b2 | ||
Target Milestone: | --- | ||
Platform: | RedHat Enterprise Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
John A. Sullivan III
2003-12-11 15:50:09 UTC
This bt looks Kate to me! sorry, but you should keep in mind: none of your editor parts is threadsafe, therefor: take care what you do with them from threads ;) if the background parser no longer uses threads, sorry, reassign it back I may have been misleading about the CPU spinning. It just crashed again on me and the KDevelop process was spinning but I did not close the crash screen that popped up as I normally do. I let it run to get another backtrace. Once the backtrace finished running, the CPU quieted down. I am running the latest KDE for RedHat 9.0 (updated regularly via Ximian Red-Carpet. Here is the backtrace: [New Thread 16384 (LWP 2873)] [New Thread 32769 (LWP 2901)] [New Thread 16386 (LWP 2902)] 0x4142976a in waitpid () from /lib/i686/libpthread.so.0 #0 0x4142976a in waitpid () from /lib/i686/libpthread.so.0 #1 0x40a8857d in KCrash::defaultCrashHandler(int) () from /usr/lib/libkdecore.so.4 #2 0x4142867e in __pthread_sighandler () from /lib/i686/libpthread.so.0 #3 <signal handler called> #4 0x422eec9b in KateBufBlock::line(unsigned) () from /usr/lib/kde3/libkatepart.so #5 0x422ecf9f in KateBuffer::needHighlight(KateBufBlock*, unsigned, unsigned) () from /usr/lib/kde3/libkatepart.so #6 0x422ed4fe in KateBuffer::updateHighlighting(unsigned, unsigned, bool) () from /usr/lib/kde3/libkatepart.so #7 0x422ed5e6 in KateBuffer::slotBufferUpdateHighlight(unsigned, unsigned) () from /usr/lib/kde3/libkatepart.so #8 0x422eba33 in KateBuffer::qt_invoke(int, QUObject*) () from /usr/lib/kde3/libkatepart.so #9 0x40edb0c9 in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #10 0x422eb547 in KateBuffer::pleaseHighlight(unsigned, unsigned) () from /usr/lib/kde3/libkatepart.so #11 0x422ecde1 in KateBuffer::line(unsigned) () from /usr/lib/kde3/libkatepart.so #12 0x422eddd6 in KateBuffer::text() () from /usr/lib/kde3/libkatepart.so #13 0x4230528f in KateDocument::text() const () from /usr/lib/kde3/libkatepart.so #14 0x41e4843f in KDevSourceProvider::contents(QString const&) () from /usr/local/kde/lib/kde3/libkdevcppsupport.so #15 0x41f755ea in Driver::parseFile(QString const&, bool, bool) () from /usr/local/kde/lib/libkdevcppparser.so.0 #16 0x41e467de in BackgroundParser::parseFile(QString const&, bool, bool) () from /usr/local/kde/lib/kde3/libkdevcppsupport.so #17 0x41e47197 in BackgroundParser::run() () from /usr/local/kde/lib/kde3/libkdevcppsupport.so #18 0x40e71c78 in QProc::~QProc() () from /usr/lib/qt-3.1/lib/libqt-mt.so.3 #19 0x41423a21 in pthread_start_thread () from /lib/i686/libpthread.so.0 From the backtrace it looks to me like Kate from KDE 3.1 requests highlighting on text delivered by the EditInterface. From a quick review of the 3.2 code, this doesn't happen, so I would advise that you upgrade your kate to 3.2, or replace all calls to KateBuffer::line(unsigned) inside KateBuffer::text() with KateBuffer::plainLine(unsigned)... John, if you have happen to have started to build from CVS.. please update to latest and see if the problem is solved for you. This could perhaps, maybe, possibly be fixed now. :) |