It happens reproducibly, I attached to the process and the backtrace doesn't help much :( (gdb) thread apply all bt Thread 3 (Thread 0x7fb15fb20700 (LWP 9954)): #0 0x00007fb175675e9d in poll () from /usr/lib/libc.so.6 #1 0x00007fb16f253c09 in ?? () from /usr/lib/libglib-2.0.so.0 #2 0x00007fb16f253d1c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #3 0x00007fb1764c271f in QEventDispatcherGlib::processEvents (this=0x7fb1580008c0, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:423 #4 0x00007fb17646b26a in QEventLoop::exec (this=this@entry=0x7fb15fb1fd60, flags=..., flags@entry=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:212 #5 0x00007fb1762908da in QThread::exec (this=this@entry=0x7fb178868da0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/thread/qthread.cpp:515 #6 0x00007fb1787f7565 in QDBusConnectionManager::run (this=0x7fb178868da0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /home/apol/devel/frameworks/qt5/qtbase/src/dbus/qdbusconnection.cpp:178 #7 0x00007fb1762952ee in QThreadPrivate::start (arg=0x7fb178868da0 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/thread/qthread_unix.cpp:368 #8 0x00007fb172c36049 in start_thread () from /usr/lib/libpthread.so.0 #9 0x00007fb17567ff0f in clone () from /usr/lib/libc.so.6 Thread 2 (Thread 0x7fb16922b700 (LWP 9952)): #0 0x00007fb175675e9d in poll () from /usr/lib/libc.so.6 #1 0x00007fb17305c8e0 in ?? () from /usr/lib/libxcb.so.1 #2 0x00007fb17305e679 in xcb_wait_for_event () from /usr/lib/libxcb.so.1 #3 0x00007fb16b5cca59 in QXcbEventReader::run (this=0x55a37003a190) at /home/apol/devel/frameworks/qt5/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:1322 #4 0x00007fb1762952ee in QThreadPrivate::start (arg=0x55a37003a190) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/thread/qthread_unix.cpp:368 #5 0x00007fb172c36049 in start_thread () from /usr/lib/libpthread.so.0 #6 0x00007fb17567ff0f in clone () from /usr/lib/libc.so.6 Thread 1 (Thread 0x7fb1786a6840 (LWP 9950)): #0 0x00007fb175675e9d in poll () from /usr/lib/libc.so.6 #1 0x00007fb16f253c09 in ?? () from /usr/lib/libglib-2.0.so.0 #2 0x00007fb16f253d1c in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #3 0x00007fb1764c271f in QEventDispatcherGlib::processEvents (this=0x55a3700711f0, flags=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:423 #4 0x00007fb17646b26a in QEventLoop::exec (this=this@entry=0x7ffed9b817a0, flags=..., flags@entry=...) at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qeventloop.cpp:212 #5 0x00007fb176473af4 in QCoreApplication::exec () at /home/apol/devel/frameworks/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp:1291 #6 0x000055a36fadcdf4 in main (argc=2, argv=0x7ffed9b81ac8) at /home/apol/devel/frameworks/plasma-browser-integration/host/main.cpp:164
Are you running up-to-date master version? I had the same since updating to Chrome 59 but fixed that. It still goes crazy here when Chrome crashes instead of gracefully closing, though.
Git commit 4c2a3b16803677fe9a7f22e3cda7255cfd140815 by Fabian Vogt. Committed on 18/07/2017 at 08:35. Pushed by fvogt into branch 'master'. Check for HUP/ERR/NVAL conditions on stdin Summary: While Qt's event loop checks for POLLHUP, it treats it exactly like POLLIN and it's not possible to retrieve that information from Qt. So in the Connection read handler it needs to be checked for again. Test Plan: Before this patch plasma-browser-integration-host consumed 100% CPU after exiting the browser, 100% reproducible. Now it quits gracefully. Reviewers: #plasma, broulik, davidedmundson Subscribers: plasma-devel Tags: #plasma Differential Revision: https://phabricator.kde.org/D6711 M +19 -0 host/connection.cpp https://commits.kde.org/plasma-browser-integration/4c2a3b16803677fe9a7f22e3cda7255cfd140815