C++/DUchain problems after latest changes

Andreas Pakulat apaku at gmx.de
Thu Dec 4 09:38:50 UTC 2008


Hi,

First of all: The build was broken, make krossWrappers didn't work
anymore, hence the generated code cannot be updated and there was an API
change in the language library which makes the comitted code not link
anymore. Running make krossWrappers simply returned an error and the "well
known" messages:
,----
| <unknown program name>(10487)/
| KDevelop::allocateGlobalItemRepositoryRegistry: making
| "/home/andreas/.kdevduchain/0"
| <unknown program name>(10487)/
| KDevelop::allocateGlobalItemRepositoryRegistry: picked duchain directory
| "/home/andreas/.kdevduchain/0"
| <unknown program name>(10487)/ KDevelop::ItemRepositoryRegistry::open:
| "/home/andreas/.kdevduchain/0/version_38" not found, seems to be an old
| version
| <unknown program name>(10487)/ KDevelop::ItemRepositoryRegistry::open: "The
| data-repository at /home/andreas/.kdevduchain/0 has to be cleared. Either
| the disk format has changed, or KDevelop crashed while writing the
| repository"
`----

It seems I was able to "fix" that by starting up kdevelop once, make
krossWrappers works now but it seems to be a lot slower than it was last
time I ran it.

Also I get those messages from duchain-repository everytime the duchain is
loaded, even after a rm -rf $HOME/.kdevduchain.

Last but not least: I'm also getting this after a full rebuild when closing
kdevelop (backtrace at the end):
,----
| kdevelop(10094)/kdevelop (cpp duchain)
| Cpp::CppDUContext<Base>::findLocalDeclarationsInternal: serious problem:
| Instatiation is in wrong context, should be in this one
| kdevelop(10094)/kdevelop (cpp duchain)
| Cpp::CppDUContext<Base>::findLocalDeclarationsInternal: serious problem:
| Instatiation is in wrong context, should be in this one
| kdevelop(10094)/kdevelop (cpp duchain)
| Cpp::CppDUContext<Base>::findLocalDeclarationsInternal: serious problem:
| Instatiation is in wrong context, should be in this one
| kdevelop(10094)/kdevelop (cpp duchain)
| Cpp::CppDUContext<Base>::findLocalDeclarationsInternal: serious problem:
| Instatiation is in wrong context, should be in this one
| kdevelop(10094)/kdevelop (cpp duchain)
| Cpp::CppDUContext<Base>::findLocalDeclarationsInternal: serious problem:
| Instatiation is in wrong context, should be in this one
| kdevelop(10094)/kdevelop (cpp duchain)
| Cpp::CppDUContext<Base>::findLocalDeclarationsInternal: serious problem:
| Instatiation is in wrong context, should be in this one
| kdevelop(10094)/kdevelop (cpp duchain)
| Cpp::CppDUContext<Base>::findLocalDeclarationsInternal: serious problem:
| Instatiation is in wrong context, should be in this one
| kdevelop(10094)/kdevelop (cpp duchain)
| Cpp::CppDUContext<Base>::findLocalDeclarationsInternal: serious problem:
| Instatiation is in wrong context, should be in this one
| QObject: Do not delete object, 'unnamed', during its event handler!
| ASSERT: "m_usedDeclarationIdsData == 0" in file
| /home/andreas/src/kde4/kdevplatform/language/duchain/topducontextdata.h, line 74
`----

