doMoreCleanup function line 761, which is calling usleep is called 33488 times (strace kdevelop through an UI freeze). The UI was frozen for more than 3 minutes.
In file duchain.cpp
can you show the full backtrace please? was tis happening at shutdown? otherwise the cleanup should happen in a background thread.
This was not at shutdown, I was just using the ide normally. I didn't save the stack trace from yesterday but this UI freeze is very frequent so I'll try to capture the trace today.
Snippet of the callstack KDevelop::DUChainPrivate::doMoreCleanup () QMetaObject::activate () QTimer::timerEvent() ... KDevelop::DUChainPrivate::CleanupThread::run()
please paste the _full_ backtrace _of all threads_ (gdb) thread apply all bt
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days, the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please set the bug status as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone!
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone!
reopening, I just hit the same and figured out the issue - I'll fix it asap #0 0x00007fd4ef7786a8 in nanosleep () from /usr/lib/libc.so.6 #1 0x00007fd4efe73f0f in ?? () from /usr/lib/libQt5Core.so.5 #2 0x00007fd4f2e3465a in KDevelop::DUChainPrivate::doMoreCleanup (this=0x7fd4f3521e40 <KDevelop::(anonymous namespace)::Q_QGS_sdDUChainPrivate::innerFunction()::holder>, retries=1, lockFlag=KDevelop::DUChainPrivate::TryLock) at /home/milian/projects/kf5/src/extragear/kdevelop/kdevelop/kdevplatform/language/duchain/duchain.cpp:881 #3 0x00007fd4f2e310be in KDevelop::DUChainPrivate::CleanupThread::run()::{lambda()#1}::operator()() const (__closure=0x7fd4c00049c0) at /home/milian/projects/kf5/src/extragear/kdevelop/kdevelop/kdevplatform/language/duchain/duchain.cpp:320 #4 0x00007fd4f2e515e9 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, KDevelop::DUChainPrivate::CleanupThread::run()::{lambda()#1}>::call({lambda()#1}&, void**) (f=..., arg=0x7fd4c008fca0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:146 #5 0x00007fd4f2e4ed7f in QtPrivate::Functor<KDevelop::DUChainPrivate::CleanupThread::run()::{lambda()#1}, 0>::call<QtPrivate::List<>, void>({lambda()#1}&, void*, {lambda()#1}&*) (f=..., arg=0x7fd4c008fca0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:256 #6 0x00007fd4f2e48297 in QtPrivate::QFunctorSlotObject<KDevelop::DUChainPrivate::CleanupThread::run()::{lambda()#1}, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x7fd4c00049b0, r=0x55f093be8960, a=0x7fd4c008fca0, ret=0x0) at /usr/include/qt/QtCore/qobjectdefs_impl.h:439 #7 0x00007fd4efe49b62 in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5 #8 0x00007fd4f0c2ee34 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #9 0x00007fd4f0c36671 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5 #10 0x00007fd4efe1e8f9 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5 #11 0x00007fd4efe21998 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5 #12 0x00007fd4efe74fd4 in ?? () from /usr/lib/libQt5Core.so.5 #13 0x00007fd4ecef5a2f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #14 0x00007fd4ecef75e9 in ?? () from /usr/lib/libglib-2.0.so.0 #15 0x00007fd4ecef762e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #16 0x00007fd4efe745a9 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #17 0x00007fd4efe1d58c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5 #18 0x00007fd4efe25896 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5 #19 0x000055f091e015e1 in main (argc=3, argv=0x7ffdb89c4738) at /home/milian/projects/kf5/src/extragear/kdevelop/kdevelop/app/main.cpp:846 sorry for this!
fixed in 5.3 and master now
(In reply to Milian Wolff from comment #9) > fixed in 5.3 and master now Thanks for the fix!!! Just for saying that with this patch, kdevelop UI is so more snappier (even auto-completion), in my opinion this fix deserves a new official release by itself.