
I've been having periodic hangs of X under Linux for quite a while - since Ubuntu 8.10, in fact. Since the hang is something that largely doesn't bother writing anything to logs it's taken me quite a while to track down what the issue is - and I now suspect it to be the Intel i915 chipset drivers for Linux. This is getting increasingly frustrating as I see the complete hang almost once a day now, making my laptop effectively unusable.
Symptoms include the screen freezing, and possible corruption of the image on the screen. The keyboard gets locked out completely, except for the power button (which will only respond if you hold it in for 4 seconds to power the machine off.) The mouse may still work, and you may still be able to move the mouse cursor around the screen, but clicking has no effect. You can verify it's not a kernel stop / hang if you install an SSH server and use a second maching to log in remotely. While performance is poor (I suspect some loop is cycling trying to recover the i915 driver or hardware) you can view logs and interact with the box in the normal fashion, verifying that networking, the kernel and everything else except X, the monitor and keyboard is running happily.
What makes it extra annoying is that the failure mode stops you doing a clean shutdown of the box, even remotely. 'halt', 'shutdown', 'reboot', 'init 1', and anything else I tried completely failed to unwedge the box, possibly indicating that the kernel should be a little more harsh about killing things in the face when told to - but there's a fine line to be drawn there I'll admit, particularly with respect to waiting for older, slower hardware to respond, flush buffers, etc.
You may be susceptible to this problem is you see things like the following in your logs:
[drm:i915_setparam] *ERROR* unknown parameter 4 [drm:i915_getparam] *ERROR* Unknown parameter 6 [drm:i915_get_vblank_counter] *ERROR* trying to get vblank count for disabled pipe 0
[drm:i915_gem_entervt_ioctl] *ERROR* Reenabling wedged hardware, good luckwhich I think says it all. I was unable to reproduce production of this error line this morning.
![[IPv6 Ready]](http://9-badges.ipv6ready.ie/9/94/2f/05/9942f05fd76ad162164ae4abe1b094cd49d0d070-m.png)
