Summary: | Crash during session restore at startup | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Eike Hein <hein> |
Component: | general | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED FIXED | ||
Severity: | crash | Keywords: | drkonqi |
Priority: | NOR | ||
Version: | 5.0.0 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | 5.0.1 |
Description
Eike Hein
2016-09-06 08:50:00 UTC
Did it crash before that? Looks like the DUChain info got messed up and then triggered a crash further down the road :( not much we can do about this if you cannot reproduce it, I fear. Except rewriting the whole serialization to introduce more safeguards, like checksumming and stuff I can reproduce it in the sense that it crashes every first run :) If I wipe the cache it eventually happens again, too. Valgrind requested by kfunk: [eike@ehl1 ~/devel/src/kde/workspace/plasma-desktop (master) 272K]$ KDEV_DISABLE_JIT=1 valgrind --track-origins=yes kdevelop ==21625== Memcheck, a memory error detector ==21625== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. ==21625== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info ==21625== Command: kdevelop ==21625== kdevelop(21625)/default unknown: Failed to load item with identity 111 ==21625== Invalid read of size 8 ==21625== at 0xCA93D7E: KDevelop::TopDUContextDynamicData::DUChainItemStorage<KDevelop::DUContext*>::getItemForIndex(unsigned int) const (topducontextdynamicdata.cpp:407) ==21625== by 0xCA7C15D: KDevelop::DUContext::rebuildDynamicData(KDevelop::DUContext*, unsigned int) (ducontext.cpp:121) ==21625== by 0xCA91F43: KDevelop::TopDUContextDynamicData::load(unsigned int) (topducontextdynamicdata.cpp:609) ==21625== by 0xCA71224: KDevelop::DUChainPrivate::loadChain(unsigned int, QSet<unsigned int>&) (duchain.cpp:579) ==21625== by 0xCA5D274: KDevelop::DUChain::loadChain(unsigned int) (duchain.cpp:1311) ==21625== by 0xCABD5DF: KDevelop::ParsingEnvironmentFile::topContext() const (parsingenvironment.cpp:140) ==21625== by 0xCA5B556: KDevelop::DUChain::environmentFileForDocument(KDevelop::IndexedString const&, KDevelop::ParsingEnvironment const*, bool) const (duchain.cpp:1400) ==21625== by 0xCA5B68E: KDevelop::DUChain::chainForDocument(KDevelop::IndexedString const&, KDevelop::ParsingEnvironment const*, bool) const (duchain.cpp:1423) ==21625== by 0xCA5B6EB: KDevelop::DUChain::chainForDocument(QUrl const&, KDevelop::ParsingEnvironment const*, bool) const (duchain.cpp:1382) ==21625== by 0x432135A9: ClangSupport::standardContext(QUrl const&, bool) (clangsupport.cpp:351) ==21625== by 0xCACEE3A: KDevelop::DUChainUtils::standardContextForUrl(QUrl const&, bool) (duchainutils.cpp:282) ==21625== by 0x40CCF62E: (anonymous namespace)::getContextAt(QUrl const&, KTextEditor::Cursor) (contextbrowser.cpp:112) ==21625== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==21625== KCrash: crashing... crashRecursionCounter = 2 KCrash: Application Name = kdevelop path = /home/eike/devel/install/bin pid = 21625 KCrash: Arguments: /home/eike/devel/install/bin/kdevelop KCrash: Attempting to start /home/eike/devel/install/lib64/libexec/drkonqi from kdeinit sock_file=/run/user/1000/kdeinit5__0 [1]+ Stopped KDEV_DISABLE_JIT=1 valgrind --track-origins=yes kdevelop [eike@ehl1 ~/devel/src/kde/workspace/plasma-desktop (master) 272K]$ kdevelop(21625)/default unknown: QSocketNotifier: Invalid socket 8 and type 'Read', disabling... ==21625== ==21625== HEAP SUMMARY: ==21625== in use at exit: 66,428,008 bytes in 539,635 blocks ==21625== total heap usage: 1,551,399 allocs, 1,011,764 frees, 272,421,586 bytes allocated ==21625== ==21625== LEAK SUMMARY: ==21625== definitely lost: 2,104 bytes in 30 blocks ==21625== indirectly lost: 4,872 bytes in 104 blocks ==21625== possibly lost: 1,092,700 bytes in 3,921 blocks ==21625== still reachable: 65,328,332 bytes in 535,580 blocks ==21625== of which reachable via heuristic: ==21625== newarray : 31,352 bytes in 763 blocks ==21625== multipleinheritance: 190,840 bytes in 270 blocks ==21625== suppressed: 0 bytes in 0 blocks ==21625== Rerun with --leak-check=full to see details of leaked memory ==21625== ==21625== For counts of detected and suppressed errors, rerun with: -v ==21625== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0) Ah, the issue here is kdevelop(21625)/default unknown: Failed to load item with identity 111 That belongs to the QML/JS plugin (QmlJSNormalDUContext)- did you uninstall/disable that one? I still think we should handle such cases better, somehow... Git commit eaf3739fba2229187938123ec0af7459dad3ad28 by Kevin Funk. Committed on 16/09/2016 at 16:23. Pushed by kfunk into branch '5.0'. Hardening: Fix one of the immediate crashes M +1 -0 language/duchain/topducontextdynamicdata.cpp http://commits.kde.org/kdevplatform/eaf3739fba2229187938123ec0af7459dad3ad28 Well, assuming this particular crash got fixed. Please reopen / open another bug report for any related crashes. |