Bug 14693

Summary: [945GM] The system freezes with blank screen
Product: xorg Reporter: Alexandre Garcia <alexmgarcia>
Component: Driver/intelAssignee: Jesse Barnes <jbarnes>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: high CC: vbordug
Version: 7.3 (2007.09)Keywords: NEEDINFO
Hardware: x86 (IA32)   
OS: All   
URL: http://bugs.archlinux.org/task/8976
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 15000    
Attachments:
Description Flags
Don't restore pipes unconditionally (should help some 855 users)
none
messages.log
none
xchat.log
none
xorg.conf
none
xorg log none

Description Alexandre Garcia 2008-02-26 13:43:39 UTC
Sometimes my screen becomes blank and hiting ctrl+alt+f1 to go to a tty is impossible.
I checked the logs and found that:

(/var/log/Xorg.log):
(WW) intel(0): PRB0_CTL (0x0001f001) indicates ring buffer enabled
(WW) intel(0): PRB0_HEAD (0xbc814464) and PRB0_TAIL (0x000145b8) indicate ring buffer not flushed
(WW) intel(0): Existing errors found in hardware state.

(/var/log/messages.log):
Dec 19 22:57:51 laptop gdm-binary[7001]: WARNING: gdm_slave_xioerror_handler: Fatal X error - Restarting :0
Dec 19 22:57:52 laptop acpid: client connected from 8863[0:0]
Dec 19 22:57:52 laptop acpid: 1 client rule loaded
Dec 19 22:58:04 laptop acpid: received event "button/power PWRF 00000080 00000001"
Dec 19 22:58:04 laptop acpid: notifying client 6921[82:82]
Dec 19 22:58:04 laptop acpid: notifying client 6945[0:0]
Dec 19 22:58:04 laptop acpid: notifying client 7009[0:0]
Dec 19 22:58:04 laptop acpid: client has disconnected
Dec 19 22:58:04 laptop acpid: notifying client 8863[0:0]
Dec 19 22:58:04 laptop acpid: executing action "/etc/acpi/handler.sh button/power PWRF 00000080 00000001"
Dec 19 22:58:04 laptop logger: PowerButton pressed: PWRF
Dec 19 22:58:04 laptop acpid: action exited with status 0
Dec 19 22:58:04 laptop acpid: completed event "button/power PWRF 00000080 00000001"

(note that I need to press power button to reboot the machine)

This is happening since 2.2.0 (now I have 2.1.1, and same thing). In version 2.1.1 it was ok.
Comment 1 Eric Anholt 2008-02-26 17:32:27 UTC
We need to know what chip you have, and some way of reproducing this.  That excerpt of your log looks like the results of "we hung the chip, X exited, then X started up again and noted that something had gone wrong."  Maybe.  Please upload a whole log of the failure (might be in /var/log/Xorg.0.log.old instead of /var/log/Xorg.0.log if X did in fact exit when the problem first occurred and your server restarted) as a text attachment to this bug.
Comment 2 Gordon Jin 2008-02-26 17:34:42 UTC
Please refer to http://www.intellinuxgraphics.org/how_to_report_bug.html to
provide sufficient info.

When it "freezes", network and keyboard don't work, right?
Comment 3 Alexandre Garcia 2008-02-27 00:16:00 UTC
I've changed to version 2.1.1 and it is ok.
But here is the specifications:
Chipset: i945 (Intel 945GMA)
system arch: i686
xf86-video-intel: >= 2.2.0
xserver: 1.4.0.90
mesa: 7.0.3rc1
drm: 2.3.0
kernel version: 2.6.24-ARCH
distro: ArchLinux
Reproduce steps: Install the bugged version of driver and have the "luck" to freeze the machine.
Attachements: As I've changed to a old driver, the logs of the freezing had gone, but here: http://bugs.archlinux.org/task/8976 exists more logs of that problem.

