Some updates since the last post:
The "GTK dies on a keypress" bug
Good news: it was fixed by Matthias Clasen. It was solved in the SVN version, I guess that we'll have to wait a while till it gets into the next version, Unless package maintainers would manually add it.
Doing a good QA in the FOSS community
I've learned a quick lesson about good QA in the open source community, which I find very rare.
In this case the bug was reported for ~2 months with no activity ("it sometimes crashes" type of report). Until I've added my description, which, probably helped it to get closed.
I'll try to sum up what I've learned:
This annoying vmware-deletes-the-modifier-keys bug I wrote about is still a mystery, but still I gained some more info. There are two problems:
1. VMware deletes modifier keys:
- Can be replicated by holding a modifier key down inside a guest OS (VMware console). Then moving the mouse out of the guest OS window, while modifier is still down.
- Happens on modern Ubuntu/Debian/Arch Linux versions.
- Very likely, but not 100% confirmed: happens since Xorg 7.3.
- Doesn't happen on CentOS / RedHat EL 5. (Apparently because they use Xorg 7.1.1?)
- Links: Ubuntu launchpad, VMware forums.
Still, is it an Xorg bug or VMware one? (or GTK)
2. GTK apps crash on a keypress, when X modifiers-list is empty.
- If 'xmodmap' is emptied (either by the VMware bug described above, or by manually removing all the modifiers), each new-running GTK app would just crash as the first key is pressed.
- This doesn't happen to KDE or plain-X11 apps.
- Segmentation fault is received in the _gdk_keymap_key_is_modifier() function in gdkkeys-x11.c:1662.
- I tried digging the code, but no luck yet (all I could do is skip the function if no modifiers are set, but I don't know GDK enough to know the other effects it can have).
- Links: Gnome bugzilla.
I'll keep updating in case there'll be something interesting.
Update: gtk bug got fixed.
For many months(!) now, once a while my CTRL/ALT keys just stop functioning. Running xmodmap returns a list of empty modifiers (no Ctrl/Alt attached to them).
Recently I've got the feeling that VMware server console is the one to blame, and a long search on the web revealed this ubuntu bug, In which Pete describes exactly how to reproduce:
- In VMware console, put the mouse inside the guest machine
- Hold the Ctrl key down
- Take the mouse out of the guest machine
- Leave the Ctrl key
- Run xmodmap and viola, it's empty!
(To get the modifiers back run something like xmodmap /usr/share/xmodmap/xmodmap.us-101)
The bug is reported to Ubuntu, but it's something bigger - I'm experiencing it in Debian (can you reproduce it on another distro?).
I wonder who should I report it to: it might be a bug in Xorg, Linux Kernel (usb keyboard driver), or even just a VMware bug (less likely though).
Update: actually I think that this is the relevant bug, and not the one I originally linked to.