Bug 31584

Summary: Massive screen corruption w/ compositing after upgrade to xorg 7.6 [Object foo appears more than once]
Product: Mesa Reporter: Florian Kriener <florian>
Component: Drivers/DRI/i965Assignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: medium    
Version: 7.6   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Debian package bug report script output
check for duplicate handles in the execbuffer2
check for duplicate handles in the execbuffer2

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.