! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
screenshooter hangs system when invoked from the panel plugin
Status:
RESOLVED: FIXED
Product:
Xfce4-screenshooter
Component:
General

Comments

Description Klaus Kusche 2019-03-02 20:09:57 CET
When the screenshooter ist started from the panel plugin and has been set to "select a region" (I didn't try the other settings),
it freezes the system: The system no longer responds to any mouse or keyboard action (only Alt-SysRq still works to reboot the system the hard way).

Starting the screenshooter command normally works as expected.

Panel is 4.13.4, set to autohide always.
The panel freezes in the expanded position, it does not hide after clicking the screensaver panel plugin.
Comment 1 Andre Miranda editbugs 2019-03-03 17:06:41 CET
I can't reproduce. Disabling autohide makes any difference?
It would also be helpful if you could launch panel from terminal (xfce4-panel -q && xfce4-panel) and check if any error message shows up.
Comment 2 Klaus Kusche 2019-03-03 21:13:53 CET
First, I have to correct myself: 
The panel *hides* before the freeze happens, it does not freeze in expanded position.

Now the additional info:

* More detailled description of "freeze":
- The mouse cursor is changed to crosshair to select a region.
- The cursor still moves as usual if the mouse is moved (so X is alive), 
but the X session does not react to mouse clicks or key presses.
- Even after several mouse clicks or drags, the mouse cursor remains crosshair
(hence, obviously, no region is selected, it seems that the "start region select" click
does not arrive at the plugin or does not work as expected).
- However, the X server does react to VT switches:
I was able to log in from a text vt.

* The X session continues to work normally after the sceenshooter plugin process is killed from the text mode vt. The cursor also changes back to normal.

* The problem only happens when the screenshooter panel plugin is set to "select a region". The plugin works correctly when set to "entire screen" or "active window".

* Panel autohide on or off makes no difference, the problem occurs with both settings.
With autohide off, I noticed that the screenshooter panel button becomes and remains disabled (grayed out) as soon as it is clicked.

* The panel does not produce any error messages when the problem occurs.
It does produce quite some messages on startup (none of them look related),
and it produces a "restarted after crash" message after I killed the screenshooter process, but nothing when the freeze happens.
Comment 3 Andre Miranda editbugs 2019-03-06 18:19:09 CET
Thanks for the detailed information, after some investigation I found out the issue to be caused only when display compositing is disabled, is this your case?

It used to work fine with panel 4.13.3, but this change seems to have messed up the seat/device grab:
https://git.xfce.org/xfce/xfce4-panel/commit/?id=e56e8699e271cea209f5b283421952d9035ad2b5

I'll see what I can do from screenshooter's side.
Comment 4 Klaus Kusche 2019-03-06 18:34:40 CET
(In reply to Andre Miranda from comment #3)
> Thanks for the detailed information, after some investigation I found out
> the issue to be caused only when display compositing is disabled, is this
> your case?

You are talking about Xfce "Window Manager Tweaks" settings dialog, last tab "Compositor", first checkbox? Yes, that's disabled here.
Comment 5 Git Bot editbugs 2019-03-06 19:20:31 CET
Andre Miranda referenced this bugreport in commit 187d4ec91999d67db4490f6c3fc5283fb376f5b0

React to core X input events when XInput is not available (Bug #15166)

https://git.xfce.org/apps/xfce4-screenshooter/commit?id=187d4ec91999d67db4490f6c3fc5283fb376f5b0
Comment 6 Andre Miranda editbugs 2019-03-06 19:21:27 CET
Klaus, are you able to build from git master to check if the commit above solves the problem for you?
Comment 7 Klaus Kusche 2019-03-06 19:42:55 CET
Building git master is a little bit difficult for me,
but I built the regular 1.9.3 screenshooter package for my distro
with that single commit applied to it.

It successfully applied (with some lines offset) and compiled,
it solved this bug, and it didn't have any obvious negative side effects.
Comment 8 Andre Miranda editbugs 2019-03-06 19:44:21 CET
Awesome, many thanks for testing.
I hope to release 1.9.4 this weekend.

Bug #15166

Reported by:
Klaus Kusche
Reported on: 2019-03-02
Last modified on: 2019-03-06

People

Assignee:
Jérôme Guelfucci
CC List:
1 user

Version

Attachments

Additional information