Bug 337163

Summary: when plasmashell gets stuck kwin offers to kill it, doesn't allow for autorecovery
Product: [Plasma] kwin Reporter: Harald Sitter <sitter>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED INTENTIONAL    
Severity: wishlist    
Priority: NOR    
Version First Reported In: git master   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Harald Sitter 2014-07-07 07:54:26 UTC
when/if plasmashell gets itself into a bit of a sticky situation kwin will detect this and offer to kill the shell. however neither plasma nor kwin do anything to recover the shell again.

this effectively leaves the user on a black background (unless there was a window open anyway) without any discoverable way of recovering things manually (read: logout/shutdown) which is incredibly rude and incredibly bad from a UX perspective.

kwin should autorestart whatever it killed or plasmashell should autorecover when killed.

Reproducible: Always
Comment 1 Martin Flöser 2014-07-07 08:02:49 UTC
This is outside the scope of KWin's killer. The killer is only shown if you click the close button. If one uses the ctrl+alt+esc key sequence it's not the killer at all. Offering a restart for an window which is supposed to be closed doesn't make any sense at all. KWin doesn't detect a hanging application, only a not closing application that is quite a difference.
Comment 2 Thomas Lübking 2014-07-07 08:15:35 UTC
kwin will detect a pending close request for plasma-desktop in-process diaglogs.

this one's not simple.

a) kwin cannot restart the hanging client.
this does usually not make any sense and we could *at best* (on linux, with mounted /proc) restore the commandline, but not the state (you loose 10 kwrite docs and get one empty window in return)
b) plasma-desktop (or anything) cannot restart itself for a sigkill (let's assume it would be technically possible: the user could never again get rid of a plasma-desktop that's life-locked in some plasmoid)

-> plasma-desktop would probably require a watchdog kded module
it had to deactivate it on sigterm
the dog needs to ask before recovering plasma-desktop

at least i don't see another way.
Comment 3 Harald Sitter 2014-07-07 08:25:27 UTC
plasma bug report is bug #337164

I didn't actually realize that the kwin interaction only kicks in when one tries to close a window, makes more sense that way.