codehenry / xmonad

Automatically exported from code.google.com/p/xmonad
0 stars 0 forks source link

XMonad freezes occasionally when using Gridselect (XMonadContrib) #515

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Toggling Gridselect (goToSelected/gridselectWorkspace)
2. Attempt to move to another window or workspace.

What is the expected output? What do you see instead?
Expected output: Normal 2D grid of windows/workspaces, that I can swap to using 
the keyboard.

What I see: The 2D grid opens, but any subsequent input from the keyboard will 
occasionally cause XMonad to freeze; windows and workspaces will become 
unresponsive. It is possible to go to another tty to kill xmonad, after which a 
WM can be launched on the appropriate display. 

What version of the product are you using? On what operating system?
XMonad version 0.10 (built from source, package manager, and Cabal) on the 
following OS's:
- LinuxMint (DebianTesting edition) using XFCE4. 
- Xubuntu (11.10 and 12.04).
- Ubuntu (12.04).

All setups tried on two separate laptops, Lenovo Thinkpad X220 and T400s.

Are you using an xmonad.hs?  Please attach it and the output of "xmonad
--recompile".
No output.

Please provide any additional information below.
My xmonad.hs uses custom functions for gridselecting windows and workspaces, 
but the same error occur with the default configuration.

Upon freeze, there is no relevant error logging output in /var/log/messages, 
~/.Xsession-errors or ~/.xmonad/xmonad.errors.

Original issue reported on code.google.com by bmathiasen on 20 Sep 2012 at 8:12

Attachments:

GoogleCodeExporter commented 8 years ago
Have you had a look at 
http://www.haskell.org/haskellwiki/Xmonad/Frequently_asked_questions#XMonad_is_f
rozen.21 yet?

Original comment by daniel.w...@gmail.com on 21 Sep 2012 at 6:13

GoogleCodeExporter commented 8 years ago
Except for the 'xclock'-method, I've tried (and failed) the other methods, 
excluding xmobar/statusbar as I don't use those.

I'll try 'xclock'-method, and post any updates as soon as I get them.

Original comment by bmathiasen on 22 Sep 2012 at 1:50

GoogleCodeExporter commented 8 years ago
xclock didn't help.

Original comment by bmathiasen on 22 Sep 2012 at 2:12

GoogleCodeExporter commented 8 years ago
It won't help you.  The problem is obvious.  When the GridSelect windows are 
displayed, the XServer is grabbed, presumably for the keyboard input although 
I've not checked the exact reasons why the XServer is grabbed in this case.

Original comment by thomas.a...@gmail.com on 1 Oct 2012 at 11:18

GoogleCodeExporter commented 8 years ago
If that is the case, surely every user of Gridselect should experience this?

Original comment by bmathiasen on 11 Oct 2012 at 6:44

GoogleCodeExporter commented 8 years ago
You won't see it 100% consistently; even the infamous putSelect wasn't 100% 
consistent.

I just went through the GridSelect code.  There is no full server grab; the 
keyboard and one mouse button are grabbed, though.  Beyond this, the issue is 
that xmonad is not processing events in its main loop, and this means

(a) it cannot do things like switching workspaces;
(b) events that GridSelect does not expect are simply dropped, meaning:
(c) new windows will completely fail to do the window management process;
(d) other potentially important X11 events and negotiations are dropped on the 
floor.

Which means that there are a number of ways that GridSelect can lead to 
gridlock with either clients or the X11 server.  If you pick your selection 
quickly, you likely won't notice; the longer GridSelect stays up, and the more 
things that happen while it's up, the more likely that xmonad will drop/ignore 
something critical.

Original comment by allber...@gmail.com on 11 Oct 2012 at 2:13

GoogleCodeExporter commented 8 years ago
Thanks for the elaborate response.

Just to bring a status update: XMonad doesn't seem to freeze on Arch (hope i 
don't jinx it ;).  Both systems have xmonad/+contrib installed through cabal 
and run identical xmonad.hs.

Here's some output from 'X -version' on my two currently running systems, in 
case it makes any difference:

Mint (debian) 'X -version':
X.Org X Server 1.12.1.902 (1.12.2 RC 2)
Release Date: 2012-05-19
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.2.0-2-amd64 x86_64 Debian
Current Operating System: Linux none 3.2.0-3-amd64 #1 SMP Thu Jun 28 09:07:26 
UTC 2012 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-3-amd64 
root=UUID=6cdaef22-3035-4c99-af66-553e95dcd62e ro quiet
Build Date: 20 May 2012  08:57:17AM
xorg-server 2:1.12.1.902-1 (Cyril Brulebois <kibi@debian.org>) 
Current version of pixman: 0.26.0

Arch 'X -version':
X.Org X Server 1.12.3.901 (1.12.4 RC 1)
Release Date: 1012-08-03
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.4.4-2-ARCH x86_64
Current Operating System: Linux bridgelinux 3.4.9-1-ARCH #1 SMP PREEMPT Wed Aug 
15 18:59:31 CEST 2012 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-linux root=/dev/sda1 ro quiet
Build Date: 09 August 2012 10:04:44AM
Current version of pixman: 0.26.2

Original comment by bmathiasen on 12 Nov 2012 at 10:17

GoogleCodeExporter commented 8 years ago
Nevermind, that was a false positive.  Freezing still occurs.  I'll attempt 
stracing the process.

Original comment by bmathiasen on 17 Nov 2012 at 10:19