[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#364288: Randomly loses input since X11R7 upgrade



* David Martínez Moreno

> I think that you could use xev in order to know if X.Org is receiving
> input:
> 
> I am supposing you are "capable" of making the failure happen quickly
> (more or less).
> 
> First launch a terminal and a browser in the same desktop. Then use
> xwininfo in order to obtain the ID of the browser. Then launch xev -id
> WINDOW_ID in the terminal and feel free to surf. As you will see, xev
> intercepts *every* event belonging to the window (key presses, mouse
> movements, etc.). When it happens, you can tell us if you start to
> lack output in the xev terminal. If so, I would guess for a kernel
> problem. If not...well, we could try another thing. :-)

  I thought of this a few minutes after writing my original report, but
 obviously forgot to follow up with my results.  I'm at work now, so
 this is from memory, but what I did was something like this (when the
 breakage happened):

  1) Change to another VT (with the help of Alt+SysRq+R).
  2) From there start DISPLAY=:0 xev
  3) Change back to the VT with X, where xev now is visible and has
     input focus according to my window manager

  And then batter the keyboard, move the pointer around, hit mouse
 buttons, and so on, and change back to the VT where xev was started to
 inspect the output.  The result:  No MotionNotify, KeyPress/Release, or
 ButtonPress/Release events at all.  The only ones were some Expose and
 Visibility*-events (can't quite remember the order of them, though).

  I'm using focus-follows-pointer, but the focus do not change from the
 xev window when I move the pointer to some other window, so the window
 manager appears to be oblivious to the MotionNotify-events too.  It
 seems as if the X server simply stops sending those events.

  It might of course be a kernel bug - I did indeed upgrade to 2.6.16
 recently.  I can try downgrading to 2.6.15 and see if I experience the
 bug then.  The X server is my prime suspect though - the keyboard works
 perfectly on the console, and I need only restart X to fix the problem.
 I will install GPM to see if the mouse continues working fine on the
 console when X has problems.

  One thing that really makes me think the kernel is unlikely, is the
 fact that the pointer actually moves around the screen when I move the
 mouse, so the X server has to receive the events from the kernel orelse
 the pointer would appear to be stuck/frozen, no?  Yet there's no
 MotionNotify-events - I assume the kernel doesn't have anything to do
 with generating those?

  I will attach an xev to my browser like you suggested and see if I get
 the same results.  However I'm unable to reproduce it at will, it just
 happens once in a while - and I can't guarantee that I will be
 browsing when it happens.  I'll try (from the console) to attach xev to
 whatever window had focus if that happens, though.  I guess I can use
 xwininfo -name to get the window ID without having to rely on the mouse
 working, so that should be no problem.

  Another thing I just thought of and I'll try is to remove all the USB-
 related modules and re-insert them again, to see if that will fix the
 problem without requiring a restart.  Both my keyboard and my mouse
 are USB devices.  I did try hotplugging them though, without any
 success.

Kind regards
-- 
Tore Anderson




Reply to: