Problems running kdevelop in valgrind/callgrind

Andreas Pakulat apaku at gmx.de
Sun Aug 31 14:34:13 UTC 2008


Hi,

wanted to run callgrind on kdevelop to check whats making cmake project
opening slow. But it seems to be impossible as kdevelop crashes as
soon as I open a project with valgrind/callgrind running on it.

The backtrace I get from the callgrind process indicates a problem with
the DUChain usage in CMake, this also fits with the reproduceable crash
when editing a CMakeLists.txt file and saving it inside kdevelop4 (also
crashes in the duchain and the backtrace seems to be pretty similar to
the one I have)

Backtrace from valgrind:
==25714==  Access not within mapped region at address 0x0
==25714==    at 0xB926BDF: ???
==25714==    by 0x5A66C4A: KDevelop::DUContext::Import::Import(KDevelop::DUContext*, KDevelop::SimpleCursor const&) (ducontext.cpp:1676)
==25714==    by 0x5A68155: KDevelop::DUContext::addImportedParentContext(KDevelop::DUContext*, KDevelop::SimpleCursor const&, bool, bool) (ducontext.cpp:832)
==25714==    by 0x5A79461: KDevelop::TopDUContext::addImportedParentContext(KDevelop::DUContext*, KDevelop::SimpleCursor const&, bool, bool) (topducontext.cpp:1175)
==25714==    by 0xABB4FF8: CMakeProjectVisitor::walk(QList<CMakeFunctionDesc> const&, int) (cmakeprojectvisitor.cpp:1686)
==25714==    by 0xAB56EF4: CMakeProjectManager::parse(KDevelop::ProjectFolderItem*) (cmakemanager.cpp:361)
==25714==    by 0x59CE7CF: KDevelop::ImportProjectJobPrivate::parseItem() (importprojectjob.cpp:55)
==25714==    by 0x59CDB17: KDevelop::ImportProjectJob::qt_metacall(QMetaObject::Call, int, void**) (importprojectjob.moc:65)
==25714==    by 0x4A3AD3C: QMetaObject::activate(QObject*, int, int, void**) (in /home/andreas/qt-copy/lib/libQtCore.so.4.4.1)
==25714==    by 0x4A3B1CA: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (in /home/andreas/qt-copy/lib/libQtCore.so.4.4.1)
==25714==    by 0x4A789F0: QTimer::timeout() (in /home/andreas/qt-copy/lib/libQtCore.so.4.4.1)
==25714==    by 0x4A44E93: QTimer::timerEvent(QTimerEvent*) (in /home/andreas/qt-copy/lib/libQtCore.so.4.4.1)

Backtrace from adymo who got the "edit-cmakelists.txt" crash (the other
threads are just idling around):
#5  0x00007f18fbdb41dd in KDevelop::DUContext::owner (this=0x2d882b0) at /home/gremlin/projects/oss/kdevelop_git/kdevplatform/language/duchain/ducontext.cpp:584
#6  0x00007f18fbdb5a62 in Import (this=0x7fff093f9b50, _context=0x2d882b0, _position=@0x7fff093f9d00) at /home/gremlin/projects/oss/kdevelop_git/kdevplatform/language/duchain/ducontext.cpp:1676
#7  0x00007f18fbdb6f86 in KDevelop::DUContext::addImportedParentContext (this=0x2d3aa20, context=0x2d882b0, position=@0x7fff093f9d00, anonymous=true)
    at /home/gremlin/projects/oss/kdevelop_git/kdevplatform/language/duchain/ducontext.cpp:832
#8  0x00007f18fbdc9e09 in KDevelop::TopDUContext::addImportedParentContext (this=0x2d3aa20, context=0x2d882b0, position=@0x7fff093f9d00, temporary=false)
    at /home/gremlin/projects/oss/kdevelop_git/kdevplatform/language/duchain/topducontext.cpp:1175
#9  0x00007f18e56b52fe in CMakeProjectVisitor::walk (this=0x7fff093f9ef0, fc=@0x7fff093fa0e0, line=0)
    at /home/gremlin/projects/oss/kdevelop_git/kdevelop/buildtools/managers/cmake/parser/cmakeprojectvisitor.cpp:1686
#10 0x00007f18e58efe58 in CMakeProjectManager::parse (this=0x2d85250, item=0x1be44a0) at /home/gremlin/projects/oss/kdevelop_git/kdevelop/buildtools/managers/cmake/cmakemanager.cpp:361
#11 0x00007f18e58ee6c7 in CMakeProjectManager::reimport (this=0x2d85250, fi=0x1be44a0) at /home/gremlin/projects/oss/kdevelop_git/kdevelop/buildtools/managers/cmake/cmakemanager.cpp:642
#12 0x00007f18e58eeadf in CMakeProjectManager::dirtyFile (this=0x2d85250, dirty=@0x7fff093faaf0) at /home/gremlin/projects/oss/kdevelop_git/kdevelop/buildtools/managers/cmake/cmakemanager.cpp:681
#13 0x00007f18e58eecdf in CMakeProjectManager::qt_metacall (this=0x2d85250, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff093faa20)
    at /home/gremlin/projects/oss/kdevelop_git/kdevelop_build/buildtools/managers/cmake/cmakemanager.moc:79
#14 0x00007f18ff414220 in QMetaObject::activate (sender=0x2daf560, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x1)
    at /home/gremlin/projects/oss/kdesvn/qt-copy/src/corelib/kernel/qobject.cpp:3013
#15 0x00007f190073b735 in KDirWatch::dirty (this=0x2daf560, _t1=@0x7fff093faaf0) at /home/gremlin/projects/oss/kdesvn/build/kdelibs/kio/kdirwatch.moc:81
#16 0x00007f190073b977 in KDirWatch::setDirty (this=0x2daf560, _file=@0x7fff093faaf0) at /home/gremlin/projects/oss/kdesvn/kdelibs/kio/kio/kdirwatch.cpp:1666
#17 0x00007f190073ce61 in KDirWatchPrivate::emitEvent (this=0xb4e920, e=0x2e5f038, event=1, fileName=@0x7fff093fabf0) at /home/gremlin/projects/oss/kdesvn/kdelibs/kio/kio/kdirwatch.cpp:1147
#18 0x00007f1900740739 in KDirWatchPrivate::slotRescan (this=0xb4e920) at /home/gremlin/projects/oss/kdesvn/kdelibs/kio/kio/kdirwatch.cpp:1225
#19 0x00007f1900741908 in KDirWatchPrivate::qt_metacall (this=0xb4e920, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff093fad10)
    at /home/gremlin/projects/oss/kdesvn/build/kdelibs/kio/kdirwatch_p.moc:72

Andreas

-- 
Advancement in position.




More information about the KDevelop-devel mailing list