This is simple to reproduce. The application has disappeared from the screen but continues to run.
It looks like qtmir is closing the window (as requested) but no word gets out to the actual process (ie. there is no session management). I'm suspecting the Unity 8 lifecycle for desktops is not in place yet. Here's a snippet from $HOME/.cahe/upstart/unity8.log. [2017-03-20:19:34:52.953] qtmir.sessions: TaskController::onSessionStarting - sessionName=sol^M [2017-03-20:19:34:52.954] qtmir.applications: Application["sol"]::setSession(session=qtmir::Session(0x4ecb3290))^M [2017-03-20:19:34:53.457] file:///usr/lib/x86_64-linux-gnu/qt5/qml/Ubuntu/Components/1.3/Icon.qml:115:5: QML Image: Cannot open: file:///home/stephenw/.face^M [2017-03-20:19:34:57.992] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::MirSurface(type=normal,state=restored,size=(480,376),parentSurface=QObject(0x0))^M [2017-03-20:19:34:58.015] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::registerView(268052752) after=1^M [2017-03-20:19:34:58.032] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::setKeymap("us")^M [2017-03-20:19:34:58.467] toplevelwindowmodel: prependSurface appId=sol surface=qtmir::MirSurface(0x3c828f80), filling out placeholder. after: (index=0,appId=sol,surface=0x3c828f80,id=11),(index=1,appId=unity8-dash,surface=0x225db2f0,id=4)^M [2017-03-20:19:34:58.468] toplevelwindowmodel: setFocusedWindow(0x0)^M [2017-03-20:19:34:58.499] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::setFocused(true)^M [2017-03-20:19:34:58.514] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::setReady()^M [2017-03-20:19:34:58.520] qtmir.applications: Application["sol"]::setInternalState(state=Running)^M [2017-03-20:19:34:58.537] toplevelwindowmodel: setFocusedWindow(Window[0x28c28060, id=11, MirSurface[0x3c828f80,"AisleRiot"]])^M [2017-03-20:19:34:58.664] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::requestState(restored)^M [2017-03-20:19:34:58.673] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::updateExposure(true)^M [2017-03-20:19:35:19.651] qtmir.surfaces: MirSurface[0x28beec90,"sol"]::MirSurface(type=menu,state=restored,size=(172,66),parentSurface=qtmir::MirSurface(0x3c828f80))^M [2017-03-20:19:35:19.801] qtmir.surfaces: MirSurface[0x28beec90,"sol"]::registerView(745266864) after=1^M [2017-03-20:19:35:20.080] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::setFocused(false)^M [2017-03-20:19:35:20.093] qtmir.surfaces: MirSurface[0x28beec90,"sol"]::setFocused(true)^M [2017-03-20:19:35:20.098] qtmir.surfaces: MirSurface[0x28beec90,"sol"]::setReady()^M [2017-03-20:19:35:20.123] qtmir.surfaces: MirSurface[0x28beec90,"sol"]::updateExposure(true)^M [2017-03-20:19:35:20.126] toplevelwindowmodel: setFocusedWindow(Window[0x33e53dc0, id=12, MirSurface[0x28beec90,"AisleRiot"]])^M [2017-03-20:19:35:20.128] qtmir.surfaces: MirSurface[0x28beec90,"sol"]::setKeymap("us")^M [2017-03-20:19:35:23.549] qtmir.surfaces: MirSurface[0x28beec90,"sol"]::setLive(false)^M [2017-03-20:19:35:23.552] qtmir.surfaces: MirSurface[0x28beec90,"sol"]::unregisterView(745266864) after=0 live=false^M [2017-03-20:19:35:23.553] qtmir.surfaces: MirSurface[0x28beec90,"sol"]::updateExposure(false)^M [2017-03-20:19:35:23.555] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::setFocused(true)^M [2017-03-20:19:35:23.622] toplevelwindowmodel: setFocusedWindow(Window[0x28c28060, id=11, MirSurface[0x3c828f80,"Klondike"]])^M [2017-03-20:19:35:23.625] qtmir.surfaces: MirSurface[0x28beec90,"sol"]::~MirSurface() viewCount=0^M [2017-03-20:19:35:23.684] qtmir.surfaces: MirSurface[0x35577d70,"sol"]::MirSurface(type=dialog,state=restored,size=(468,353),parentSurface=qtmir::MirSurface(0x3c828f80))^M [2017-03-20:19:35:23.711] qtmir.surfaces: MirSurface[0x35577d70,"sol"]::registerView(744596304) after=1^M [2017-03-20:19:35:23.893] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::setFocused(false)^M [2017-03-20:19:35:23.904] qtmir.surfaces: MirSurface[0x35577d70,"sol"]::setFocused(true)^M [2017-03-20:19:35:23.911] qtmir.surfaces: MirSurface[0x35577d70,"sol"]::setReady()^M [2017-03-20:19:35:23.921] qtmir.surfaces: MirSurface[0x35577d70,"sol"]::updateExposure(true)^M [2017-03-20:19:35:23.923] toplevelwindowmodel: setFocusedWindow(Window[0x2e53a140, id=13, MirSurface[0x35577d70,"About Aisleriot"]])^M [2017-03-20:19:35:23.924] qtmir.surfaces: MirSurface[0x35577d70,"sol"]::setKeymap("us")^M [2017-03-20:19:35:26.995] qtmir.surfaces: MirSurface[0x35577d70,"sol"]::activate()^M [2017-03-20:19:35:57.911] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::close()^M [2017-03-20:19:36:00.995] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::onCloseTimedOut()^M [2017-03-20:19:36:01.013] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::setLive(false)^M [2017-03-20:19:36:01.018] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::unregisterView(268052752) after=0 live=false^M [2017-03-20:19:36:01.020] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::updateExposure(false)^M [2017-03-20:19:36:01.025] qtmir.surfaces: MirSurface[0x3c828f80,"sol"]::~MirSurface() viewCount=0^M [2017-03-20:19:36:01.085] toplevelwindowmodel: removeAt after (index=0,appId=unity8-dash,surface=0x225db2f0,id=4)^M [2017-03-20:19:36:01.136] qtmir.surfaces: MirSurface[0x35577d70,"sol"]::unregisterView(744596304) after=0 live=true^M [2017-03-20:19:36:01.138] qtmir.surfaces: MirSurface[0x35577d70,"sol"]::updateExposure(false)^M [2017-03-20:19:37:16.440] qtmir.surfaces: MirSurface[0x225db2f0,"unity8-dash"]::activate()^M [2017-03-20:19:37:16.453] qtmir.surfaces: MirSurface[0x35577d70,"sol"]::setFocused(false)^M [2017-03-20:19:37:16.457] qtmir.surfaces: MirSurface[0x225db2f0,"unity8-dash"]::setFocused(true)^M [2017-03-20:19:37:16.485] toplevelwindowmodel: setFocusedWindow(Window[0x336acfc0, id=4, MirSurface[0x225db2f0,"Scopes"]])^M The process tree is still intact. Here's the relevant snippet from $(ps -fax). 18164 ? Ss 0:00 \_ /usr/bin/python3 /usr/bin/libertine-launch /usr/games/sol 18165 ? Sl 7:19 \_ Xmir -rootless -displayfd 3 -mir sol 18171 ? Sl 0:00 \_ pasted 18172 ? Sl 0:00 \_ /usr/games/sol Using $(lsof) I can see that Xmir is still connected to the Unity 8 process over the Mir socket. -- You received this bug notification because you are a member of Ubuntu-X, which is subscribed to xorg-server in Ubuntu. https://bugs.launchpad.net/bugs/1671731 Title: [xmir] closing an app while a child window is opened leaves an Xmir process opened eating 100% CPU To manage notifications about this bug go to: https://bugs.launchpad.net/canonical-devices-system-image/+bug/1671731/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~ubuntu-x-swat Post to : ubuntu-x-swat@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-x-swat More help : https://help.launchpad.net/ListHelp