Bug 36082

Summary: after moving from dual head to single head during suspend/resume, X just shows mouse cursor
Product: DRI Reporter: Frederik Himpe <fhimpe>
Component: DRM/IntelAssignee: Chris Wilson <chris>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: medium CC: eugeni, jbarnes
Version: XOrg 6.7.0   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
intel_gpu_dump
none
vbios.dump none

Description Frederik Himpe 2011-04-08 09:00:20 UTC
Debian bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=620177

After a suspend/resume cycle, quite often X gets stuck: instead of being
shown the GNOME unlock dialog, I just get a blank screen with the mouse
cursor in the middle of the screen. Sometimes I cannot move the mouse cursor anymore, but not always. Sometimes GNOME's unlock dialog is partially visible as a grey area, but without a visible text entry field.

X is not using 100% of CPU time, I can still switch to a console and back
Restarting the gdm3 service (thus restarting X), gives me a working X
again. There are no obvious errors in dmesg, Xorg.0.log nor
.xsession-errors. Often when this problem happens, I moved from dual head to single head configuration while suspend, but this may be just coincidence.

In my GNOME session, I'm using compiz.

ii  libdrm2                                  2.4.23-3                              Userspace interface to kernel DRM services -- runtime
ii  libdrm-intel1                            2.4.23-3                              Userspace interface to intel-specific kernel DRM services -- runtime
ii  libdrm-nouveau1a                         2.4.23-3                              Userspace interface to nouveau-specific kernel DRM services -- runtime
ii  libdrm-radeon1                           2.4.23-3                              Userspace interface to radeon-specific kernel DRM services -- runtime
ii  libgl1-mesa-dri                          7.10-4                                A free implementation of the OpenGL API -- DRI modules
ii  libgl1-mesa-glx                          7.10-4                                A free implementation of the OpenGL API -- GLX runtime
ii  libglu1-mesa                             7.10-4                                The OpenGL utility library (GLU)
ii  mesa-utils                               8.0.1-2                               Miscellaneous Mesa GL utilities
ii  x11-xserver-utils                        7.6+1                                 X server utilities
ii  xserver-common                           2:1.9.5-1                             common files used by various X servers
ii  xserver-xephyr                           2:1.7.7-13                            nested X server
ii  xserver-xorg                             1:7.5+8                               the X.Org X server
ii  xserver-xorg-core                        2:1.9.5-1                             Xorg X server - core server
ii  xserver-xorg-core-dbg                    2:1.9.5-1                             Xorg - the X.Org X server (debugging symbols)
ii  xserver-xorg-input-all                   1:7.6+6                               the X.Org X server -- input driver metapackage
ii  xserver-xorg-input-evdev                 1:2.6.0-2                             X.Org X server -- evdev input driver
ii  xserver-xorg-input-synaptics             1.4.0-1                               Synaptics TouchPad driver for X.Org server
ii  xserver-xorg-input-wacom                 0.10.10+20110203-1                    X.Org X server -- Wacom input driver
ii  xserver-xorg-video-all                   1:7.6+6                               the X.Org X server -- output driver metapackage
ii  xserver-xorg-video-apm                   1:1.2.3-2                             X.Org X server -- APM display driver
ii  xserver-xorg-video-ark                   1:0.7.3-2                             X.Org X server -- ark display driver
ii  xserver-xorg-video-ati                   1:6.14.0-1                            X.Org X server -- AMD/ATI display driver wrapper
ii  xserver-xorg-video-chips                 1:1.2.4-1                             X.Org X server -- Chips display driver
ii  xserver-xorg-video-cirrus                1:1.3.2-4                             X.Org X server -- Cirrus display driver
ii  xserver-xorg-video-fbdev                 1:0.4.2-4                             X.Org X server -- fbdev display driver
ii  xserver-xorg-video-i128                  1:1.3.4-2                             X.Org X server -- i128 display driver
ii  xserver-xorg-video-intel                 2:2.14.0-4                            X.Org X server -- Intel i8xx, i9xx display driver
ii  xserver-xorg-video-mach64                6.8.2-5                               X.Org X server -- ATI Mach64 display driver
ii  xserver-xorg-video-mga                   1:1.4.13.dfsg-3                       X.Org X server -- MGA display driver
ii  xserver-xorg-video-neomagic              1:1.2.5-2                             X.Org X server -- Neomagic display driver
ii  xserver-xorg-video-nouveau               1:0.0.16+git20101210+8bb8231-2        X.Org X server -- Nouveau display driver (experimental)
ii  xserver-xorg-video-openchrome            1:0.2.904+svn918-1                    X.Org X server -- VIA display driver
ii  xserver-xorg-video-r128                  6.8.1-5                               X.Org X server -- ATI r128 display driver
ii  xserver-xorg-video-radeon                1:6.14.0-1                            X.Org X server -- AMD/ATI Radeon display driver
ii  xserver-xorg-video-rendition             1:4.2.4-2                             X.Org X server -- Rendition display driver
ii  xserver-xorg-video-s3                    1:0.6.3-4                             X.Org X server -- legacy S3 display driver
ii  xserver-xorg-video-s3virge               1:1.10.4-4                            X.Org X server -- S3 ViRGE display driver
ii  xserver-xorg-video-savage                1:2.3.2-3                             X.Org X server -- Savage display driver
ii  xserver-xorg-video-siliconmotion         1:1.7.5-1                             X.Org X server -- SiliconMotion display driver
ii  xserver-xorg-video-sis                   1:0.10.3-3                            X.Org X server -- SiS display driver
ii  xserver-xorg-video-sisusb                1:0.9.4-2                             X.Org X server -- SiS USB display driver
ii  xserver-xorg-video-tdfx                  1:1.4.3-4                             X.Org X server -- tdfx display driver
ii  xserver-xorg-video-trident               1:1.3.4-2                             X.Org X server -- Trident display driver
ii  xserver-xorg-video-tseng                 1:1.2.4-2                             X.Org X server -- Tseng display driver
ii  xserver-xorg-video-vesa                  1:2.3.0-5                             X.Org X server -- VESA display driver
ii  xserver-xorg-video-vmware                1:11.0.3-2                            X.Org X server -- VMware display driver
ii  xserver-xorg-video-voodoo                1:1.2.4-2                             X.Org X server -- Voodoo display driver

