Bug 52623 - [snb] Corruption while using SNA
Summary: [snb] Corruption while using SNA
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Chris Wilson
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-07-28 16:37 UTC by Konstantin Svist
Modified: 2012-08-01 20:55 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
black squares over the text are corruption, blue overlay is censored edit (110.44 KB, image/png)
2012-07-28 16:37 UTC, Konstantin Svist
no flags Details
Xorg.0.log (26.88 KB, text/plain)
2012-07-28 17:47 UTC, Konstantin Svist
no flags Details
another example of corruption (13.11 KB, image/png)
2012-07-28 17:49 UTC, Konstantin Svist
no flags Details

Description Konstantin Svist 2012-07-28 16:37:11 UTC
Created attachment 64825 [details]
black squares over the text are corruption, blue overlay is censored edit

Using Fedora 17 XFCE
compiled xf86-video-intel-2.20.2
Option	"AccelMethod"	"SNA"

Every once in a while, some on-screen corruption appears. In the attached example it showed up as black bars on top of URLs in Terminal, after I hovered over them with the cursor. Even more black bars appeared as I pressed PrintScreen to capture the screenshot.
Note: blue blotch is censored work-related info, please ignore it

Usually the corrption is restricted to menu bars, and usually goes away if the window is dragged off-screen and back to force a redraw


X.Org X Server 1.12.2
Release Date: 2012-05-29
X Protocol Version 11, Revision 0
Build Operating System: x86-07 2.6.32-220.17.1.el6.x86_64 
Current Operating System: Linux mireille 3.4.6-2.fc17.i686.PAE #1 SMP Thu Jul 19 21:49:03 UTC 2012 i686
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.4.6-2.fc17.i686.PAE root=UUID=6f77f6b9-974d-458a-b437-678a17c954fc ro quiet rd.md=0 rd.lvm=0 rd.dm=0 rd.luks=0 elevator=noop raid=noautodetect rootfstype=ext4 libahci.ignore_sss=1 noisapnp quiet SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us
Build Date: 26 June 2012  04:33:13AM
Build ID: xorg-x11-server 1.12.2-4.fc17 
Current version of pixman: 0.24.4
Comment 1 Chris Wilson 2012-07-28 16:41:24 UTC
Please attach your Xorg.log.
Comment 2 Konstantin Svist 2012-07-28 17:47:11 UTC
Created attachment 64828 [details]
Xorg.0.log
Comment 3 Konstantin Svist 2012-07-28 17:49:05 UTC
Created attachment 64829 [details]
another example of corruption

Attached Xorg.0.log and 2nd example of corruption are from a current session.
1st example was from yesterday's session with 2 monitors (doubt that makes a difference)
Comment 4 Chris Wilson 2012-07-28 17:53:27 UTC
What's the frequency of corruption? Do they only occur after a period of inactivity?
Comment 5 Konstantin Svist 2012-07-28 18:03:29 UTC
I notice some form of it several times a day, usually while I'm doing something. Haven't seen it show up after inactivity (screensaver).
Comment 6 Chris Wilson 2012-07-28 20:29:00 UTC
One random thing I would like to test is appending i915.i915_enable_rc6=0 to you kernel command line. Highly unlikely as it doesn't quite fit the render corruption of the past...

What it does seem to match is use of unintialised surface data. Is it possible for to run the X server under gdb and compile xf86-video-intel with --enable-debug? That will throw an assertion for anything that I have had the foresight to check (usually based on the hindsight of having hit a bug first!).
Comment 7 Konstantin Svist 2012-07-28 21:04:19 UTC
compiled --with-debug
Is there a quick and easy way to run X in gdb in Fedora?
Comment 8 Konstantin Svist 2012-07-28 21:11:51 UTC
oh, and should I set i915.i915_enable_rc6=0 at the same time?
Comment 9 Konstantin Svist 2012-07-29 00:58:27 UTC
compiled with --enable-debug, booted with i915.i915_enable_rc6=0, and attached gdb from a remote machine (as per http://www.x.org/wiki/Development/Documentation/ServerDebugging#The_basics)
Came back to the machine after some inactivity - everything looked normal. But after I minimized the browser window, the Terminal underneath was covered with black bars. As usual, fine after a redraw.
No messages in the debugger (at all, shouldn't there be at least something?)
Comment 10 Konstantin Svist 2012-07-29 04:10:08 UTC
Just noticed - the black bars don't go away if I overlay another window on top of corrupted one, but it does go away if I un-maximize the corrupted window
Comment 11 Chris Wilson 2012-07-29 08:06:43 UTC
Ok, so it sounds like the corruption is being rendered into the GPU pixmap (you are using xfce with compositing right?), which is not a damage bug of yore but more like that we are constructing an invalid command sequence. The unmaximize will generate an expose event and cause the application to redraw itself, but just moving windows around may not (if under a compositor).

Do you mind checking out 2.20.1 and seeing if it has the same error? I've a couple of suspect patches, so if 2.20.1 works we can quickly bisect and see if it is one of those.
Comment 12 Konstantin Svist 2012-07-29 13:55:20 UTC
Actually no, I don't think I'm using compositing, unless it's being used by default. (There's an option "Enable display compositing" in Window Manager Tweaks -> Compositing, and this option is disabled)
I'll try 2.20.1
Comment 13 Chris Wilson 2012-07-30 13:16:34 UTC
I think this is related to:

commit e6cb5d93eaa01e7f4763f797bba341f3cc481d98
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Jul 30 11:14:58 2012 +0100

    sna: Avoid overlapping gpu/cpu damage with IGNORE_CPU
    
    We cannot simply ignore the presence of CPU damage with IGNORE_CPU but
    must remember to discard it.

Can you please test with the latest version in xf86-video-intel.git?

Thanks.
Comment 14 Konstantin Svist 2012-07-31 00:05:50 UTC
So far so good, haven't seen the issue today yet
Comment 15 Chris Wilson 2012-07-31 08:39:46 UTC
Fingers crossed...
Comment 16 Konstantin Svist 2012-08-01 20:55:33 UTC
Still no sign of the problem, I think you fixed it! :)


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.