https://bugs.kde.org/show_bug.cgi?id=488043
Igor Kushnir <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|REPORTED |CONFIRMED --- Comment #7 from Igor Kushnir <[email protected]> --- There are about 10 core dumps with `takeNextBucketHash()` in my crash collection. But they all happen in the PersistentSymbolTable rather than in the CodeModel item repository. Restarting KDevelop without clearing the cache results in the same crash. Clearing the cache usually allows the parsing to complete successfully. The most recent such crash occurred in April this year. The reduced backtrace of this last crash of mine: Thread 1 (Thread 0x7fc230a916c0 (LWP 64212)): [KCrash Handler] #4 0x00007fc2cdc0e9ef in std::__fill_a1<unsigned short*, int> (__first=0x7fc25e0cd654, __last=0x7fc25e0cefee, __value=<optimized out>, __first=<optimized out>, __last=<optimized out>, __value=<optimized out>) at /usr/include/c++/14.2.1/bits/stl_algobase.h:952 #5 std::__fill_a<unsigned short*, int> (__first=0x7fc25e0cd654, __last=0x7fc25e0cefee, __value=<optimized out>, __first=<optimized out>, __last=<optimized out>, __value=<optimized out>) at /usr/include/c++/14.2.1/bits/stl_algobase.h:998 #6 std::__fill_n_a<unsigned short*, int, int> (__first=0x7fc25e0cd654, __n=3277, __value=<optimized out>, __first=<optimized out>, __n=<optimized out>, __value=<optimized out>) at /usr/include/c++/14.2.1/bits/stl_algobase.h:1154 #7 std::fill_n<short unsigned int*, KDevelop::Bucket<KDevelop::(anonymous namespace)::PersistentSymbolTableItem, KDevelop::(anonymous namespace)::PersistentSymbolTableRequestItem, true, 0>::<unnamed enum>, int> (__first=0x7fc25e0cd654, __n=KDevelop::Bucket<KDevelop::(anonymous namespace)::PersistentSymbolTableItem, KDevelop::(anonymous namespace)::PersistentSymbolTableRequestItem, true, 0>::NextBucketHashSize, __value=<optimized out>) at /usr/include/c++/14.2.1/bits/stl_algobase.h:1183 #8 KDevelop::Bucket<KDevelop::(anonymous namespace)::PersistentSymbolTableItem, KDevelop::(anonymous namespace)::PersistentSymbolTableRequestItem, true, 0>::takeNextBucketHash (this=0x7fc219275b70) at kdevelop/kdevplatform/serialization/itemrepository.h:734 #9 KDevelop::ItemRepository<KDevelop::(anonymous namespace)::PersistentSymbolTableItem, KDevelop::(anonymous namespace)::PersistentSymbolTableRequestItem, true, QRecursiveMutex, 0u, 1048576u>::convertMonsterBucket(int, int) [clone .isra.0] (this=0x7fc2cf06d140 <_ZZN8KDevelop17ItemRepositoryForINS_21PersistentSymbolTableEE4repoEvE4repo.lto_priv.0>, bucketNumber=<optimized out>, extent=1) at kdevelop/kdevplatform/serialization/itemrepository.h:2144 #10 0x00007fc2cdc0eff4 in KDevelop::ItemRepository<KDevelop::(anonymous namespace)::PersistentSymbolTableItem, KDevelop::(anonymous namespace)::PersistentSymbolTableRequestItem, true, QRecursiveMutex, 0u, 1048576u>::index(KDevelop::(anonymous namespace)::PersistentSymbolTableRequestItem const&) [clone .isra.0] (this=<optimized out>, request=...) at kdevelop/kdevplatform/serialization/itemrepository.h:1396 #11 0x00007fc2cdb334be in operator() (__closure=<optimized out>, repo=...) at kdevelop/kdevplatform/language/duchain/persistentsymboltable.cpp:325 #12 KDevelop::LockedItemRepository::write<KDevelop::PersistentSymbolTable, KDevelop::PersistentSymbolTable::addDeclaration(const KDevelop::IndexedQualifiedIdentifier&, const KDevelop::IndexedDeclaration&)::<lambda(KDevelop::(anonymous namespace)::PersistentSymbolTableRepo&)> > (op=<optimized out>) at kdevelop/kdevplatform/serialization/itemrepository.h:2552 #13 KDevelop::PersistentSymbolTable::addDeclaration (this=<optimized out>, id=<optimized out>, declaration=<optimized out>) at kdevelop/kdevplatform/language/duchain/persistentsymboltable.cpp:285 #14 0x00007fc2cdaf2d4f in KDevelop::Declaration::setInSymbolTable (this=0x7fc2192629e0, inSymbolTable=<optimized out>) at kdevelop/kdevplatform/language/duchain/declaration.cpp:620 #15 0x00007fc25c2a5f6d in (anonymous namespace)::Visitor::createDeclarationCommon<(CXCursorKind)1, KDevelop::Declaration> (this=0x7fc230a8f660, cursor=..., id=...) at kdevelop/plugins/clang/duchain/builder.cpp:448 #16 0x00007fc25c2a2fc3 in (anonymous namespace)::Visitor::createDeclaration<(CXCursorKind)1, KDevelop::Declaration> (context=0x0, this=0x7fc230a8f660, cursor=..., id=...) at kdevelop/plugins/clang/duchain/builder.cpp:454 #17 (anonymous namespace)::Visitor::buildDeclaration<(CXCursorKind)1, KDevelop::Declaration, false> (this=0x7fc230a8f660, cursor=...) at kdevelop/plugins/clang/duchain/builder.cpp:1296 #18 (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)1, (Decision)1, (Decision)1> (this=0x7fc230a8f660, cursor=..., parent=...) at kdevelop/plugins/clang/duchain/builder.cpp:1007 #19 (anonymous namespace)::Visitor::dispatchCursor<(CXCursorKind)1> (this=0x7fc230a8f660, cursor=..., parent=...) at kdevelop/plugins/clang/duchain/builder.cpp:971 #20 (anonymous namespace)::visitCursor (cursor=..., parent=..., data=0x7fc230a8f660) at kdevelop/plugins/clang/duchain/builder.cpp:1675 #21 0x00007fc24c474b8c in ??? () at /usr/lib/libclang.so.19.1 #22 0x00007fc24c476a12 in ??? () at /usr/lib/libclang.so.19.1 #23 0x00007fc24c476d70 in ??? () at /usr/lib/libclang.so.19.1 #24 0x00007fc24c473cde in ??? () at /usr/lib/libclang.so.19.1 #25 0x00007fc24c4777ad in clang_visitChildren () at /usr/lib/libclang.so.19.1 #26 0x00007fc25c29e7c1 in (anonymous namespace)::Visitor::Visitor (this=0x7fc230a8f660, tu=<optimized out>, file=<optimized out>, includes=<optimized out>, update=<optimized out>) at kdevelop/plugins/clang/duchain/builder.cpp:1595 #27 Builder::visit (tu=<optimized out>, file=<optimized out>, includes=<optimized out>, update=<optimized out>) at kdevelop/plugins/clang/duchain/builder.cpp:1744 #28 0x00007fc25c2b5799 in ClangHelpers::buildDUChain (file=<optimized out>, imports=<optimized out>, session=..., features=..., includedFiles=..., unsavedRevisions=..., parseDocument=..., index=0x55b4e1871cb0, abortFunction=...) at kdevelop/plugins/clang/duchain/clanghelpers.cpp:209 #29 0x00007fc25c2b50eb in ClangHelpers::buildDUChain (file=<optimized out>, imports=..., session=..., features=..., features@entry=..., includedFiles=..., unsavedRevisions=..., parseDocument=..., index=0x55b4e1871cb0, abortFunction=...) at kdevelop/plugins/clang/duchain/clanghelpers.cpp:121 #30 0x00007fc25c367fba in ClangParseJob::run (this=0x55b4ea25ba30) at kdevelop/plugins/clang/clangparsejob.cpp:323 -- You are receiving this mail because: You are watching all bug changes.
