Bug 30109

Summary: [bisected]oglc cases are not finished due to X error
Product: Mesa Reporter: fangxun <xunx.fang>
Component: Mesa coreAssignee: Kristian Høgsberg <krh>
Status: VERIFIED FIXED QA Contact:
Severity: blocker    
Priority: highest CC: idr, sa
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: Delay destroying legacy DRI2 drawables

Description fangxun 2010-09-09 20:00:41 UTC
System Environment:
--------------------------
Arch:           x86_64
Platform:       piketon
Libdrm:         (master)2.4.21-19-gb8abe6139e5c6779ee87d983346f0f65bf67462e
Mesa:           (master)777f352e6087e3ef05f7a88232f23e4f971bc5a0
Xserver:         (master)xorg-server-1.9.0
Xf86_video_intel:   (master)2.12.0-84-g2b96c18165d713cd6781dbf217ec33e11cc961bc
Kernel: (master)2bfc96a127bc1cc94d26bfaa40159966064f9c8c


Bug detailed description:
-------------------------
Errors says: 
  X Error of failed request:  BadDrawable (invalid Pixmap or Window parameter)
  Major opcode of failed request:  137 (DRI2)
  Minor opcode of failed request:  4 (DRI2DestroyDrawable)
  Resource id in failed request:  0x400003
  Serial number of failed request:  39
  Current serial number in output stream:  50

Bisect find the first bad commit is 16887d042a917fa4773e4d853f50051b54e9948c.
commit 16887d042a917fa4773e4d853f50051b54e9948c
Author:     Kristian Høgsberg <krh@bitplanet.net>
AuthorDate: Fri Aug 27 12:40:11 2010 -0400
Commit:     Kristian Høgsberg <krh@bitplanet.net>
CommitDate: Wed Sep 8 09:20:42 2010 -0400

    glx: Drop broken drawable garbage collection

    Doesn't work for pixmaps, was looking up the GLX XID and was never thread
    safe.  Instead, just destroy the client side structures when the
    drawable is no long current for a context.


Reproduce steps:
----------------
1. start X
2. run oglc case
Comment 1 Gordon Jin 2010-09-09 20:39:24 UTC
Marking as blocker as it blocks all of our oglconform testing including GLSL.
Comment 2 Kristian Høgsberg 2010-09-10 05:08:38 UTC
(In reply to comment #1)
> Marking as blocker as it blocks all of our oglconform testing including GLSL.

I don't see the oglc failure - is there a specific test case that fails?  I do see other bugs with this commit though, and I'll attach the patch I'm planning to use here.
Comment 3 Kristian Høgsberg 2010-09-10 05:10:13 UTC
Created attachment 38599 [details] [review]
Delay destroying legacy DRI2 drawables

Here's the patch, it should bring us closer to the old behavior, but without the silly garbage collection.
Comment 4 Sven Arvidsson 2010-09-10 05:58:05 UTC
*** Bug 30114 has been marked as a duplicate of this bug. ***
Comment 5 Marek Olšák 2010-09-11 10:29:06 UTC
(In reply to comment #3)
> Created an attachment (id=38599) [details]
> Delay destroying legacy DRI2 drawables
> 
> Here's the patch, it should bring us closer to the old behavior, but without
> the silly garbage collection.

I've just hit this issue too and your patch fixes it for me. Please let me know if you need anything.
Comment 6 fangxun 2010-09-12 19:43:03 UTC
I confirm this patch fixes the problem.
Comment 7 Kristian Høgsberg 2010-09-13 05:44:15 UTC
Thanks for the feedback, I just pushed the commit.
Comment 8 fangxun 2010-09-14 18:15:15 UTC
Works fine, verified.

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.