Summary: | crash on show declaration | ||
---|---|---|---|
Product: | [Applications] kdevelop | Reporter: | Andrea Nicotra <nicotra.andrea> |
Component: | general | Assignee: | kdevelop-bugs-null |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | matej, mgottschlag, mr_screw |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | 4.1.0 | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Andrea Nicotra
2010-09-02 13:01:23 UTC
*** Bug 250390 has been marked as a duplicate of this bug. *** if either of you is able to reproduce it, please run kdevelop in valgrind and give us the log. Run this: kdevelop --session => copy'n'paste the hash for your session. Than do this: KDEV_SESSION=$session valgrind --track-origins=yes kdevelop.bin reproduce the rash and send me the output of valgrind. Short extract from valgrind, cannot reproduce the crash actually (it is still parsing the files in the background however, I'll try again later), the first invalid read with size 1 happened repeatedly and filled my console backlog, I'll probably try to pipe it into a file later. ==8497== Invalid read of size 1 ==8497== at 0x4C2991F: memcpy (mc_replace_strmem.c:497) ==8497== by 0x293CE512: Konsole::TerminalDisplay::updateImage() (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293D0E1D: Konsole::TerminalDisplay::qt_metacall(QMetaObject::Call, int, void**) (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x624BB26: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3280) ==8497== by 0x293A9165: ??? (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x624BB26: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3280) ==8497== by 0x2937B59D: Konsole::Emulation::showBulk() (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x2937B7B2: Konsole::Emulation::qt_metacall(QMetaObject::Call, int, void**) (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293E5FEF: ??? (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x624BB26: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3280) ==8497== by 0x62458F8: QObject::event(QEvent*) (qobject.cpp:1183) ==8497== by 0x671F04B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4396) ==8497== Address 0x26982329 is 921 bytes inside a block of size 960 free'd ==8497== at 0x4C276FF: operator delete[](void*) (vg_replace_malloc.c:409) ==8497== by 0x293A962F: ??? (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293D096C: Konsole::TerminalDisplay::processFilters() (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293AAA59: Konsole::Session::updateTerminalSize() (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293B0158: Konsole::Session::qt_metacall(QMetaObject::Call, int, void**) (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x624BB26: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3280) ==8497== by 0x293C8C6E: Konsole::TerminalDisplay::changedContentSizeSignal(int, int) (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293CDC42: Konsole::TerminalDisplay::updateImageSize() (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293CE895: Konsole::TerminalDisplay::updateImage() (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293D0E1D: Konsole::TerminalDisplay::qt_metacall(QMetaObject::Call, int, void**) (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x624BB26: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3280) ==8497== by 0x293A9165: ??? (in /usr/lib/libkonsoleprivate.so) ==8497== ==8497== Invalid read of size 1 ==8497== at 0x4C2992A: memcpy (mc_replace_strmem.c:497) ==8497== by 0x293CE512: Konsole::TerminalDisplay::updateImage() (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293D0E1D: Konsole::TerminalDisplay::qt_metacall(QMetaObject::Call, int, void**) (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x624BB26: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3280) ==8497== by 0x293A9165: ??? (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x624BB26: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3280) ==8497== by 0x2937B59D: Konsole::Emulation::showBulk() (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x2937B7B2: Konsole::Emulation::qt_metacall(QMetaObject::Call, int, void**) (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293E5FEF: ??? (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x624BB26: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3280) ==8497== by 0x62458F8: QObject::event(QEvent*) (qobject.cpp:1183) ==8497== by 0x671F04B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4396) ==8497== Address 0x26982328 is 920 bytes inside a block of size 960 free'd ==8497== at 0x4C276FF: operator delete[](void*) (vg_replace_malloc.c:409) ==8497== by 0x293A962F: ??? (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293D096C: Konsole::TerminalDisplay::processFilters() (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293AAA59: Konsole::Session::updateTerminalSize() (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293B0158: Konsole::Session::qt_metacall(QMetaObject::Call, int, void**) (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x624BB26: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3280) ==8497== by 0x293C8C6E: Konsole::TerminalDisplay::changedContentSizeSignal(int, int) (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293CDC42: Konsole::TerminalDisplay::updateImageSize() (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293CE895: Konsole::TerminalDisplay::updateImage() (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x293D0E1D: Konsole::TerminalDisplay::qt_metacall(QMetaObject::Call, int, void**) (in /usr/lib/libkonsoleprivate.so) ==8497== by 0x624BB26: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3280) ==8497== by 0x293A9165: ??? (in /usr/lib/libkonsoleprivate.so) ==8497== QFSFileEngine::map: Mapping a file beyond its size is not portable Object::disconnect: Unexpected null parameter Object::disconnect: Unexpected null parameter kdevelop(8497)/kdevplatform (language) KDevelop::ClassFunctionDeclaration::setAbstractType: WARNING: Non-function type assigned to function declaration Object::disconnect: Unexpected null parameter ==8497== Thread 2: ==8497== Syscall param write(buf) points to uninitialised byte(s) ==8497== at 0x762C76D: ??? (syscall-template.S:82) ==8497== by 0x6203FA6: QFSFileEnginePrivate::writeFdFh(char const*, long long) (qcore_unix_p.h:262) ==8497== by 0x61C342C: QFile::flush() (qfile.cpp:1347) ==8497== by 0x61C419F: QFile::size() const (qfile.cpp:144) ==8497== by 0xAB58075: KDevelop::TopDUContextDynamicData::store() (topducontextdynamicdata.cpp:573) ==8497== by 0xAB2B811: KDevelop::DUChainPrivate::doMoreCleanup(int, bool) (duchain.cpp:752) ==8497== by 0xAB2CC83: KDevelop::DUChainPrivate::CleanupThread::run() (duchain.cpp:294) ==8497== by 0x614027D: QThreadPrivate::start(void*) (qthread_unix.cpp:266) ==8497== by 0x78DE970: start_thread (pthread_create.c:304) ==8497== by 0x763A92C: clone (clone.S:112) ==8497== Address 0x3785887b is 1,019 bytes inside a block of size 32,768 alloc'd ==8497== at 0x4C2815C: malloc (vg_replace_malloc.c:236) ==8497== by 0x6142C17: QByteArray::realloc(int) (qbytearray.cpp:1421) ==8497== by 0x6143088: QByteArray::resize(int) (qbytearray.cpp:1389) ==8497== by 0x61C591E: QRingBuffer::reserve(int) (qringbuffer_p.h:158) ==8497== by 0x61C3E7A: QFile::writeData(char const*, long long) (qfile.cpp:1646) ==8497== by 0x61C94A6: QIODevice::write(char const*, long long) (qiodevice.cpp:1359) ==8497== by 0xAB57E91: KDevelop::TopDUContextDynamicData::store() (topducontextdynamicdata.cpp:556) ==8497== by 0xAB2B811: KDevelop::DUChainPrivate::doMoreCleanup(int, bool) (duchain.cpp:752) ==8497== by 0xAB2CC83: KDevelop::DUChainPrivate::CleanupThread::run() (duchain.cpp:294) ==8497== by 0x614027D: QThreadPrivate::start(void*) (qthread_unix.cpp:266) ==8497== by 0x78DE970: start_thread (pthread_create.c:304) ==8497== by 0x763A92C: clone (clone.S:112) ==8497== Uninitialised value was created by a heap allocation ==8497== at 0x4C28973: operator new(unsigned long) (vg_replace_malloc.c:261) ==8497== by 0xAB67A4A: KDevelop::ClassFunctionDeclaration::ClassFunctionDeclaration(KDevelop::SimpleRange const&, KDevelop::DUContext*) (classfunctiondeclaration.cpp:53) ==8497== by 0x3033FBDA: ??? (in /usr/lib/libkdev4cppduchain.so) ==8497== by 0x3034DA86: DeclarationBuilder::openFunctionDeclaration(NameAST*, AST*) (in /usr/lib/libkdev4cppduchain.so) ==8497== by 0x3035160B: DeclarationBuilder::visitDeclarator(DeclaratorAST*) (in /usr/lib/libkdev4cppduchain.so) ==8497== by 0x303246A7: ContextBuilder::visitInitDeclarator(InitDeclaratorAST*) (in /usr/lib/libkdev4cppduchain.so) ==8497== by 0x30338548: DeclarationBuilder::visitInitDeclarator(InitDeclaratorAST*) (in /usr/lib/libkdev4cppduchain.so) ==8497== by 0x3033603B: DeclarationBuilder::visitFunctionDeclaration(FunctionDefinitionAST*) (in /usr/lib/libkdev4cppduchain.so) ==8497== by 0x303249DE: ContextBuilder::visitFunctionDefinition(FunctionDefinitionAST*) (in /usr/lib/libkdev4cppduchain.so) ==8497== by 0x30608635: ??? (in /usr/lib/libkdev4cppparser.so) ==8497== by 0x30322E6F: ContextBuilder::visitClassSpecifier(ClassSpecifierAST*) (in /usr/lib/libkdev4cppduchain.so) ==8497== by 0x30362816: TypeBuilder::visitClassSpecifier(ClassSpecifierAST*) (in /usr/lib/libkdev4cppduchain.so) ==8497== Object::disconnect: Unexpected null parameter ==8497== Syscall param write(buf) points to uninitialised byte(s) ==8497== at 0x762C76D: ??? (syscall-template.S:82) ==8497== by 0x6203FA6: QFSFileEnginePrivate::writeFdFh(char const*, long long) (qcore_unix_p.h:262) ==8497== by 0x61C342C: QFile::flush() (qfile.cpp:1347) ==8497== by 0x61C3E5E: QFile::writeData(char const*, long long) (qfile.cpp:1628) ==8497== by 0x61C94A6: QIODevice::write(char const*, long long) (qiodevice.cpp:1359) ==8497== by 0xAB5804B: KDevelop::TopDUContextDynamicData::store() (topducontextdynamicdata.cpp:569) ==8497== by 0xAB2B811: KDevelop::DUChainPrivate::doMoreCleanup(int, bool) (duchain.cpp:752) ==8497== by 0xAB2CC83: KDevelop::DUChainPrivate::CleanupThread::run() (duchain.cpp:294) ==8497== by 0x614027D: QThreadPrivate::start(void*) (qthread_unix.cpp:266) ==8497== by 0x78DE970: start_thread (pthread_create.c:304) ==8497== by 0x763A92C: clone (clone.S:112) ==8497== Address 0x36828265 is 9,957 bytes inside a block of size 32,768 alloc'd ==8497== at 0x4C2815C: malloc (vg_replace_malloc.c:236) ==8497== by 0x6142C17: QByteArray::realloc(int) (qbytearray.cpp:1421) ==8497== by 0x6143088: QByteArray::resize(int) (qbytearray.cpp:1389) ==8497== by 0x61C591E: QRingBuffer::reserve(int) (qringbuffer_p.h:158) ==8497== by 0x61C3E7A: QFile::writeData(char const*, long long) (qfile.cpp:1646) ==8497== by 0x61C94A6: QIODevice::write(char const*, long long) (qiodevice.cpp:1359) ==8497== by 0xAB5804B: KDevelop::TopDUContextDynamicData::store() (topducontextdynamicdata.cpp:569) ==8497== by 0xAB2B811: KDevelop::DUChainPrivate::doMoreCleanup(int, bool) (duchain.cpp:752) ==8497== by 0xAB2CC83: KDevelop::DUChainPrivate::CleanupThread::run() (duchain.cpp:294) ==8497== by 0x614027D: QThreadPrivate::start(void*) (qthread_unix.cpp:266) ==8497== by 0x78DE970: start_thread (pthread_create.c:304) ==8497== by 0x763A92C: clone (clone.S:112) ==8497== Uninitialised value was created by a heap allocation ==8497== at 0x4C28973: operator new(unsigned long) (vg_replace_malloc.c:261) ==8497== by 0xAB87CEA: KDevelop::FunctionDeclaration::FunctionDeclaration(KDevelop::SimpleRange const&, KDevelop::DUContext*) (functiondeclaration.cpp:45) ==8497== by 0x3033DCBA: ??? (in /usr/lib/libkdev4cppduchain.so) ==8497== by 0x3034DA4F: DeclarationBuilder::openFunctionDeclaration(NameAST*, AST*) (in /usr/lib/libkdev4cppduchain.so) ==8497== by 0x3035160B: DeclarationBuilder::visitDeclarator(DeclaratorAST*) (in /usr/lib/libkdev4cppduchain.so) ==8497== by 0x303246A7: ContextBuilder::visitInitDeclarator(InitDeclaratorAST*) (in /usr/lib/libkdev4cppduchain.so) ==8497== by 0x30338548: DeclarationBuilder::visitInitDeclarator(InitDeclaratorAST*) (in /usr/lib/libkdev4cppduchain.so) ==8497== by 0x3036155C: TypeBuilder::visitSimpleDeclaration(SimpleDeclarationAST*) (in /usr/lib/libkdev4cppduchain.so) ==8497== by 0x30335DC4: DeclarationBuilder::visitSimpleDeclaration(SimpleDeclarationAST*) (in /usr/lib/libkdev4cppduchain.so) ==8497== by 0x30608635: ??? (in /usr/lib/libkdev4cppparser.so) ==8497== by 0x30607B0D: DefaultVisitor::visitLinkageSpecification(LinkageSpecificationAST*) (in /usr/lib/libkdev4cppparser.so) ==8497== by 0x30608635: ??? (in /usr/lib/libkdev4cppparser.so) ==8497== ==8497== Syscall param write(buf) points to uninitialised byte(s) ==8497== at 0x762C76D: ??? (syscall-template.S:82) ==8497== by 0x6203FA6: QFSFileEnginePrivate::writeFdFh(char const*, long long) (qcore_unix_p.h:262) ==8497== by 0x61C3E22: QFile::writeData(char const*, long long) (qfile.cpp:1635) ==8497== by 0x61C94A6: QIODevice::write(char const*, long long) (qiodevice.cpp:1359) ==8497== by 0xAAE708C: KDevelop::ItemRepository<KDevelop::FileModificationPair, KDevelop::FileModificationPairRequest, true, false, 0u, 1048576u>::store() (itemrepository.h:408) ==8497== by 0xABE28E3: KDevelop::ItemRepositoryRegistry::store() (itemrepository.cpp:344) ==8497== by 0xAB2C16D: KDevelop::DUChainPrivate::doMoreCleanup(int, bool) (duchain.cpp:856) ==8497== by 0xAB2CC83: KDevelop::DUChainPrivate::CleanupThread::run() (duchain.cpp:294) ==8497== by 0x614027D: QThreadPrivate::start(void*) (qthread_unix.cpp:266) ==8497== by 0x78DE970: start_thread (pthread_create.c:304) ==8497== by 0x763A92C: clone (clone.S:112) ==8497== Address 0x1cf0b6a8 is 3,752 bytes inside a block of size 65,536 alloc'd ==8497== at 0x4C285EB: operator new[](unsigned long) (vg_replace_malloc.c:305) ==8497== by 0xAAE6109: KDevelop::Bucket<KDevelop::FileModificationPair, KDevelop::FileModificationPairRequest, true, 0u>::initialize(unsigned int) (itemrepository.h:343) ==8497== by 0xAAE839E: KDevelop::ItemRepository<KDevelop::FileModificationPair, KDevelop::FileModificationPairRequest, true, false, 0u, 1048576u>::initializeBucket(unsigned int) const (itemrepository.h:2528) ==8497== by 0xAAEA95A: KDevelop::ItemRepository<KDevelop::FileModificationPair, KDevelop::FileModificationPairRequest, true, false, 0u, 1048576u>::index(KDevelop::FileModificationPairRequest const&) (itemrepository.h:1425) ==8497== by 0xAAE4D86: KDevelop::ModificationRevisionSet::addModificationRevision(KDevelop::IndexedString const&, KDevelop::ModificationRevision const&) (modificationrevisionset.cpp:144) ==8497== by 0xAB852CB: KDevelop::ParsingEnvironmentFile::addModificationRevision(KDevelop::IndexedString const&, KDevelop::ModificationRevision const&) (parsingenvironment.cpp:332) ==8497== by 0xAB86A9C: KDevelop::ParsingEnvironmentFile::ParsingEnvironmentFile(KDevelop::IndexedString const&) (parsingenvironment.cpp:134) ==8497== by 0x1ECA7BD1: ??? (in /usr/lib/kde4/kdevcmakemanager.so) ==8497== by 0x1ECAF2FE: ??? (in /usr/lib/kde4/kdevcmakemanager.so) ==8497== by 0xA616420: KDevelop::ImportProjectJobPrivate::import(KDevelop::ProjectFolderItem*) (importprojectjob.cpp:53) ==8497== by 0xA616295: QtConcurrent::RunFunctionTask<void>::run() (qtconcurrentrunbase.h:120) ==8497== by 0x6135D01: QThreadPoolThread::run() (qthreadpool.cpp:106) ==8497== Uninitialised value was created by a heap allocation ==8497== at 0x4C285EB: operator new[](unsigned long) (vg_replace_malloc.c:305) ==8497== by 0xAAE6109: KDevelop::Bucket<KDevelop::FileModificationPair, KDevelop::FileModificationPairRequest, true, 0u>::initialize(unsigned int) (itemrepository.h:343) ==8497== by 0xAAE839E: KDevelop::ItemRepository<KDevelop::FileModificationPair, KDevelop::FileModificationPairRequest, true, false, 0u, 1048576u>::initializeBucket(unsigned int) const (itemrepository.h:2528) ==8497== by 0xAAEA95A: KDevelop::ItemRepository<KDevelop::FileModificationPair, KDevelop::FileModificationPairRequest, true, false, 0u, 1048576u>::index(KDevelop::FileModificationPairRequest const&) (itemrepository.h:1425) ==8497== by 0xAAE4D86: KDevelop::ModificationRevisionSet::addModificationRevision(KDevelop::IndexedString const&, KDevelop::ModificationRevision const&) (modificationrevisionset.cpp:144) ==8497== by 0xAB852CB: KDevelop::ParsingEnvironmentFile::addModificationRevision(KDevelop::IndexedString const&, KDevelop::ModificationRevision const&) (parsingenvironment.cpp:332) ==8497== by 0xAB86A9C: KDevelop::ParsingEnvironmentFile::ParsingEnvironmentFile(KDevelop::IndexedString const&) (parsingenvironment.cpp:134) ==8497== by 0x1ECA7BD1: ??? (in /usr/lib/kde4/kdevcmakemanager.so) ==8497== by 0x1ECAF2FE: ??? (in /usr/lib/kde4/kdevcmakemanager.so) ==8497== by 0xA616420: KDevelop::ImportProjectJobPrivate::import(KDevelop::ProjectFolderItem*) (importprojectjob.cpp:53) ==8497== by 0xA616295: QtConcurrent::RunFunctionTask<void>::run() (qtconcurrentrunbase.h:120) ==8497== by 0x6135D01: QThreadPoolThread::run() (qthreadpool.cpp:106) ==8497== Object::disconnect: Unexpected null parameter Object::disconnect: Unexpected null parameter Object::disconnect: Unexpected null parameter Object::disconnect: Unexpected null parameter Object::disconnect: Unexpected null parameter Object::disconnect: Unexpected null parameter kdevelop(8497)/kdeui (kdelibs): No such XML file "/home/mathias/.kde/share/apps/kdevelop/katepartui.rc" ==8497== Thread 1: ==8497== Invalid write of size 1 ==8497== at 0x6B7F8D1: QMenuPrivate::activateCausedStack(QList<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) (qobject_p.h:281) ==8497== by 0x6B852B1: QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (qmenu.cpp:1085) ==8497== by 0x5D8DACD: KMenu::mouseReleaseEvent(QMouseEvent*) (kmenu.cpp:471) ==8497== by 0x6774D0D: QWidget::event(QEvent*) (qwidget.cpp:8158) ==8497== by 0x6B8743A: QMenu::event(QEvent*) (qmenu.cpp:2410) ==8497== by 0x671F04B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4396) ==8497== by 0x672537D: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3959) ==8497== by 0x5CACF15: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:310) ==8497== by 0x6233CDB: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:732) ==8497== by 0x6723E2D: QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) (qcoreapplication.h:215) ==8497== by 0x67A75AC: QETWidget::translateMouseEvent(_XEvent const*) (qapplication_x11.cpp:4337) ==8497== by 0x67A5A4B: QApplication::x11ProcessEvent(_XEvent*) (qapplication_x11.cpp:3536) ==8497== Address 0x32b46459 is 537 bytes inside a block of size 736 free'd ==8497== at 0x4C27A83: operator delete(void*) (vg_replace_malloc.c:387) ==8497== by 0x624D46B: QObject::~QObject() (qscopedpointer.h:62) ==8497== by 0x6779F69: QWidget::~QWidget() (qwidget.cpp:1580) ==8497== by 0x5D8E20A: KMenu::~KMenu() (kmenu.cpp:180) ==8497== by 0x5DC64FA: KXMLGUIBuilder::removeContainer(QWidget*, QWidget*, QDomElement&, QAction*) (kxmlguibuilder.cpp:273) ==8497== by 0x5DDBF16: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:347) ==8497== by 0x5DDC079: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371) ==8497== by 0x5DDBAAF: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326) ==8497== by 0x5DD645C: KXMLGUIFactory::removeClient(KXMLGUIClient*) (kxmlguifactory.cpp:430) ==8497== by 0x5DD62E9: KXMLGUIFactory::removeClient(KXMLGUIClient*) (kxmlguifactory.cpp:406) ==8497== by 0x558E885: KDevelop::MainWindowPrivate::mergeView(Sublime::View*) (mainwindow_p.cpp:184) ==8497== by 0x558EC21: KDevelop::MainWindowPrivate::changeActiveView(Sublime::View*) (mainwindow_p.cpp:151) ==8497== ==8497== Invalid read of size 8 ==8497== at 0x6B852BC: QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (qpointer.h:68) ==8497== by 0x5D8DACD: KMenu::mouseReleaseEvent(QMouseEvent*) (kmenu.cpp:471) ==8497== by 0x6774D0D: QWidget::event(QEvent*) (qwidget.cpp:8158) ==8497== by 0x6B8743A: QMenu::event(QEvent*) (qmenu.cpp:2410) ==8497== by 0x671F04B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4396) ==8497== by 0x672537D: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3959) ==8497== by 0x5CACF15: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:310) ==8497== by 0x6233CDB: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:732) ==8497== by 0x6723E2D: QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) (qcoreapplication.h:215) ==8497== by 0x67A75AC: QETWidget::translateMouseEvent(_XEvent const*) (qapplication_x11.cpp:4337) ==8497== by 0x67A5A4B: QApplication::x11ProcessEvent(_XEvent*) (qapplication_x11.cpp:3536) ==8497== by 0x67D1EF1: x11EventSourceDispatch(_GSource*, int (*)(void*), void*) (qguieventdispatcher_glib.cpp:146) ==8497== Address 0x32b46508 is 712 bytes inside a block of size 736 free'd ==8497== at 0x4C27A83: operator delete(void*) (vg_replace_malloc.c:387) ==8497== by 0x624D46B: QObject::~QObject() (qscopedpointer.h:62) ==8497== by 0x6779F69: QWidget::~QWidget() (qwidget.cpp:1580) ==8497== by 0x5D8E20A: KMenu::~KMenu() (kmenu.cpp:180) ==8497== by 0x5DC64FA: KXMLGUIBuilder::removeContainer(QWidget*, QWidget*, QDomElement&, QAction*) (kxmlguibuilder.cpp:273) ==8497== by 0x5DDBF16: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:347) ==8497== by 0x5DDC079: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371) ==8497== by 0x5DDBAAF: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326) ==8497== by 0x5DD645C: KXMLGUIFactory::removeClient(KXMLGUIClient*) (kxmlguifactory.cpp:430) ==8497== by 0x5DD62E9: KXMLGUIFactory::removeClient(KXMLGUIClient*) (kxmlguifactory.cpp:406) ==8497== by 0x558E885: KDevelop::MainWindowPrivate::mergeView(Sublime::View*) (mainwindow_p.cpp:184) ==8497== by 0x558EC21: KDevelop::MainWindowPrivate::changeActiveView(Sublime::View*) (mainwindow_p.cpp:151) ==8497== ==8497== Invalid read of size 8 ==8497== at 0x6246AF9: QMetaObject::changeGuard(QObject**, QObject*) (qobject.cpp:457) ==8497== by 0x6B852D5: QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (qpointer.h:68) ==8497== by 0x5D8DACD: KMenu::mouseReleaseEvent(QMouseEvent*) (kmenu.cpp:471) ==8497== by 0x6774D0D: QWidget::event(QEvent*) (qwidget.cpp:8158) ==8497== by 0x6B8743A: QMenu::event(QEvent*) (qmenu.cpp:2410) ==8497== by 0x671F04B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4396) ==8497== by 0x672537D: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3959) ==8497== by 0x5CACF15: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:310) ==8497== by 0x6233CDB: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:732) ==8497== by 0x6723E2D: QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) (qcoreapplication.h:215) ==8497== by 0x67A75AC: QETWidget::translateMouseEvent(_XEvent const*) (qapplication_x11.cpp:4337) ==8497== by 0x67A5A4B: QApplication::x11ProcessEvent(_XEvent*) (qapplication_x11.cpp:3536) ==8497== Address 0x32b46508 is 712 bytes inside a block of size 736 free'd ==8497== at 0x4C27A83: operator delete(void*) (vg_replace_malloc.c:387) ==8497== by 0x624D46B: QObject::~QObject() (qscopedpointer.h:62) ==8497== by 0x6779F69: QWidget::~QWidget() (qwidget.cpp:1580) ==8497== by 0x5D8E20A: KMenu::~KMenu() (kmenu.cpp:180) ==8497== by 0x5DC64FA: KXMLGUIBuilder::removeContainer(QWidget*, QWidget*, QDomElement&, QAction*) (kxmlguibuilder.cpp:273) ==8497== by 0x5DDBF16: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:347) ==8497== by 0x5DDC079: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371) ==8497== by 0x5DDBAAF: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326) ==8497== by 0x5DD645C: KXMLGUIFactory::removeClient(KXMLGUIClient*) (kxmlguifactory.cpp:430) ==8497== by 0x5DD62E9: KXMLGUIFactory::removeClient(KXMLGUIClient*) (kxmlguifactory.cpp:406) ==8497== by 0x558E885: KDevelop::MainWindowPrivate::mergeView(Sublime::View*) (mainwindow_p.cpp:184) ==8497== by 0x558EC21: KDevelop::MainWindowPrivate::changeActiveView(Sublime::View*) (mainwindow_p.cpp:151) ==8497== ==8497== Invalid write of size 8 ==8497== at 0x6246C0F: QMetaObject::changeGuard(QObject**, QObject*) (qobject.cpp:472) ==8497== by 0x6B852D5: QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (qpointer.h:68) ==8497== by 0x5D8DACD: KMenu::mouseReleaseEvent(QMouseEvent*) (kmenu.cpp:471) ==8497== by 0x6774D0D: QWidget::event(QEvent*) (qwidget.cpp:8158) ==8497== by 0x6B8743A: QMenu::event(QEvent*) (qmenu.cpp:2410) ==8497== by 0x671F04B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4396) ==8497== by 0x672537D: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3959) ==8497== by 0x5CACF15: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:310) ==8497== by 0x6233CDB: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:732) ==8497== by 0x6723E2D: QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) (qcoreapplication.h:215) ==8497== by 0x67A75AC: QETWidget::translateMouseEvent(_XEvent const*) (qapplication_x11.cpp:4337) ==8497== by 0x67A5A4B: QApplication::x11ProcessEvent(_XEvent*) (qapplication_x11.cpp:3536) ==8497== Address 0x32b46508 is 712 bytes inside a block of size 736 free'd ==8497== at 0x4C27A83: operator delete(void*) (vg_replace_malloc.c:387) ==8497== by 0x624D46B: QObject::~QObject() (qscopedpointer.h:62) ==8497== by 0x6779F69: QWidget::~QWidget() (qwidget.cpp:1580) ==8497== by 0x5D8E20A: KMenu::~KMenu() (kmenu.cpp:180) ==8497== by 0x5DC64FA: KXMLGUIBuilder::removeContainer(QWidget*, QWidget*, QDomElement&, QAction*) (kxmlguibuilder.cpp:273) ==8497== by 0x5DDBF16: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:347) ==8497== by 0x5DDC079: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371) ==8497== by 0x5DDBAAF: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326) ==8497== by 0x5DD645C: KXMLGUIFactory::removeClient(KXMLGUIClient*) (kxmlguifactory.cpp:430) ==8497== by 0x5DD62E9: KXMLGUIFactory::removeClient(KXMLGUIClient*) (kxmlguifactory.cpp:406) ==8497== by 0x558E885: KDevelop::MainWindowPrivate::mergeView(Sublime::View*) (mainwindow_p.cpp:184) ==8497== by 0x558EC21: KDevelop::MainWindowPrivate::changeActiveView(Sublime::View*) (mainwindow_p.cpp:151) ==8497== Object::disconnect: Unexpected null parameter Object::disconnect: Unexpected null parameter kdevelop(8497)/kdeui (kdelibs): No such XML file "/home/mathias/.kde/share/apps/kdevelop/katepartui.rc" Object::disconnect: Unexpected null parameter Object::disconnect: Unexpected null parameter I have reproduce it, with valgrind here the valgrind output: kdevelop(8654)/kdevplatform (shell) KDevelop::RunController::contextMenuExtension: connected launchmapper: true kdevelop(8654)/kdevelop (cpp support) UIBlockTester::lockup: ui is blocking kdevelop(8654)/kdevelop (cpp support) UIBlockTester::lockup: ui is blocking kdevelop(8654)/kdevelop (cpp support) UIBlockTester::lockup: ui is blocking kdevelop(8654)/kdevelop (cpp support) UIBlockTester::lockup: ui is blocking kdevelop(8654)/kdevelop (cpp support) UIBlockTester::lockup: ui is blocking kdevelop(8654)/kdevelop (cpp support) UIBlockTester::lockup: ui is blocking kdevelop(8654)/kdevelop (cpp support) UIBlockTester::lockup: ui is blocking ==8654== Invalid read of size 8 ==8654== at 0xAB8C0C0: KDevelop::DUChainPointerData::base() const (in /usr/lib/libkdevplatformlanguage.so.1.0.0) ==8654== by 0x3398632B: ??? (in /usr/lib/kde4/kdevclassbrowser.so) ==8654== by 0x3398696B: ??? (in /usr/lib/kde4/kdevclassbrowser.so) ==8654== by 0x6272DA6: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3280) ==8654== by 0x6750081: QAction::triggered(bool) (moc_qaction.cpp:263) ==8654== by 0x675177A: QAction::activate(QAction::ActionEvent) (qaction.cpp:1256) ==8654== by 0x6BB2EC0: QMenuPrivate::activateCausedStack(QList<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) (qmenu.cpp:993) ==8654== by 0x6BB8869: QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (qmenu.cpp:1085) ==8654== by 0x5DAFEBD: KMenu::mouseReleaseEvent(QMouseEvent*) (kmenu.cpp:471) ==8654== by 0x67AD16D: QWidget::event(QEvent*) (qwidget.cpp:8158) ==8654== by 0x6BBA9EA: QMenu::event(QEvent*) (qmenu.cpp:2410) ==8654== by 0x675776B: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4396) ==8654== Address 0x8 is not stack'd, malloc'd or (recently) free'd ==8654== QSocketNotifier: Invalid socket 23 and type 'Read', disabling... ==8654== Thread 6: ==8654== Invalid read of size 2 ==8654== at 0x62875F1: socketNotifierSourceCheck(_GSource*) (qeventdispatcher_glib.cpp:92) ==8654== by 0xDDFDB09: g_main_context_check (in /lib/libglib-2.0.so.0.2400.1) ==8654== by 0xDDFE4C2: ??? (in /lib/libglib-2.0.so.0.2400.1) ==8654== by 0xDDFE8FB: g_main_context_iteration (in /lib/libglib-2.0.so.0.2400.1) ==8654== by 0x6287182: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:415) ==8654== by 0x6259DD1: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149) ==8654== by 0x625A1BB: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:201) ==8654== by 0x616536C: QThread::exec() (qthread.cpp:490) ==8654== by 0x6239B47: QInotifyFileSystemWatcherEngine::run() (qfilesystemwatcher_inotify.cpp:248) ==8654== by 0x61682ED: QThreadPrivate::start(void*) (qthread_unix.cpp:266) ==8654== by 0x791B9C9: start_thread (pthread_create.c:300) ==8654== by 0x76786FC: clone (clone.S:112) ==8654== Address 0x1ede3136 is 6 bytes inside a block of size 16 free'd ==8654== at 0x4C27DCF: operator delete(void*) (vg_replace_malloc.c:387) ==8654== by 0x62875F0: socketNotifierSourceCheck(_GSource*) (qeventdispatcher_glib.cpp:92) ==8654== by 0xDDFDB09: g_main_context_check (in /lib/libglib-2.0.so.0.2400.1) ==8654== by 0xDDFE4C2: ??? (in /lib/libglib-2.0.so.0.2400.1) ==8654== by 0xDDFE8FB: g_main_context_iteration (in /lib/libglib-2.0.so.0.2400.1) ==8654== by 0x6287182: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:415) ==8654== by 0x6259DD1: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149) ==8654== by 0x625A1BB: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:201) ==8654== by 0x616536C: QThread::exec() (qthread.cpp:490) ==8654== by 0x6239B47: QInotifyFileSystemWatcherEngine::run() (qfilesystemwatcher_inotify.cpp:248) ==8654== by 0x61682ED: QThreadPrivate::start(void*) (qthread_unix.cpp:266) ==8654== by 0x791B9C9: start_thread (pthread_create.c:300) ==8654== ==8654== Invalid read of size 2 ==8654== at 0x62875F5: socketNotifierSourceCheck(_GSource*) (qeventdispatcher_glib.cpp:83) ==8654== by 0xDDFDB09: g_main_context_check (in /lib/libglib-2.0.so.0.2400.1) ==8654== by 0xDDFE4C2: ??? (in /lib/libglib-2.0.so.0.2400.1) ==8654== by 0xDDFE8FB: g_main_context_iteration (in /lib/libglib-2.0.so.0.2400.1) ==8654== by 0x6287182: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:415) ==8654== by 0x6259DD1: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149) ==8654== by 0x625A1BB: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:201) ==8654== by 0x616536C: QThread::exec() (qthread.cpp:490) ==8654== by 0x6239B47: QInotifyFileSystemWatcherEngine::run() (qfilesystemwatcher_inotify.cpp:248) ==8654== by 0x61682ED: QThreadPrivate::start(void*) (qthread_unix.cpp:266) ==8654== by 0x791B9C9: start_thread (pthread_create.c:300) ==8654== by 0x76786FC: clone (clone.S:112) ==8654== Address 0x1ede3134 is 4 bytes inside a block of size 16 free'd ==8654== at 0x4C27DCF: operator delete(void*) (vg_replace_malloc.c:387) ==8654== by 0x62875F0: socketNotifierSourceCheck(_GSource*) (qeventdispatcher_glib.cpp:92) ==8654== by 0xDDFDB09: g_main_context_check (in /lib/libglib-2.0.so.0.2400.1) ==8654== by 0xDDFE4C2: ??? (in /lib/libglib-2.0.so.0.2400.1) ==8654== by 0xDDFE8FB: g_main_context_iteration (in /lib/libglib-2.0.so.0.2400.1) ==8654== by 0x6287182: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:415) ==8654== by 0x6259DD1: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149) ==8654== by 0x625A1BB: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:201) ==8654== by 0x616536C: QThread::exec() (qthread.cpp:490) ==8654== by 0x6239B47: QInotifyFileSystemWatcherEngine::run() (qfilesystemwatcher_inotify.cpp:248) ==8654== by 0x61682ED: QThreadPrivate::start(void*) (qthread_unix.cpp:266) ==8654== by 0x791B9C9: start_thread (pthread_create.c:300) ==8654== kdevelop(8654)/kdevelop (cpp support) UIBlockTester::lockup: ui is blocking QSocketNotifier: Invalid socket 11 and type 'Read', disabling... QSocketNotifier: Invalid socket 46 and type 'Read', disabling... QSocketNotifier: Invalid socket 64 and type 'Read', disabling... kdevelop(8654)/kdevelop (cpp support) UIBlockTester::lockup: ui is blocking kdevelop(8654)/kdevelop (cpp support) UIBlockTester::lockup: ui is blocking kdevelop(8654)/kdevelop (cpp support) UIBlockTester::lockup: ui is blocking kdevelop(8654)/kdevelop (cpp support) UIBlockTester::lockup: ui is blocking kdevelop(8654)/kdevelop (cpp support) UIBlockTester::lockup: ui is blocking kdevelop(8654)/kdevelop (cpp support) UIBlockTester::lockup: ui is blocking KCrash: Application 'kdevelop.bin' crashing... If this is *still* reproducible, please do me yet another favor and add the --num-callers=50 option to your valgrind invokation, than repost the log. Btw. Andrea: Your log shows something unrelated to this crash. Mathias log otoh is quite helpful as it shows the reason, but is lacking a few stack frames to find the real culprit. Mathias kindly provided me with more valgrind log goodness: kdevelop(14178)/kdeui (kdelibs): No such XML file "/home/mathias/.kde/share/apps/kdevelop/katepartui.rc" ==14178== Thread 1: ==14178== Invalid write of size 1 ==14178== at 0x6B7FB71: QMenuPrivate::activateCausedStack(QList<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) (qobject_p.h:281) ==14178== by 0x6B85551: QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (qmenu.cpp:1085) ==14178== by 0x5D8DCED: KMenu::mouseReleaseEvent(QMouseEvent*) (kmenu.cpp:471) ==14178== by 0x677504D: QWidget::event(QEvent*) (qwidget.cpp:8187) ==14178== by 0x6B876DA: QMenu::event(QEvent*) (qmenu.cpp:2410) ==14178== by 0x671EFDB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4396) ==14178== by 0x672530D: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3959) ==14178== by 0x5CAD155: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:310) ==14178== by 0x6233CDB: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:732) ==14178== by 0x6723DBD: QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) (qcoreapplication.h:215) ==14178== by 0x67A77BC: QETWidget::translateMouseEvent(_XEvent const*) (qapplication_x11.cpp:4337) ==14178== by 0x67A5C5B: QApplication::x11ProcessEvent(_XEvent*) (qapplication_x11.cpp:3536) ==14178== by 0x67D2101: x11EventSourceDispatch(_GSource*, int (*)(void*), void*) (qguieventdispatcher_glib.cpp:146) ==14178== by 0xDD927E1: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2515.0) ==14178== by 0xDD96747: ??? (in /lib/libglib-2.0.so.0.2515.0) ==14178== by 0xDD968FB: g_main_context_iteration (in /lib/libglib-2.0.so.0.2515.0) ==14178== by 0x6260192: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventdispatcher_glib.cpp:415) ==14178== by 0x67D1A6D: QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qguieventdispatcher_glib.cpp:204) ==14178== by 0x6232A01: QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:149) ==14178== by 0x6232DEB: QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (qeventloop.cpp:201) ==14178== by 0x6236EBA: QCoreApplication::exec() (qcoreapplication.cpp:1009) ==14178== by 0x4085F6: ??? (in /usr/bin/kdevelop.bin) ==14178== by 0x7573D8D: (below main) (libc-start.c:226) ==14178== Address 0x26f8e8f9 is 537 bytes inside a block of size 736 free'd ==14178== at 0x4C27A83: operator delete(void*) (vg_replace_malloc.c:387) ==14178== by 0x624D46B: QObject::~QObject() (qscopedpointer.h:62) ==14178== by 0x677A22A: QWidget::~QWidget() (qwidget.cpp:1609) ==14178== by 0x5D8E42A: KMenu::~KMenu() (kmenu.cpp:180) ==14178== by 0x5DC671A: KXMLGUIBuilder::removeContainer(QWidget*, QWidget*, QDomElement&, QAction*) (kxmlguibuilder.cpp:273) ==14178== by 0x5DDC136: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:347) ==14178== by 0x5DDC299: KXMLGUI::ContainerNode::destructChildren(QDomElement const&, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:371) ==14178== by 0x5DDBCCF: KXMLGUI::ContainerNode::destruct(QDomElement, KXMLGUI::BuildState&) (kxmlguifactory_p.cpp:326) ==14178== by 0x5DD667C: KXMLGUIFactory::removeClient(KXMLGUIClient*) (kxmlguifactory.cpp:430) ==14178== by 0x5DD6509: KXMLGUIFactory::removeClient(KXMLGUIClient*) (kxmlguifactory.cpp:406) ==14178== by 0x558EA25: KDevelop::MainWindowPrivate::mergeView(Sublime::View*) (mainwindow_p.cpp:184) ==14178== by 0x558EDC1: KDevelop::MainWindowPrivate::changeActiveView(Sublime::View*) (mainwindow_p.cpp:151) ==14178== by 0x558FF5B: KDevelop::MainWindowPrivate::qt_metacall(QMetaObject::Call, int, void**) (mainwindow_p.moc:131) ==14178== by 0x624BB26: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3280) ==14178== by 0xAEC9361: Sublime::MainWindow::activeViewChanged(Sublime::View*) (in /usr/lib/libsublime.so.1.0.2) ==14178== by 0xAEC6E81: Sublime::Controller::eventFilter(QObject*, QEvent*) (in /usr/lib/libsublime.so.1.0.2) ==14178== by 0x62335CA: QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) (qcoreapplication.cpp:828) ==14178== by 0x671EF55: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4371) ==14178== by 0x6724AEC: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:4277) ==14178== by 0x5CAD155: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:310) ==14178== by 0x6233CDB: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:732) ==14178== by 0x67230B5: QApplicationPrivate::setFocusWidget(QWidget*, Qt::FocusReason) (qapplication.cpp:2189) ==14178== by 0x6770050: QWidget::setFocus(Qt::FocusReason) (qwidget.cpp:6283) ==14178== by 0x675E997: QStackedLayout::setCurrentIndex(int) (qwidget.h:422) ==14178== by 0xAEC3C13: Sublime::Container::setCurrentWidget(QWidget*) (in /usr/lib/libsublime.so.1.0.2) ==14178== by 0xAEC97D5: Sublime::MainWindow::activateView(Sublime::View*) (in /usr/lib/libsublime.so.1.0.2) ==14178== by 0x55BD5BF: KDevelop::DocumentControllerPrivate::openDocumentInternal(KDevelop::IDocument*, KTextEditor::Range const&, QFlags<KDevelop::IDocumentController::DocumentActivation>) (documentcontroller.cpp:357) ==14178== by 0x55BE09F: KDevelop::DocumentControllerPrivate::openDocumentInternal(KUrl const&, QString const&, KTextEditor::Range const&, QString const&, QFlags<KDevelop::IDocumentController::DocumentActivation>) (documentcontroller.cpp:280) ==14178== by 0x55BAE9B: KDevelop::DocumentController::openDocument(KUrl const&, KTextEditor::Range const&, QFlags<KDevelop::IDocumentController::DocumentActivation>, QString const&) (documentcontroller.cpp:551) ==14178== by 0x5313926: KDevelop::IDocumentController::openDocument(KUrl const&, KTextEditor::Cursor const&, QFlags<KDevelop::IDocumentController::DocumentActivation>, QString const&) (idocumentcontroller.cpp:33) ==14178== by 0x26770E2E: ClassBrowserPlugin::openDeclaration() (classbrowserplugin.cpp:225) ==14178== by 0x26771E5D: ClassBrowserPlugin::qt_metacall(QMetaObject::Call, int, void**) (classbrowserplugin.moc:77) ==14178== by 0x624BB26: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3280) ==14178== by 0x6717851: QAction::triggered(bool) (moc_qaction.cpp:263) ==14178== by 0x6718F5A: QAction::activate(QAction::ActionEvent) (qaction.cpp:1256) ==14178== by 0x6B7FB90: QMenuPrivate::activateCausedStack(QList<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) (qmenu.cpp:993) ==14178== by 0x6B85551: QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (qmenu.cpp:1085) ==14178== by 0x5D8DCED: KMenu::mouseReleaseEvent(QMouseEvent*) (kmenu.cpp:471) ==14178== by 0x677504D: QWidget::event(QEvent*) (qwidget.cpp:8187) ==14178== by 0x6B876DA: QMenu::event(QEvent*) (qmenu.cpp:2410) ==14178== by 0x671EFDB: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4396) ==14178== by 0x672530D: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3959) ==14178== by 0x5CAD155: KApplication::notify(QObject*, QEvent*) (kapplication.cpp:310) ==14178== by 0x6233CDB: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:732) ==14178== by 0x6723DBD: QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) (qcoreapplication.h:215) ==14178== by 0x67A77BC: QETWidget::translateMouseEvent(_XEvent const*) (qapplication_x11.cpp:4337) ==14178== by 0x67A5C5B: QApplication::x11ProcessEvent(_XEvent*) (qapplication_x11.cpp:3536) ==14178== by 0x67D2101: x11EventSourceDispatch(_GSource*, int (*)(void*), void*) (qguieventdispatcher_glib.cpp:146) ==14178== by 0xDD927E1: g_main_context_dispatch (in /lib/libglib-2.0.so.0.2515.0) ==14178== by 0xDD96747: ??? (in /lib/libglib-2.0.so.0.2515.0) ==14178== I'll take a look at it now. Seems to be fixed here, thanks! thanks again for your help, without your valgrind logs it wouldn't have been possible! *** Bug 255628 has been marked as a duplicate of this bug. *** Heya, can you please point me a to a patch that fixed the issue? We're having similar problem in Amarok bug 265626 comment 32 and I don't want to reinvent the wheel. ID: b802735c2b2b8810a8b901f93bbcd97519c0c9cd Added by Milian Wolff almost 4 years ago fix: use QueuedConnection to fix crash on show declaration/definition the problem is that quite some direct connections eventually lead to a call to MainWindowPrivate::mergeView() which in turn called KXMLGuiFactory::removeClient which deleted the QMenu. Afterwards the menu is closed but was already deleted => boom BUG: 249884 https://projects.kde.org/projects/extragear/kdevelop/kdevplatform/repository/revisions/b802735c2b2b8810a8b901f93bbcd97519c0c9cd Sorry, I don't know why this wasn't added automatically, or why I did not read your email earlier. Hope it helps. |