Bug 31584 - Massive screen corruption w/ compositing after upgrade to xorg 7.6 [Object foo appears more than once]
Summary: Massive screen corruption w/ compositing after upgrade to xorg 7.6 [Object fo...
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: 7.6
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Chris Wilson
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-12 08:53 UTC by Florian Kriener
Modified: 2011-02-21 02:52 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Debian package bug report script output (60.39 KB, text/plain)
2010-11-12 08:53 UTC, Florian Kriener
Details
check for duplicate handles in the execbuffer2 (1.07 KB, patch)
2010-12-08 04:47 UTC, Chris Wilson
Details | Splinter Review
check for duplicate handles in the execbuffer2 (1.07 KB, patch)
2010-12-08 04:50 UTC, Chris Wilson
Details | Splinter Review

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Kriener 2010-11-12 08:53:09 UTC
Created attachment 40241 [details]
Debian package bug report script output

I have installed the new xserver experimental packages from the debian archive my T400s notebook (intel i915 graphics card) to test it. After restarting the xserver and logging in I experienced heavily flickering massive screen corruption which immediately stopped after turning off compositing and started anew when I turned it on again.

I was using the xserver 1.9.2 with intel driver version 2.13.901 at that time and linux 2.6.36.
Comment 1 Chris Wilson 2010-11-13 02:03:26 UTC
[27419.764695] [drm:i915_gem_do_execbuffer] *ERROR* Object ffff88010ce51c00 appears more than once in object list

I didn't spot it, what version of mesa where you using? Could you try libgl/experimental?
Comment 2 Chris Wilson 2010-11-13 02:04:09 UTC
Though, actually that was X doing evil things....
Comment 3 Florian Kriener 2010-11-13 04:57:30 UTC
I just checked which version of libgl-mesa-* I have installed and it already is the one from experimental: 7.8.2.

Would it help if I provided you with a photo (as screen shots don't show this phenomenon)?
Comment 4 sergio.callegari 2010-12-08 04:15:38 UTC
I confirm the 

[drm:i915_gem_do_execbuffer] *ERROR* Object ffff8800b0b08c00 appears more than
once in object list

but lucky enough I do not experience such massive screen corruption (many smaller issues with multiple screens, suspend/restore, recover of desktop from opengl screensaver, some sporadic freezes with kwin effects, typically at kwin startup after a warm boot or an X server restart).

My system is

DELL E6500 with Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)

Ubuntu maverick standard kernel (2.6.35) 64bit

xserver-xorg-video-intel 2.13.901+git20101124
libdrm 2.4.22+git20101207
mesa 7.9~git20100924

the last three from the glasen PPA that is tracking the latest intel drivers, libdrm and mesa.
Comment 5 sergio.callegari 2010-12-08 04:26:15 UTC
I now have three of those "appear more than once" things in my system messages.

Interestingly, they systematically tend to appear in the following sequence:

[  534.044996] video LNXVIDEO:01: Restoring backlight state
[  534.057188] usb 3-1.3: USB disconnect, address 6
[  534.074745] [drm:i915_gem_do_execbuffer] *ERROR* Object ffff8800b0b08c00 appears more than once in object list
[  534.142590] Skipping EDID probe due to cached edid

(every time with a different object number)

guess the usb thing is not related, but the sandwich between the backlight and the edid thing might be connected.
Comment 6 Chris Wilson 2010-12-08 04:47:29 UTC
Created attachment 40911 [details] [review]
check for duplicate handles in the execbuffer2

Can you try this debugging patch for drm and see which application falls over? And even attach gdb?
Comment 7 Chris Wilson 2010-12-08 04:50:28 UTC
Created attachment 40912 [details] [review]
check for duplicate handles in the execbuffer2
Comment 8 Chris Wilson 2011-02-21 02:52:57 UTC
I think this should be fixed with:

libdrm commit 36d4939343d8789d9066f7245fa2d4fe69119dd8
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Feb 14 09:39:06 2011 +0000

    intel: Remember named bo
    
    ... and if asked to open a bo by the same global name, return a fresh
    reference to the previously allocated buffer.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>


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.