SUMMARY When resuming from suspend with a console window open, an open Konsole window will sometimes hang when it tries to open a dialog box to confirm closing the child process. A backtrace shows that the hang when trying to open a PulseAudio device through the gstreamer Phonon backend. It appears that a new thread is spawned (called threaded-ml) that is using 100% of a CPU core and the main GUI thread is waiting for something produced by this thread. I have attached a GDB core file. It appears that this thread is stuck in a call to _nv014tls from the shared library /usr/lib/nvidia-410/tls/libnvidia-tls.so.410.78 I figure that this is probably some sort of issue with the nvidia drivers, but I figured I'd post it here too just in case. STEPS TO REPRODUCE 1. Open Konsole, and invoke a long-running process (such as nano) 2. Suspend the computer and wake it up 3. Close the Konsole window without first exiting the child process OBSERVED RESULT A new window appears but is never painted. A thread of the console process called 'threaded-ml' starts to use 100% of a single CPU core, stuck in a function call in /usr/lib/nvidia-410/tls/libnvidia-tls.so.410.78 EXPECTED RESULT A dialog box should appear and ask if I want to kill the child process. SOFTWARE/OS VERSIONS Linux: Ubuntu 16.04 KDE Plasma Version: 5.5.5 KDE Frameworks Version: 5.18.0 Qt Version: 5.5.1 Konsole Version: 15.12.3 Nvidia Drivers Version: 410.78 ADDITIONAL INFORMATION Link to compressed core file: https://www.dropbox.com/s/ggj7zqk24qd2652/konsole-hang-phonon.core.gz?dl=1
Relevant call stacks from the core file: Thread 3 (the thread with 100% CPU usage on one core): #0 0x00007fc51d417e15 in _nv014tls () from /usr/lib/nvidia-410/tls/libnvidia-tls.so.410.78 #1 0x00007fc520c0ee2d in ?? () from /usr/lib/nvidia-410/libGL.so.1 #2 0x00007fc51d41811f in ?? () from /usr/lib/nvidia-410/tls/libnvidia-tls.so.410.78 #3 0x00007fc51e7ce796 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0 #4 0x00007fc5196b6078 in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-8.0.so #5 0x00007fc521cb76ba in start_thread (arg=0x7fc5042e3700) at pthread_create.c:333 #6 0x00007fc52980041d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 1 (GUI Thread): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:143 #1 0x00007fc51e7cee48 in pa_threaded_mainloop_wait () from /usr/lib/x86_64-linux-gnu/libpulse.so.0 #2 0x00007fc5042edf3f in ?? () from /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstpulse.so #3 0x00007fc50875319b in gst_audio_ring_buffer_open_device () from /usr/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0 #4 0x00007fc508772db9 in ?? () from /usr/lib/x86_64-linux-gnu/libgstaudio-1.0.so.0 #5 0x00007fc5042f1802 in ?? () from /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstpulse.so #6 0x00007fc50986e1ce in gst_element_change_state (element=element@entry=0x1b57ac0, transition=transition@entry=GST_STATE_CHANGE_NULL_TO_READY) at gstelement.c:2648 #7 0x00007fc50986e947 in gst_element_set_state_func (element=0x1b57ac0, state=GST_STATE_READY) at gstelement.c:2602 #8 0x00007fc509b5d798 in Phonon::Gstreamer::DeviceManager::canOpenDevice (this=<optimized out>, element=0x1b57ac0) at ../../gstreamer/devicemanager.cpp:239 #9 0x00007fc509b5dbbf in Phonon::Gstreamer::DeviceManager::createAudioSink (this=this@entry=0x18bc5a0, category=category@entry=Phonon::NoCategory) at ../../gstreamer/devicemanager.cpp:317 #10 0x00007fc509b5f562 in Phonon::Gstreamer::DeviceManager::updateDeviceList (this=this@entry=0x18bc5a0) at ../../gstreamer/devicemanager.cpp:457 #11 0x00007fc509b60680 in Phonon::Gstreamer::DeviceManager::DeviceManager (this=0x18bc5a0, backend=<optimized out>) at ../../gstreamer/devicemanager.cpp:197 #12 0x00007fc509b5826c in Phonon::Gstreamer::Backend::Backend (this=0x19b65b0, parent=<optimized out>) at ../../gstreamer/backend.cpp:123 #13 0x00007fc509b586a8 in qt_plugin_instance () at ./moc_backend.cpp:248 #14 0x00007fc526360abf in QPluginLoader::instance() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #15 0x00007fc5246bb398 in Phonon::FactoryPrivate::tryCreateBackend (this=this@entry=0x1606760, path=...) at ../../phonon/factory.cpp:117 #16 0x00007fc5246bd7e7 in Phonon::FactoryPrivate::createSuitableBackend (this=this@entry=0x1606760, libPath="/usr/lib/x86_64-linux-gnu/qt5/plugins/phonon4qt5_backend/", plugins=) at ../../phonon/factory.cpp:219 #17 0x00007fc5246bda11 in Phonon::FactoryPrivate::createBackend (this=this@entry=0x1606760) at ../../phonon/factory.cpp:303 #18 0x00007fc5246be2c0 in Phonon::Factory::backend (createWhenNull=createWhenNull@entry=true) at ../../phonon/factory.cpp:576 #19 0x00007fc5246be7e3 in Phonon::Factory::createAudioOutput (parent=0x17c3580) at ../../phonon/factory.cpp:470 #20 0x00007fc5246b4de9 in Phonon::AudioOutputPrivate::createBackendObject (this=0x15fbff0) at ../../phonon/audiooutput.cpp:133 #21 0x00007fc5246b18cf in Phonon::AudioOutputPrivate::init (this=0x15fbff0, c=Phonon::NotificationCategory) at ../../phonon/audiooutput.cpp:100 #22 0x00007fc525b586a2 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5Notifications.so.5 #23 0x00007fc525b3ce96 in ?? () from /usr/lib/x86_64-linux-gnu/libKF5Notifications.so.5 #24 0x00007fc525b3a598 in KNotification::sendEvent() () from /usr/lib/x86_64-linux-gnu/libKF5Notifications.so.5 #25 0x00007fc5263a6c01 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #26 0x00007fc526c6a05c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #27 0x00007fc526c6f516 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #28 0x00007fc52637738b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #29 0x00007fc526379786 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #30 0x00007fc5263cd3c3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #31 0x00007fc521580197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #32 0x00007fc5215803f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #33 0x00007fc52158049c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #34 0x00007fc5263cd7cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #35 0x00007fc526374b4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #36 0x00007fc526e64d8d in QDialog::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #37 0x00007fc5274dbe59 in KMessageBox::createKMessageBox(QDialog*, QDialogButtonBox*, QIcon const&, QString const&, QStringList const&, QString const&, bool*, QFlags<KMessageBox::Option>, QString const&, QMessageBox::Icon) () from /usr/lib/x86_64-linux-gnu/libKF5WidgetsAddons.so.5 #38 0x00007fc5274dc538 in KMessageBox::createKMessageBox(QDialog*, QDialogButtonBox*, QMessageBox::Icon, QString const&, QStringList const&, QString const&, bool*, QFlags<KMessageBox::Option>, QString const&) () from /usr/lib/x86_64-linux-gnu/libKF5WidgetsAddons.so.5 #39 0x00007fc5274dec2c in ?? () from /usr/lib/x86_64-linux-gnu/libKF5WidgetsAddons.so.5 #40 0x00007fc529ade6bc in ?? () from /usr/lib/x86_64-linux-gnu/libkdeinit5_konsole.so #41 0x00007fc528ad5f15 in KMainWindow::closeEvent(QCloseEvent*) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5 #42 0x00007fc526cacfc8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #43 0x00007fc526dc2dbb in QMainWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #44 0x00007fc528ad6147 in KMainWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5 #45 0x00007fc528b0e4e5 in KXmlGuiWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libKF5XmlGui.so.5 #46 0x00007fc526c6a05c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #47 0x00007fc526c6f516 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #48 0x00007fc52637738b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #49 0x00007fc526ca82bd in QWidgetPrivate::close_helper(QWidgetPrivate::CloseMode) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #50 0x00007fc526cc9cc2 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #51 0x00007fc526c6a05c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #52 0x00007fc526c6f516 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #53 0x00007fc52637738b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #54 0x00007fc5266b667e in QGuiApplicationPrivate::processCloseEvent(QWindowSystemInterfacePrivate::CloseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #55 0x00007fc5266bb1d5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #56 0x00007fc52669ef08 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #57 0x00007fc51735a200 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #58 0x00007fc521580197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #59 0x00007fc5215803f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #60 0x00007fc52158049c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #61 0x00007fc5263cd7cf in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #62 0x00007fc526374b4a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #63 0x00007fc52637cbec in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #64 0x00007fc529aead92 in kdemain () from /usr/lib/x86_64-linux-gnu/libkdeinit5_konsole.so #65 0x00007fc529719830 in __libc_start_main (main=0x400710 <main>, argc=1, argv=0x7ffda197fd98, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffda197fd88) at ../csu/libc-start.c:291 #66 0x0000000000400749 in _start ()
As this crash is quite old now, can you please confirm if this crash still occurs on a current version? The report is also missing some of the debugging symbols which make it easier to identify where a crash may have started. You can see where they are missing by searching for "??" in the crash report. More information can be found here: https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Install_debugging_packages This bug has been set to "NEEDSINFO/WAITINGFORINFO", if you are able to update the bug report please mark it as reported when you add the new information, thank you.
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 mark the bug 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!
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!