KDevelop4 crashes when composing .cpp file

dukju ahn dukjuahn at gmail.com
Wed Jul 4 16:13:44 UTC 2007


2007/7/4, David Nolden <david.nolden.kdevelop at art-master.de>:
> Am Mittwoch, 4. Juli 2007 17:49:32 schrieb dukju ahn:
> > Attached is backtrace.
> >
> > const Range DocumentRangeObject::textRange( ) const
> > {
> >     QMutexLocker lock(&d->m_rangeMutex); <--- this line crashes
> >     return *d->m_range;
> > }
>
> Looks like no context is found for the cursor-position. Making it not crash is
> trivial, but the question why there is no context is a bit more complicated.
> Do you know whether the file is even parsed?

According to debug output below, it seems that file is parsed, although
I have no knowledge on this field.

kparts: MainWindow::createGUI, part=KateDocument(0xbfba90)  KateDocument
kparts: ReadOnlyPart::guiActivateEvent -> file:///home/kdev/httpsrep/trunkfile.c
kio (KTrader): query for serviceType KDevelop/Plugin : returning 1 offers
kdevelop (core): creating language C++
kdevelop (core): activating language C++
kdevelop (cpp support): Registered completion model
kdevelop (cpp support): CppLanguageSupport::documentActivated
kdevelop (cpp support): adding document to bgparser
kdevelop: BackgroundParser::addDocument
kdevelop: BackgroundParser::addDocument: queuing
file:///home/kdev/httpsrep/trunkfile.c
kdevelop: BackgroundParser::parseDocumentsInternal
kdevelop: adding document file:///home/kdev/httpsrep/trunkfile.c
kdevelop (cpp support): LexedFile::LexedFile: created for
file:///home/kdev/httpsrep/trunkfile.c modification-time:
QDateTime("Thu Jul 5 00:41:15 2007")
kdevelop (cpp support): [CPPParseJob::CPPParseJob(const KUrl&,
CppLanguageSupport*, PreprocessJob*)] Created job
CPPParseJob(0xddaa40)  pp PreprocessJob(0xbd4fe0)  parse
CPPInternalParseJob(0xddb8b0)
kdevelop: [void
KDevelop::BackgroundParserPrivate::parseDocumentsInternal()] Enqueue
CPPParseJob(0xddaa40)
kdevelop (cpp support): CppLanguageSupport::documentActivated
kdevelop (cpp support): adding document to bgparser
kdevelop: BackgroundParser::addDocument
kdevelop: BackgroundParser::addDocument: queuing
file:///home/kdev/httpsrep/trunkfile.c
kdevelop: BackgroundParser::parseDocumentsInternal
kdevelop: skipping file:///home/kdev/httpsrep/trunkfile.c because it
is already being parsed
kdevelop: PreprocessJob: preprocessing file:///home/kdev/httpsrep/trunkfile.c
kdevelop (cpp support): ===-- PREPROCESSING --===> trunkfile.c <==
readFromDisk: true size: 104
kdevelop: PreprocessJob: finished file:///home/kdev/httpsrep/trunkfile.c
kdevelop (cpp support): ===-- PARSING --===> trunkfile.c
kdevelop (cpp support): building duchain
kdevelop: duchain: adding document
file:///home/kdev/httpsrep/trunkfile.c 2831247900
kdevelop (cpp support): EnvironmentManager::addFile
file:///home/kdev/httpsrep/trunkfile.c
kdevelop (cpp support): EnvironmentManager: adding an instance of
file:///home/kdev/httpsrep/trunkfile.c
kdevelop (cpp support): built top-level context with 0 declarations
and 0 included files
kdevelop (cpp support): duchain is built
kdevelop (cpp support): highighting du chain
kdevelop (cpp support): ===-- Parsing finished --===> trunkfile.c
kdevelop: BackgroundParser: parsed file:///home/kdev/httpsrep/trunkfile.c
kdevelop: BackgroundParser::parseDocumentsInternal
kdevelop: adding document file:///home/kdev/httpsrep/trunkfile.c
kdevelop (cpp support): LexedFile::LexedFile: created for
file:///home/kdev/httpsrep/trunkfile.c modification-time:
QDateTime("Thu Jul 5 00:41:15 2007")
kdevelop (cpp support): [CPPParseJob::CPPParseJob(const KUrl&,
CppLanguageSupport*, PreprocessJob*)] Created job
CPPParseJob(0xcc0eb0)  pp PreprocessJob(0xbd5150)  parse
CPPInternalParseJob(0xd902b0)
kdevelop: [void
KDevelop::BackgroundParserPrivate::parseDocumentsInternal()] Enqueue
CPPParseJob(0xcc0eb0)
kdevelop: PreprocessJob: preprocessing file:///home/kdev/httpsrep/trunkfile.c
kdevelop (cpp support): ===-- PREPROCESSING --===> trunkfile.c <==
readFromDisk: true size: 104
kdevelop: PreprocessJob: finished file:///home/kdev/httpsrep/trunkfile.c
kdevelop (cpp support): ===-- PARSING --===> trunkfile.c
kdevelop (cpp support): building duchain
kdevelop (cpp support): EnvironmentManager::removeFile
file:///home/kdev/httpsrep/trunkfile.c
kdevelop (cpp support): EnvironmentManager::removeLexedFile: removing
an instance of file:///home/kdev/httpsrep/trunkfile.c
kdevelop (cpp support): EnvironmentManager::removeLexedFile: new count
of cached instances for the file: 0
kdevelop (cpp support): EnvironmentManager::addFile
file:///home/kdev/httpsrep/trunkfile.c
kdevelop (cpp support): EnvironmentManager: adding an instance of
file:///home/kdev/httpsrep/trunkfile.c
kdevelop (cpp support): built top-level context with 0 declarations
and 0 included files
kdevelop (cpp support): duchain is built
kdevelop (cpp support): highighting du chain
kdevelop (cpp support): ===-- Parsing finished --===> trunkfile.c
kdevelop: BackgroundParser: parsed file:///home/kdev/httpsrep/trunkfile.c
kdevelop: BackgroundParser::parseDocumentsInternal
kdevelop: adding document file:///home/kdev/httpsrep/trunkfile.c




More information about the KDevelop-devel mailing list