Gordon Jin, the keyboard don't work, but I didn't tested the network.
Comment 4 Wang Zhenyu 2008-03-14 00:39:14 UTC
It looks a regression from 2.1.1 driver. Could you help to git-bisect which commit might cause the problem?
Comment 6 Jesse Barnes 2008-03-14 09:50:37 UTC
Are you sure you bisected correctly?  The change you pointed at is just a version bump, nothing in the driver was actually modified.  Or are you saying the very next commit caused the problem?
Comment 7 Alexandre Garcia 2008-03-14 11:41:06 UTC
I am saying that since that version it started getting this freezes.
Comment 8 Jesse Barnes 2008-03-14 12:38:37 UTC
So it sounds like you didn't actually run the bisect...

But you have two versions, one good and one bad, so you can start the bisect process by doing 'git bisect start 04b60b6d3436fb57163c23acf335364f0ea2f79c 3c552af65d28fafec1d09484a8914b690b961349' then follow the directions from 'git help bisect' to narrow down the exact commit that broke things for you.

Thanks,
Jesse
Comment 9 Wang Zhenyu 2008-03-18 22:50:28 UTC
Any news about this? Does system still freeze or any bisect result?
Comment 10 Alexandre Garcia 2008-03-19 02:43:02 UTC
I can't debug this, because I use this: http://xorg.freedesktop.org/archive/individual/driver/xf86-video-intel-2.1.1.tar.gz

Any version after that is bugged.
Comment 11 Jesse Barnes 2008-03-19 08:58:22 UTC
Ok, since 2.1.1 works for you, can you build it directly from git and help us isolate where the bug actually started (it was between releases somewhere).

This should get you a working driver:
  $ git clone git://git.freedesktop.org/git/xorg/driver/xf86-video-intel
  $ cd xf86-video-intel
  $ git checkout xf86-video-intel-2.1.1
  $ ./autogen --exec-dir=/usr # and --libdir=/usr/lib64 if you're on x86_64
  $ make
  $ su -c "make install"

If that still works, then you can start looking for the problem:
  $ git checkout master
  $ git bisect start
  $ git bisect bad
  $ git bisect good xf86-video-intel-2.1.1

