Web lists-archives.com

Re: KDE hang? (not computer, not X11?)

Hi Mark,

On Sunday, 2017-03-05, 10:33:09, Mark Knecht wrote:
> Hi Kevin,
>    Responses inline below.
> On Sun, Mar 5, 2017 at 1:37 AM, Kevin Krammer <krammer@xxxxxxx> wrote:
> > On Saturday, 2017-03-04, 13:23:37, Mark Knecht wrote:

> > > The mouse worked, the cursor moved, but nothing responded. The
> upper-left
> > > trigger to see all windows didn't work, the KDE menu was non-responsive
> and
> > > the Windows VM was non-responsive. However the programs running in the
> VM
> > > were still working and completed normally. I just had no apparent way to
> > > use KDE.
> > 
> > Could you still interact with the VM?
> No. The VM was visually still updating - downloading data was proceeding
> and the program inside of Windows was doing everything as expected. However
> neither the keyboard or mouse had any impact on what it was doing.

That sounds a lot like something holding a global input grab.

Output of any kind is not affected, but nothing can receive input events 
anymore as everything goes to the "grabber".

Unfortunatly I don't know if there are any x11 tools that would allow to 
identify the window/program holding it.

> As I said, the cursor pointer in KDE was still visible and moveable around
> the screen. It covered all 3 monitors and stopped at the boundary as
> expected but clicking the mouse did nothing. Also, rolling the roller on
> the mouse usually changes the virtual desktop being displayed but at this
> point it didn't work.

Right, movement is not affected.

> > Do you have any regularily updating element on your desktop/panels, e.g. a
> > clock? If yes, check if it still updates.
> The clock in the VM continued to update. I do not remember if the KDE Task
> Manager widget clock updated.

Ok, that would at least indicate that plasmashell was not frozen.

> > > 4) I was able to shell to the console using Ctrl-Alt-F1 where I could
> log
> > > in as root and also in my user account. Ctrl-Alt-F7 brought me back to
> X11
> > > which was still non-responsive.
> > 
> > Only mouse not responding or keyboard functions also?
> > E.g. Alt+F2 (KRunner)?
> I sadly didn't think to try any KDE specific key combinations like Alt-F2
> however Alt-tab did not appear to work. However when there's only 1 app
> open I'm not sure it shows anything. Anyway, Alt-F2 is now on my list of
> things to try if this happens again.

Alt-Tab was a good thing to try.
Alt-F2 is just targetting a different process, so even if the Window manager 
was frozen, it should still work.

If not input works but updates appear its a strong indication of the global 
input grab/lock.

> > The only way to recover from that is to get that "lock" released, e.g. by
> > closing the window that grabbed input or killing the respective process.
> > 
> > If it is just a process hanging, e.g. plasmashell or kwin, then killing
> that
> > and restarting it would already solve the problem.
> As I was able to shell to the console is there something I could have run
> to tell me who owns the mouse at any given time? After the VM shut down I
> still couldn't switch virtual desktops and there didn't appear to be any
> apps open, at least by looking at the 6 Pager icons. However if the
> application that grabbed the keyboard and/or mouse was minimized I wouldn't
> have seen it anyway. (Or so I think.)

As I wrote above I am not aware of any tool for X11 "introspection" but I 
don't know a lot about these tools in any case.

One thing that I suspect is that such a window might not even have to be 
visible, an X11 client might even be able to request the input exclusivity 
with just a connection to the X server, i.e. without any window.

In one case I had a similar experience when the "lock" screen (as in 
screensaver lock) would have been activated functionally but not visually.

So the screen was effectively locked, the "lock screen" holding the input 
grab, but no "lock screen" visuals being shown.

So it looked like an unresponsive session that was still working normally as 
far as updates were concerned.

> After the VM was gone I couldn't log out of KDE as the KDE Launcher menu
> still wasn't responding.

I think it is possible to trigger logout through D-Bus.

E.g. in the linux console you would need to export DISPLAY to point to the X 
server and then run a D-Bus command.

Something like

export DISPLAY=0:0
qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 0 0 0

Though I am not sure what the three numerical values mean.

Kevin Krammer, KDE developer, xdg-utils developer
KDE user support, developer mentoring

Attachment: signature.asc
Description: This is a digitally signed message part.