The vimode_modes unit test from the KTextEditor sources (from ktexteditor/autotests/src/vimode) freezes both KDevelop (the whole application) as well as my Plasma panels (not all of Plasma, though, just the panels) when run from the Unit Test tool panel. I don't know why this is (hell, I don't even know what exactly the test does), but this behavior is reproducible every time. Running the vimode_modes executable as standalone from the terminal works fine, though. I generally have the impression, that certain unit tests interfere with the responsiveness of the KDevelop UI. The vimode_keys test also freezes KDevelop for a couple of seconds, but then finishes and puts KDevelop back in a usable state. Reproducible: Always
When KDevelop freezes, can you attach GDB and get us a backtrace? See more here: https://community.kde.org/Guidelines_and_HOWTOs/Debugging/Debugging_with_GDB#Attaching_gdb_to_already_running_applications
I'm not sure if this stacktrace is really helpful. There is no stack trace until I try to send it a SIGINT which kdevelop ignores. I can only kill it with SIGKILL. BTW I realized that not only Plasma panels are frozen, but also, e.g., Dolphin. Here's the stacktrace: Thread 1 "kdevelop" received signal SIGINT, Interrupt. 0x00007ffff03800b3 in select () from /usr/lib/libc.so.6 #0 0x00007ffff03800b3 in select () at /usr/lib/libc.so.6 #1 0x00007fffd982a351 in () at /usr/lib/libQt5XcbQpa.so.5 #2 0x00007fffd982a96f in () at /usr/lib/libQt5XcbQpa.so.5 #3 0x00007fffd982c438 in () at /usr/lib/libQt5XcbQpa.so.5 #4 0x00007ffff16c66ab in QInternalMimeData::formats() const () at /usr/lib/libQt5Gui.so.5 #5 0x00007fffd982c8e0 in () at /usr/lib/libQt5XcbQpa.so.5 #6 0x00007ffff16c6936 in QInternalMimeData::retrieveData(QString const&, QVariant::Type) const () at /usr/lib/libQt5Gui.so.5 #7 0x00007ffff118d02b in () at /usr/lib/libQt5Core.so.5 #8 0x00007ffff118e16d in QMimeData::data(QString const&) const () at /usr/lib/libQt5Core.so.5 #9 0x00007ffff5346a71 in KIO::isClipboardDataCut(QMimeData const*) () at /usr/lib/libKF5KIOWidgets.so.5 #10 0x00007ffff0041f5b in KFilePreviewGenerator::Private::applyCutItemEffect(KFileItemList const&) () at /usr/lib/libKF5KIOFileWidgets.so.5 #11 0x00007ffff0044de8 in KFilePreviewGenerator::Private::updateCutItems() () at /usr/lib/libKF5KIOFileWidgets.so.5 #12 0x00007ffff1192659 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/libQt5Core.so.5 #13 0x00007ffff16c28e9 in QClipboard::emitChanged(QClipboard::Mode) () at /usr/lib/libQt5Gui.so.5 #14 0x00007fffd982abb0 in () at /usr/lib/libQt5XcbQpa.so.5 #15 0x00007fffd9830d98 in QXcbConnection::handleXcbEvent(xcb_generic_event_t*) () at /usr/lib/libQt5XcbQpa.so.5 #16 0x00007fffd98318a5 in QXcbConnection::processXcbEvents() () at /usr/lib/libQt5XcbQpa.so.5 #17 0x00007ffff11934b9 in QObject::event(QEvent*) () at /usr/lib/libQt5Core.so.5 #18 0x00007ffff1e46e0c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5 #19 0x00007ffff1e4e581 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5 #20 0x00007ffff1166de0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5 #21 0x00007ffff116956d in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /usr/lib/libQt5Core.so.5 #22 0x00007ffff11bb303 in () at /usr/lib/libQt5Core.so.5 #23 0x00007fffe849b587 in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0 #24 0x00007fffe849b7f0 in () at /usr/lib/libglib-2.0.so.0 #25 0x00007fffe849b89c in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0 #26 0x00007ffff11bb70f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #27 0x00007ffff116523a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/libQt5Core.so.5 #28 0x00007ffff116d73c in QCoreApplication::exec() () at /usr/lib/libQt5Core.so.5 #29 0x000000000040f1f5 in main ()