,----
| Thread 1 (process 10094):
| #0  0xffffe424 in __kernel_vsyscall ()
| #1  0xb62595e0 in raise () from /lib/i686/cmov/libc.so.6
| #2  0xb625af51 in abort () from /lib/i686/cmov/libc.so.6
| #3  0xb6515828 in qt_message_output (msgType=QtFatalMsg,
|     buf=0xbfb84990 "ASSERT: \"m_usedDeclarationIdsData == 0\" in file
| /home/andreas/src/kde4/kdevplatform/language/duchain/topducontextdata.h,
| line 74") at
| /home/andreas/src/kde4/qt-copy/src/corelib/global/qglobal.cpp:2102
| #4  0xb651588c in qFatal (msg=0xb6697fe8 "ASSERT: \"%s\" in file %s, line
| %d")
| ---Type <return> to continue, or q <return> to quit---
|     at /home/andreas/src/kde4/qt-copy/src/corelib/global/qglobal.cpp:2303
| #5  0xb6515cd8 in qt_assert (assertion=0xb60b2e9c "m_usedDeclarationIdsData
| == 0",
|     file=0xb60b2e54
| "/home/andreas/src/kde4/kdevplatform/language/duchain/topducontextdata.h",
| line=74)
|     at /home/andreas/src/kde4/qt-copy/src/corelib/global/qglobal.cpp:1872
| #6  0xb5ff3367 in
| KDevelop::TopDUContextData::m_usedDeclarationIdsCopyFrom<KDevelop::TopDUContextData>
| (this=0x8bd61f8,
|     rhs=@0x8c61258) at
| /home/andreas/src/kde4/kdevplatform/language/duchain/topducontextdata.h:74
| #7  0xb5ff33ee in
| KDevelop::TopDUContextData::m_usedDeclarationIdsCopyAllFrom<KDevelop::TopDUContextData>
| (this=0x8bd61f8,
|     rhs=@0x8c61258) at
| /home/andreas/src/kde4/kdevplatform/language/duchain/topducontextdata.h:74
| #8  0xb5ff3418 in
| KDevelop::TopDUContextData::copyListsFrom<KDevelop::TopDUContextData>
| (this=0x8bd61f8, rhs=@0x8c61258)
|     at
| /home/andreas/src/kde4/kdevplatform/language/duchain/topducontextdata.h:75
| #9  0xaeeb2204 in TopDUContextData (this=0x8bd61f8, rhs=@0x8c61258)
|     at
| /home/andreas/kde4/include/kdevplatform/language/duchain/topducontextdata.h:43
| #10 0xaeeb234a in
| KDevelop::DUChainItemFactory<Cpp::CppDUContext<KDevelop::TopDUContext>,
| KDevelop::TopDUContextData>::copy (
|     this=0x86e2b30, from=@0x8c61258, to=@0x8bd61f8, constant=true)
|     at
| /home/andreas/kde4/include/kdevplatform/language/duchain/duchainregister.h:58
| #11 0xb6043895 in KDevelop::DUChainItemSystem::copy (this=0xb60ced08,
| from=@0x8c61258, to=@0x8bd61f8, constant=true)
|     at
| /home/andreas/src/kde4/kdevplatform/language/duchain/duchainregister.cpp:68
| #12 0xb5ffb42f in saveDUChainItem (data=@0x8e73fdc, item=@0x8e82158,
| totalDataOffset=@0xbfb86b74)
|     at
| /home/andreas/src/kde4/kdevplatform/language/duchain/topducontextdynamicdata.cpp:57
| #13 0xb5ffbae1 in KDevelop::TopDUContextDynamicData::store (this=0x8e73fa8)
|     at
| /home/andreas/src/kde4/kdevplatform/language/duchain/topducontextdynamicdata.cpp:302
| #14 0xb5fceea9 in KDevelop::DUChainPrivate::doMoreCleanup (this=0x826e578,
| retries=0, needLockRepository=true)
|     at /home/andreas/src/kde4/kdevplatform/language/duchain/duchain.cpp:545
| #15 0xb5fb7c3e in KDevelop::DUChain::aboutToQuit (this=0x82648d8)
|     at
| /home/andreas/src/kde4/kdevplatform/language/duchain/duchain.cpp:1202
| #16 0xb5fb7deb in KDevelop::DUChain::qt_metacall (this=0x82648d8,
| _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0xbfb86f30)
|     at /home/andreas/src/kde4/build/kdevplatform/language/duchain.moc:156
| #17 0xb664c719 in QMetaObject::activate (sender=0xbfb870a0,
| from_signal_index=4, to_signal_index=4, argv=0x0)
|     at /home/andreas/src/kde4/qt-copy/src/corelib/kernel/qobject.cpp:3031
| #18 0xb664cccd in QMetaObject::activate (sender=0xbfb870a0, m=0xb673d9a4,
| local_signal_index=0, argv=0x0)
|     at /home/andreas/src/kde4/qt-copy/src/corelib/kernel/qobject.cpp:3101
| #19 0xb6696831 in QCoreApplication::aboutToQuit (this=0xbfb870a0) at
| .moc/debug-shared/moc_qcoreapplication.cpp:123
| #20 0xb6634a07 in QCoreApplication::exec () at
| /home/andreas/src/kde4/qt-copy/src/corelib/kernel/qcoreapplication.cpp:849
| #21 0xb6896c4c in QApplication::exec () at
| /home/andreas/src/kde4/qt-copy/src/gui/kernel/qapplication.cpp:3331
| #22 0x0804ea79 in main (argc=-1207552336, argv=0x80f27f0) at
| /home/andreas/src/kde4/kdevelop/src/main.cpp:195
`----

Andreas

-- 
Try the Moo Shu Pork.  It is especially good today.




More information about the KDevelop-devel mailing list