My X pain

Since it’s very unlikely that I will see an improved a for me in Ubuntu Hardy (only showstopper bugs will be fixed now that the CD images are building and in any case, 4 days seems like an unreasonable timeframe) and Bryce Harrington wrote about filing good X bugs the other day, I thought I’d make some notes on why mine is a pain. Note that Harrington’s timing is good, but he’s not talking directly to me. And none of this will be surprising to people who regularly work with bugs. There’s often one that can only be triggered on a rainy night after moon rise by a user with malaria, and you only have this one guy saying it happens all the time for him and completely and uselessly fails to mention that he lives near a swamp in a tropical country, and besides he can’t see moon rise through the clouds. Plus, the fevers confuse him.

It’s not very good form to blog about a bug without reporting it, but this one does not meet my ‘reportable’ threshold, which is that if someone says does blah fix it? I need to be able to answer in a fashion other than I have no idea.

The form that my bug takes is similar to bug 194214 except that it does not prevent me from using Ctrl+Alt+Backspace to restart X. My system will get into a state where various things happen on some desktops and different things on others (sometimes or perhaps always actually in different windows, since I run them maximised it’s difficult to tell). On one, often the Shift key will be always pressed and the mouse not usable. On another, clicks on the window that appears to be in front will actually go to the window behind it. On one, Alt-Tab will switch windows and it won’t work on another. All of these may happen simulataneously. Normality is restored only by restarting X.

The major problem is that I have no real way of deliberately triggering it. I have the impression that it is something to do with using the mouse and the keyboard together, but I do that all the time and my brain does not appear to be set up to recreate my muscle memory hand movements, not even immediately after. For example, it took me ages to realise that the occasional sudden and annoying appearance of GNOME Help Centres is due to accidently pressing F1. Unusual keyboard triggered events on my system are almost always accompanied by help, what did I press, what did I press?! and frantic peering at my keyboard. (Being a touch typist except for my right little finger sucks here.) I don’t have a chance in hell of intentionally recreating whatever scenario is going on here unless I get Andrew to stand beside me while I type and do nothing but watch. He does have that kind of patience but he chooses when.

Using git-bisect or similar from Harrington’s entry is thus going to be extraordinarily tiresome. I used version such and such for 5 days, and there weren’t problems, so on the balance of probabilities, this version doesn’t have the bug in question, seems unscientific. Well, unless I work out the frequency a little better and where my 95% confidence margin is. Which means I might also want the distribution of the occurences. A slightly better method probably consists of sitting down with the codebase and looking at the diff for each revision for likely looking changes. (Comments like ‘and this is the bit that definitely for sure makes clicks go to the window with focus. FOR SURE!’ would be helpful there.)

PS Standard ‘not really looking for advice’ disclaimer applies. Unless you happen to have an Ubuntu or bug number to hand. Or well, if you happen to know a lot about reproducing input problems in X.