But my guess is that if you revert the patch in the next comment the latest tree might work for you.
Comment 12 Jesse Barnes 2008-03-19 08:58:54 UTC
Created attachment 15303 [details] [review]
Don't restore pipes unconditionally (should help some 855 users)
Comment 13 Alexandre Garcia 2008-03-19 12:27:28 UTC
The --exec-dir doesn't exists.
Comment 14 Jesse Barnes 2008-03-19 12:51:00 UTC
Oops, I meant --exec-prefix, sorry.  There are better instructions here:
http://www.intellinuxgraphics.org/install.html
Comment 15 Alexandre Garcia 2008-03-19 12:59:36 UTC
i810_driver.c:399: error: ‘PACKAGE_VERSION_MAJOR’ undeclared here (not in a function)
i810_driver.c:399: error: ‘PACKAGE_VERSION_MINOR’ undeclared here (not in a function)
i810_driver.c:399: error: ‘PACKAGE_VERSION_PATCHLEVEL’ undeclared here (not in a function)
make[3]: *** [i810_driver.lo] Error 1
make[3]: Leaving directory `/home/amg/Desktop/xf86-video-intel/src'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/amg/Desktop/xf86-video-intel/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/amg/Desktop/xf86-video-intel'
make: *** [all] Error 2
Comment 16 Jesse Barnes 2008-03-19 13:12:23 UTC
You'll need the X development headers & macros from your distro installed before the autogen & configure will work right.  Does your distro have those packaged?
Comment 17 Alexandre Garcia 2008-03-19 13:27:44 UTC
Nop.
Comment 18 Wang Zhenyu 2008-03-24 19:19:25 UTC
Alexandre, what's your laptop model? And we haven't seen any log files posted, pls attach your logs here.

Jesse, want me to test your patch on my GM855?
Comment 19 Alexandre Garcia 2008-03-25 06:35:47 UTC
Created attachment 15449 [details]
messages.log
Comment 20 Alexandre Garcia 2008-03-25 06:36:07 UTC
Created attachment 15450 [details]
xchat.log
Comment 21 Alexandre Garcia 2008-03-25 06:36:21 UTC
Created attachment 15451 [details]
xorg.conf
Comment 22 Alexandre Garcia 2008-03-25 06:36:39 UTC
Created attachment 15452 [details]
xorg log
Comment 23 Alexandre Garcia 2008-03-25 06:37:22 UTC
Wang, look at the attachements, I've commented the files to explain when it happens, etc...
Comment 24 Alexandre Garcia 2008-03-25 06:38:09 UTC
By the way, I have a HP Pavilion dv6128ea with Intel GMA 945
Comment 25 Jesse Barnes 2008-03-25 15:40:59 UTC
Alexandre, can you find the X log file that contains the crash information?  It may be called Xorg.0.log.old after the crash happens and gdm restarts X.
Comment 26 Alexandre Garcia 2008-03-25 15:52:52 UTC
The attach xorg log is Xorg.0.log
Comment 27 Jesse Barnes 2008-03-25 16:15:06 UTC
Right, but it doesn't contain any crash information.  Since you're running gdm, X will just restart after a crash so the Xorg.0.log won't contain useful information.  Can you please attach your Xorg.0.log.old file after a crash happens?
Comment 28 Alexandre Garcia 2008-03-25 16:25:20 UTC
*G*, tomorrow will do that.
Comment 29 Alexandre Garcia 2008-03-26 11:40:00 UTC
The log is the same. :S
Comment 30 Jesse Barnes 2008-03-26 11:47:03 UTC
Ok...  Can you spend some time figuring out exactly what sequence of events causes the "blank screen" problem?  If you can find that, then maybe we can reproduce it on our side and find the problem...
Comment 31 Alexandre Garcia 2008-03-26 12:24:28 UTC
It is "random", sometimes I am listening music with exaile, in xchat chatting, firefox opened and it crashes. Other times I am not with this all stuff opened...
Comment 32 Jesse Barnes 2008-03-26 12:46:44 UTC
Well, I think we'll need more info to track it down.  Either a series of steps that always causes the crash, or some useful logs of the crash...  There are some instructions at intellinuxgraphics.org and http://wiki.x.org/wiki/Development/Documentation/ServerDebugging that might help you capture some useful debug data...
Comment 33 Vitaly Bordug 2008-03-26 16:53:14 UTC
Tracking this.. Having same trouble (or very alike) with latest git of intel driver. Looks like tough deal to bisect: many tags earlier than HEAD just do not build, and since I'm kernel chap, do not have alot of ideas how to hack-n-fix that.

So far, on my 

00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03) (prog-if 00 [VGA controller])
	Subsystem: Hewlett-Packard Company NX6110/NC6120
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Memory at d0400000 (32-bit, non-prefetchable) [size=512K]
	I/O ports at 7000 [size=8]
	Memory at c0000000 (32-bit, prefetchable) [size=256M]
	Memory at d0480000 (32-bit, non-prefetchable) [size=256K]
	Capabilities: [d0] Power Management version 2
	Kernel modules: intelfb, i915

I can start X only once. Switching to the console back and forth (may be fb console or normal - no difference) turns backlight off. IOW, one can still see login prompt from gdm if tries hard enough :)
Comment 34 Jesse Barnes 2008-03-26 17:15:32 UTC
Vitaly, that sounds like a different bug than this one.  Can you file a new bug for it with the info requested in http://www.intellinuxgraphics.org/how_to_report_bug.html?  I'm also curious what 'xrandr --prop' reports on your machine after starting up.  And please try to reproduce the problem without the intelfb (or any fb) drivers loaded too please.
Comment 35 Alexandre Garcia 2008-03-28 03:07:15 UTC
Jesse, look at that:
http://bugs.archlinux.org/task/8976#comment26458
Comment 36 Jesse Barnes 2008-03-28 08:43:29 UTC
Looks like the bug is fixed, thanks for the link!

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.