Bug 371197 - Running certain unit tests freezes KDevelop and Plasma panels
Summary: Running certain unit tests freezes KDevelop and Plasma panels
Status: RESOLVED WAITINGFORINFO
Alias: None
Product: kdevelop
Classification: Applications
Component: general (show other bugs)
Version: 5.0.1
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-10-19 00:39 UTC by Janek Bevendorff
Modified: 2016-10-19 11:42 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Janek Bevendorff 2016-10-19 00:39:06 UTC
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
Comment 1 Kevin Funk 2016-10-19 07:28:42 UTC
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
Comment 2 Janek Bevendorff 2016-10-19 11:42:28 UTC
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 ()