Debian kernel 2.6.38-2-amd64 version 2.6.38-2.

Xorg log and X and gnome-screensaver strace and gdb backtraces can be found in the debian bug report.
Comment 1 Frederik Himpe 2011-04-08 09:02:23 UTC
Created attachment 45425 [details]
intel_gpu_dump

output of intel_gpu_dump while this error happens
Comment 2 Frederik Himpe 2011-04-08 09:04:03 UTC
Created attachment 45426 [details]
vbios.dump

I should also have added that I'm using a Dell Latitude E6400 system with this graphics chipset:

00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
        Subsystem: Dell Device 0233
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Region 0: Memory at f6b00000 (64-bit, non-prefetchable) [size=1M]
        Capabilities: <access denied>
Comment 3 Chris Wilson 2011-04-11 14:24:28 UTC
Frederik mentioned on irc that he thought it might be correlated with going from two output to a single output across suspend/resume. He included an trace-cmd record -e i915 that showed that the ddx was still rendering, so the question remains: where are we rendering to?

[Hint for future self: I need to compare the target of the execbuffers with the current object attached to the scanout.]
Comment 4 Frederik Himpe 2011-04-17 14:24:48 UTC
I have done some testing, and I'm now pretty sure that the move from dual head to single head across suspend/resume is indeed the trigger: every time I move from dual head to single head across suspend/resume on my system, this problem happens.
Comment 5 Frederik Himpe 2011-05-13 00:11:30 UTC
This bug still happens with 2.6.39-rc6, however a quick test seems to indicate that this bug does not happen with drm-intel-staging branch.
Comment 6 Frederik Himpe 2011-08-03 11:05:15 UTC
Bug still present in 3.0
Comment 7 Frederik Himpe 2011-08-29 10:19:34 UTC
How long until someone finally takes a look at this bug?
Comment 8 Chris Wilson 2012-05-09 02:21:33 UTC
Believed to be a GPU hang on WAIT_FOR_EVENT, fixed with kernel 3.4/3.5 and xf86-video-intel 2.19.0

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.