I'm working on heavy C++ project, and everything was fine until something changed in codebase. After that, background parser does not work -- it hangs on "...%" and no code completion/higlighting works. Reproducible: Always Steps to Reproduce: 1. Specify project root as Additional include directories (all headers in my project have paths specified from project root, e.g #include <processor/memory/dump.h>) 2. Open specific project file 3. Wait until BG parser hangs Actual Results: Background parser window never disappear, no code completion works. Expected Results: Background parser should not hang. I can provide a backtraces for each thread with debugging info.
Yes, please post the backtrace.
Created attachment 83422 [details] gdb backtrace for parser
Attached a backtrace
Well, rather than open a new bug, i'm going to post a backtrace also. I recall I once isolated the code that caused the hang (in one case), but this hang on is on the gcc source tree: #0 Utils::Set::Iterator::IteratorPrivate::startAtNode (node=<optimized out>, this=0x12153820) at /usr/src/debug/dev-util/kdevplatform-1.7.3/kdevplatform-1.7.3/language/util/setrepository.cpp:385 #1 Utils::Set::Iterator::operator++ (this=this@entry=0x7fffd501df60) at /usr/src/debug/dev-util/kdevplatform-1.7.3/kdevplatform-1.7.3/language/util/setrepository.cpp:453 #2 0x00007f0f2c97b448 in Utils::ConvenientIterator<rpp::pp_macro, Cpp::MacroIndexConversion>::operator++ (this=0x7fffd501df60) at /usr/include/kdevplatform/language/util/setrepository.h:48 #3 CppLanguageSupport::isFunctionLike (this=this@entry=0x3b65a70, pm=pm@entry=0x7f0f2774eac8, url=...) at /usr/src/debug/dev-util/kdevelop-4.7.3/kdevelop-4.7.3/languages/cpp/cpplanguagesupport.cpp:916 #4 0x00007f0f2c97d838 in CppLanguageSupport::isFunctionLike (url=..., pm=0x7f0f2774eac8, this=0x3b65a70) at /usr/include/qt4/QtCore/qvector.h:99 #5 CppLanguageSupport::specialLanguageObjectNavigationWidget (this=0x3b65a70, url=..., position=...) at /usr/src/debug/dev-util/kdevelop-4.7.3/kdevelop-4.7.3/languages/cpp/cpplanguagesupport.cpp:828 #6 0x00007f0f2d0607d9 in ContextBrowserPlugin::showToolTip (this=this@entry=0x3a608e0, view=view@entry=0x7c826b0, position=...) at /usr/src/debug/dev-util/kdevplatform-1.7.3/kdevplatform-1.7.3/plugins/contextbrowser/contextbrowser.cpp:468 #7 0x00007f0f2d0610da in ContextBrowserPlugin::textHintRequested (this=0x3a608e0, cursor=...) at /usr/src/debug/dev-util/kdevplatform-1.7.3/kdevplatform-1.7.3/plugins/contextbrowser/contextbrowser.cpp:408 #8 0x00007f0f2d056600 in ContextBrowserPlugin::qt_static_metacall (_o=0x3a608e0, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at /usr/src/debug/dev-util/kdevplatform-1.7.3/kdevplatform-1.7.3_build/plugins/contextbrowser/moc_contextbrowser.cpp:122 #9 0x00007f0fdbe67463 in QMetaObject::activate (sender=0x7c826b0, m=m@entry=0x7f0f2fff1a80 <KateView::staticMetaObject>, local_signal_index=local_signal_index@entry=3, argv=argv@entry=0x7fffd501e4b0) at /usr/src/debug/dev-qt/qtcore-4.8.7-r2/qt-everywhere-opensource-src-4.8.7/src/corelib/kernel/qobject.cpp:3567 #10 0x00007f0f2fc7ba1a in KateView::needTextHint (this=<optimized out>, _t1=..., _t2=...) at /usr/src/debug/kde-base/katepart-4.14.3/katepart-4.14.3_build/part/kateview.moc:529 #11 0x00007f0f2fc971f7 in KateViewInternal::textHintTimeout (this=0x7c832c0) at /usr/src/debug/kde-base/katepart-4.14.3/katepart-4.14.3/part/view/kateviewinternal.cpp:3117 #12 0x00007f0f2fca0c2d in KateViewInternal::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at /usr/src/debug/kde-base/katepart-4.14.3/katepart-4.14.3_build/part/kateviewinternal.moc:111 #13 0x00007f0fdbe67463 in QMetaObject::activate (sender=0x7c83518, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at /usr/src/debug/dev-qt/qtcore-4.8.7-r2/qt-everywhere-opensource-src-4.8.7/src/corelib/kernel/qobject.cpp:3567 #14 0x00007f0fdbe6bb23 in QObject::event (this=0x7c83518, e=<optimized out>) at /usr/src/debug/dev-qt/qtcore-4.8.7-r2/qt-everywhere-opensource-src-4.8.7/src/corelib/kernel/qobject.cpp:1253 #15 0x00007f0fdc38488c in QApplicationPrivate::notify_helper (this=this@entry=0x11ee920, receiver=receiver@entry=0x7c83518, e=e@entry=0x7fffd501e9c0) at /usr/src/debug/dev-qt/qtgui-4.8.7/qt-everywhere-opensource-src-4.8.7/src/gui/kernel/qapplication.cpp:4565 #16 0x00007f0fdc38b458 in QApplication::notify (this=this@entry=0x7fffd501ee10, receiver=receiver@entry=0x7c83518, e=e@entry=0x7fffd501e9c0) at /usr/src/debug/dev-qt/qtgui-4.8.7/qt-everywhere-opensource-src-4.8.7/src/gui/kernel/qapplication.cpp:4351 #17 0x00007f0fdd8741ba in KApplication::notify (this=0x7fffd501ee10, receiver=0x7c83518, event=0x7fffd501e9c0) at /usr/src/debug/kde-base/kdelibs-4.14.21/kdelibs-4.14.21/kdeui/kernel/kapplication.cpp:311 #18 0x00007f0fdbe51f4c in QCoreApplication::notifyInternal (this=0x7fffd501ee10, receiver=0x7c83518, event=event@entry=0x7fffd501e9c0) at /usr/src/debug/dev-qt/qtcore-4.8.7-r2/qt-everywhere-opensource-src-4.8.7/src/corelib/kernel/qcoreapplication.cpp:955 #19 0x00007f0fdbe84cbb in QCoreApplication::sendEvent (event=0x7fffd501e9c0, receiver=<optimized out>) at ../../../qt-everywhere-opensource-src-4.8.7/src/corelib/kernel/qcoreapplication.h:231 #20 QTimerInfoList::activateTimers (this=0x11ede90) at /usr/src/debug/dev-qt/qtcore-4.8.7-r2/qt-everywhere-opensource-src-4.8.7/src/corelib/kernel/qeventdispatcher_unix.cpp:621 #21 0x00007f0fdbe81ac9 in timerSourceDispatch (source=<optimized out>) at /usr/src/debug/dev-qt/qtcore-4.8.7-r2/qt-everywhere-opensource-src-4.8.7/src/corelib/kernel/qeventdispatcher_glib.cpp:193 #22 idleTimerSourceDispatch (source=<optimized out>) at /usr/src/debug/dev-qt/qtcore-4.8.7-r2/qt-everywhere-opensource-src-4.8.7/src/corelib/kernel/qeventdispatcher_glib.cpp:240 #23 0x00007f0fd587fc2a in g_main_dispatch (context=0x11ee250) at /usr/src/debug/dev-libs/glib-2.48.1/glib-2.48.1/glib/gmain.c:3154 #24 g_main_context_dispatch (context=context@entry=0x11ee250) at /usr/src/debug/dev-libs/glib-2.48.1/glib-2.48.1/glib/gmain.c:3769 #25 0x00007f0fd587ffc5 in g_main_context_iterate (context=context@entry=0x11ee250, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /usr/src/debug/dev-libs/glib-2.48.1/glib-2.48.1/glib/gmain.c:3840 #26 0x00007f0fd588008c in g_main_context_iteration (context=0x11ee250, may_block=1) at /usr/src/debug/dev-libs/glib-2.48.1/glib-2.48.1/glib/gmain.c:3901 #27 0x00007f0fdbe824bc in QEventDispatcherGlib::processEvents (this=0x1137bd0, flags=...) at /usr/src/debug/dev-qt/qtcore-4.8.7-r2/qt-everywhere-opensource-src-4.8.7/src/corelib/kernel/qeventdispatcher_glib.cpp:450 #28 0x00007f0fdc42edd6 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at /usr/src/debug/dev-qt/qtgui-4.8.7/qt-everywhere-opensource-src-4.8.7/src/gui/kernel/qguieventdispatcher_glib.cpp:204 #29 0x00007f0fdbe50981 in QEventLoop::processEvents (this=this@entry=0x7fffd501ec50, flags=...) at /usr/src/debug/dev-qt/qtcore-4.8.7-r2/qt-everywhere-opensource-src-4.8.7/src/corelib/kernel/qeventloop.cpp:149 #30 0x00007f0fdbe50d25 in QEventLoop::exec (this=this@entry=0x7fffd501ec50, flags=...) at /usr/src/debug/dev-qt/qtcore-4.8.7-r2/qt-everywhere-opensource-src-4.8.7/src/corelib/kernel/qeventloop.cpp:204 #31 0x00007f0fdbe56519 in QCoreApplication::exec () at /usr/src/debug/dev-qt/qtcore-4.8.7-r2/qt-everywhere-opensource-src-4.8.7/src/corelib/kernel/qcoreapplication.cpp:1227 #32 0x00007f0fdc382bdc in QApplication::exec () at /usr/src/debug/dev-qt/qtgui-4.8.7/qt-everywhere-opensource-src-4.8.7/src/gui/kernel/qapplication.cpp:3823 #33 0x00000000004105fb in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/dev-util/kdevelop-4.7.3/kdevelop-4.7.3/app/main.cpp:582
oops, the above is kdevelop 4.7.3 with kdevplatform 1.7.3
Hello! We worked on a new clang-based C/C++ language plugin for KDevelop 5 which supersedes the old C++ plugin in KDevelop 4. See e.g.: https://www.kdevelop.org/news/first-beta-release-kdevelop-500-available https://www.kdevelop.org/news/kdevelop-500-released Due to a lack of manpower, we cannot fix bugs in the old C++ plugin. We rather want to supply a good Clang based C++ experience for KDevelop 5 than wasting our time on the legacy C++ support for KDevelop 4. With the new clang-based C/C++ language plugin, the bug presented here does not occur in my testing. For these reasons, I'll close this bug. Please try out KDevelop 5, either by downloading it through your distro, or by playing around with the AppImage:. If you think this bug is applicable to Clang/KDevelop 5, please reopen the report and add new information on how to reproduce the bug there. Sorry for the inconvenience, I hope you understand the reasoning above. Cheers