[kdevelop] [Bug 370259] New: CPP Parser hangs on specific construct
https://bugs.kde.org/show_bug.cgi?id=370259 Bug ID: 370259 Summary: CPP Parser hangs on specific construct Product: kdevelop Version: 4.7.3 Platform: Gentoo Packages OS: Linux Status: UNCONFIRMED Severity: crash Priority: NOR Component: Language Support: CPP (old) Assignee: kdevelop-bugs-n...@kde.org Reporter: daniel.san...@pobox.com I am working on gcc at the moment, which is strange because it was converted into C++ several years ago, but most of the sources files still have a .c extension (possibly part of the problem?). Currently, when I accidentally click on or move my text cursor to the start of a the text `gcc_assert`, I get a nice hang. By getting distracted after this one, I actually discovered that it will resolve after some 10-20 minutes. Here is the backtrace: (gdb) bt #0 0x7f2d282fdfa4 in QString::operator[] (i=236222, this=0x7fff224b7d10) at /usr/include/qt4/QtCore/qstring.h:701 #1 KDevelop::findClose (str=..., pos=pos@entry=0) at /usr/src/debug/dev-util/kdevplatform-1.7.3/kdevplatform-1.7.3/language/duchain/stringhelpers.cpp:66 #2 0x7f2c7c34d934 in CppLanguageSupport::specialLanguageObjectNavigationWidget (this=0x350ec80, url=..., position=...) at /usr/src/debug/dev-util/kdevelop-4.7.3/kdevelop-4.7.3/languages/cpp/cpplanguagesupport.cpp:840 #3 0x7f2c7ca2ddbd in ContextBrowserPlugin::updateForView (this=this@entry=0x3407560, view=0x509d660) at /usr/src/debug/dev-util/kdevplatform-1.7.3/kdevplatform-1.7.3/plugins/contextbrowser/contextbrowser.cpp:688 #4 0x7f2c7ca2e64c in ContextBrowserPlugin::updateViews (this=0x3407560) at /usr/src/debug/dev-util/kdevplatform-1.7.3/kdevplatform-1.7.3/plugins/contextbrowser/contextbrowser.cpp:728 #5 0x7f2c7ca2660d in ContextBrowserPlugin::qt_static_metacall (_o=0x3407560, _id=, _a=, _c=) at /usr/src/debug/dev-util/kdevplatform-1.7.3/kdevplatform-1.7.3_build/plugins/contextbrowser/moc_contextbrowser.cpp:121 #6 0x7f2d29b4b463 in QMetaObject::activate (sender=0x34032a0, m=, local_signal_index=, 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 #7 0x7f2d29b4fb23 in QObject::event (this=0x34032a0, e=) at /usr/src/debug/dev-qt/qtcore-4.8.7-r2/qt-everywhere-opensource-src-4.8.7/src/corelib/kernel/qobject.cpp:1253 #8 0x7f2d2a06888c in QApplicationPrivate::notify_helper (this=this@entry=0xbc8920, receiver=receiver@entry=0x34032a0, e=e@entry=0x7fff224b84b0) at /usr/src/debug/dev-qt/qtgui-4.8.7/qt-everywhere-opensource-src-4.8.7/src/gui/kernel/qapplication.cpp:4565 #9 0x7f2d2a06f458 in QApplication::notify (this=this@entry=0x7fff224b8900, receiver=receiver@entry=0x34032a0, e=e@entry=0x7fff224b84b0) at /usr/src/debug/dev-qt/qtgui-4.8.7/qt-everywhere-opensource-src-4.8.7/src/gui/kernel/qapplication.cpp:4351 #10 0x7f2d2b5581ba in KApplication::notify (this=0x7fff224b8900, receiver=0x34032a0, event=0x7fff224b84b0) at /usr/src/debug/kde-base/kdelibs-4.14.21/kdelibs-4.14.21/kdeui/kernel/kapplication.cpp:311 #11 0x7f2d29b35f4c in QCoreApplication::notifyInternal (this=0x7fff224b8900, receiver=0x34032a0, event=event@entry=0x7fff224b84b0) at /usr/src/debug/dev-qt/qtcore-4.8.7-r2/qt-everywhere-opensource-src-4.8.7/src/corelib/kernel/qcoreapplication.cpp:955 #12 0x7f2d29b68cbb in QCoreApplication::sendEvent (event=0x7fff224b84b0, receiver=) at ../../../qt-everywhere-opensource-src-4.8.7/src/corelib/kernel/qcoreapplication.h:231 #13 QTimerInfoList::activateTimers (this=0xbc7e90) 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 #14 0x7f2d29b65ac9 in timerSourceDispatch (source=) 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 #15 idleTimerSourceDispatch (source=) 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 #16 0x7f2d23563c2a in g_main_dispatch (context=0xbc8250) at /usr/src/debug/dev-libs/glib-2.48.1/glib-2.48.1/glib/gmain.c:3154 #17 g_main_context_dispatch (context=context@entry=0xbc8250) at /usr/src/debug/dev-libs/glib-2.48.1/glib-2.48.1/glib/gmain.c:3769 #18 0x7f2d23563fc5 in g_main_context_iterate (context=context@entry=0xbc8250, block=block@entry=1, dispatch=dispatch@entry=1, self=) at /usr/src/debug/dev-libs/glib-2.48.1/glib-2.48.1/glib/gmain.c:3840 #19 0x7f2d2356408c in g_main_context_iteration (context=0xbc8250, may_block=1) at /usr/src/debug/dev-libs/glib-2.48.1/glib-2.48.1/glib/gmain.c:3901 #20 0x7f2d29b664bc in QEventDispatcherGlib::processEvents (this=0xb11bd0, 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 #21 0x7f2d2a112dd6 in QGuiEv
[kdevelop] [Bug 370259] CPP Parser hangs on specific construct
https://bugs.kde.org/show_bug.cgi?id=370259 --- Comment #1 from Daniel Santos --- I forgot to mention that I have turned off background parsing and this still happens. -- You are receiving this mail because: You are watching all bug changes.
[kdevelop] [Bug 327168] Background parser hangs on specific code
https://bugs.kde.org/show_bug.cgi?id=327168 Daniel Santos changed: What|Removed |Added CC||daniel.san...@pobox.com --- Comment #4 from Daniel Santos --- 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=, 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 0x7f0f2c97b448 in Utils::ConvenientIterator::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 0x7f0f2c97d838 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 0x7f0f2d0607d9 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 0x7f0f2d0610da 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 0x7f0f2d056600 in ContextBrowserPlugin::qt_static_metacall (_o=0x3a608e0, _id=, _a=, _c=) at /usr/src/debug/dev-util/kdevplatform-1.7.3/kdevplatform-1.7.3_build/plugins/contextbrowser/moc_contextbrowser.cpp:122 #9 0x7f0fdbe67463 in QMetaObject::activate (sender=0x7c826b0, m=m@entry=0x7f0f2fff1a80 , 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 0x7f0f2fc7ba1a in KateView::needTextHint (this=, _t1=..., _t2=...) at /usr/src/debug/kde-base/katepart-4.14.3/katepart-4.14.3_build/part/kateview.moc:529 #11 0x7f0f2fc971f7 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 0x7f0f2fca0c2d in KateViewInternal::qt_static_metacall (_o=, _id=, _a=, _c=) at /usr/src/debug/kde-base/katepart-4.14.3/katepart-4.14.3_build/part/kateviewinternal.moc:111 #13 0x7f0fdbe67463 in QMetaObject::activate (sender=0x7c83518, m=, local_signal_index=, 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 0x7f0fdbe6bb23 in QObject::event (this=0x7c83518, e=) 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 0x7f0fdc38488c 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 0x7f0fdc38b458 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 0x7f0fdd8741ba 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 0x7f0fdbe51f4c 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 0x7f0fdbe84cbb in QCoreApplication::sendEvent (event=0x7fffd501e9c0, receiver=) 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 0x7f0fdbe81ac9 in timerSourceDispatch (source=) 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=) at /usr/src/debug/dev-qt/q
[kdevelop] [Bug 327168] Background parser hangs on specific code
https://bugs.kde.org/show_bug.cgi?id=327168 --- Comment #5 from Daniel Santos --- oops, the above is kdevelop 4.7.3 with kdevplatform 1.7.3 -- You are receiving this mail because: You are watching all bug changes.