Bug 30234

Summary: [swrast] Mesa xdemo manywin aborted
Product: Mesa Reporter: wang,jinjin <jinjin.wang>
Component: Mesa coreAssignee: Kristian Høgsberg <krh>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: medium CC: mesa-dev, prahal, xunx.fang
Version: git   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 30124    

Description wang,jinjin 2010-09-16 23:45:52 UTC
System Environment:
--------------------------
Arch:           i386
Platform:       Capella/Pineview
OSD:            Fedora release 13 (Goddard)
Libdrm:         (master)2.4.21-21-g7ec9a1effa4f551897f91f3b017723a8adf011d9
Mesa:           (7.9)d46b7c9f6f91f80b7349067dd5be52f0af736ec1
Xserver:                (master)xorg-server-1.9.0
Xf86_video_intel:               (master)2.12.0-87-g08c2caca48323d6d5701dcef3486f850619d7905
Cairo:          (master)cb0bc64c16b3a38cbf0c622830c18ac9ea6e2ffe
Libva:          (master)6772bdb4406edaf55da2e3604003c9eafff31c36
Kernel:         (master)9fe6206f400646a2322096b56c59891d530e8d51

Bug detailed description:
---------------------------
With Mesa(7.9)d46b7c9f6f91f80b7349067dd5be52f0af736ec1, Mesa xdemo manywin aborted  using i965/i915. And using swrast, it also aborted. 

Reproduce steps:
----------------
1.xinit& 
2. Mesa_demos/src/xdemos/manywin 2

Fail message using swrast:
-------------------------------------
2 windows
libGL: OpenDriver: trying /opt/X11R7/lib/dri/swrast_dri.so
0, 0
Name: 0
  Display:     0x9f5d008
  Window:      0x600002
  Context:     0x9f6ee30
  GL_VERSION:  2.1 Mesa 7.9-devel
  GL_VENDOR:   Mesa Project
  GL_RENDERER: Software Rasterizer
libGL: OpenDriver: trying /opt/X11R7/lib/dri/swrast_dri.so
100, 0
sharing
Name: 1
  Display:     0xa2ace18
  Window:      0x800002
  Context:     0xa2be9c0
  GL_VERSION:  2.1 Mesa 7.9-devel
  GL_VENDOR:   Mesa Project
  GL_RENDERER: Software Rasterizer
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  153 (GLX)
  Minor opcode of failed request:  11 (X_GLXSwapBuffers)
  Serial number of failed request:  41
  Current serial number in output stream:  41
Fail message using i9165:
-------------------------------------

2 windows
libGL: OpenDriver: trying /opt/X11R7/lib/dri/i965_dri.so
0, 0
Name: 0
  Display:     0x94c0008
  Window:      0x600002
  Context:     0x94d2940
  GL_VERSION:  2.1 Mesa 7.9-devel
  GL_VENDOR:   Tungsten Graphics, Inc
  GL_RENDERER: Mesa DRI Intel(R) Ironlake Mobile GEM 20100330 DEVELOPMENT x86/MMX/SSE2
libGL: OpenDriver: trying /opt/X11R7/lib/dri/i965_dri.so
100, 0
sharing
Name: 1
  Display:     0x9814120
  Window:      0x800002
  Context:     0x98267e0
  GL_VERSION:  2.1 Mesa 7.9-devel
  GL_VENDOR:   Tungsten Graphics, Inc
  GL_RENDERER: Mesa DRI Intel(R) Ironlake Mobile GEM 20100330 DEVELOPMENT x86/MMX/SSE2
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  153 (GLX)
  Minor opcode of failed request:  11 (X_GLXSwapBuffers)
  Serial number of failed request:  39
  Current serial number in output stream:  39
Comment 1 Vinson Lee 2010-09-17 11:30:04 UTC
mesa: fd266ec62ca772a8551d2d7922d718d9d84bdf07 (master)
mesa: 83917660f1323bd8a50e8ba6ed2ff33d36880371 (7.9)

'manywin 2' runs without crashing for me on swrast, softpipe, and llvmpipe.
Comment 2 Alban Browaeys 2010-09-17 23:44:23 UTC
(In reply to comment #0)
Also here : I add this comment as I found out that "manywindow -s 2" works while "manywindow 2" does not. If it makes any sense that may help narrow the issue.
Any clue welcomed (blender also crash this way when opening a second window, ie opening file>user preferences).



$ manywin 2
2 windows
0, 0
Name: 0
  Display:     0xcf3010
  Window:      0x4600002
  Context:     0xd03b80
  GL_VERSION:  2.1 Mesa 7.10-devel
  GL_VENDOR:   Advanced Micro Devices, Inc.
  GL_RENDERER: Mesa DRI R600 (RS780 9612) 20090101  TCL DRI2
100, 0
sharing
Name: 1
  Display:     0x1073a40
  Window:      0x4800002
  Context:     0x1090020
  GL_VERSION:  2.1 Mesa 7.10-devel
  GL_VENDOR:   Advanced Micro Devices, Inc.
  GL_RENDERER: Mesa DRI R600 (RS780 9612) 20090101  TCL DRI2
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  153 (GLX)
  Minor opcode of failed request:  11 (X_GLXSwapBuffers)
  Serial number of failed request:  42
  Current serial number in output stream:  42
Comment 3 Alban Browaeys 2010-09-18 09:33:24 UTC
I nailed it down to 16887d042a917fa4773e4d853f50051b54e9948 . Reverting this one with a little of hand cleanup on glxcurrent as it does not revert cleanly for this file fixes the issue.

This was an old garbage collector removal that was supposed not to be of any use.
Comment 4 Jakob Bornecrantz 2010-09-18 09:52:48 UTC
Kristian can you take a look.
Comment 5 fangxun 2010-09-18 22:42:51 UTC
*** Bug 30224 has been marked as a duplicate of this bug. ***
Comment 6 fangxun 2010-09-18 22:49:51 UTC
I confirm the first bad commit is 16887d042a917fa4773e4d853f50051b54e9948.
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.
Comment 7 Kristian Høgsberg 2010-09-21 07:23:21 UTC
I just pushed 441344ba7ed2a1d162ee33ac4bac4bf645188ceb which fixes manywin here.  I couldn't find the file->user preferences menu in blender and I couldn't find any other way to make it open a new window, so I'm not sure if that's fixed.
Comment 8 Alban Browaeys 2010-09-21 17:35:30 UTC
The issue is fxed both in blender 2.54 and manywin 2.
Comment 9 wang,jinjin 2010-09-25 01:06:23 UTC
With (master)441344ba7ed2a1d162ee33ac4bac4bf645188ceb , Mesa xdemo manywin
using i965 can not abort, but using swrast, it also aborted.
Comment 10 Marcin Slusarz 2010-11-14 12:14:17 UTC
Kristian: I bisected a crash in Warsow to your commit 441344ba7ed2a1d162ee33ac4bac4bf645188ceb.

Warsow dies with:

X Error of failed request:  BadRequest (invalid request code or no such operation)
  Major opcode of failed request:  0 ()
  Serial number of failed request:  27
  Current serial number in output stream:  29

or

X Error of failed request:  BadRequest (invalid request code or no such operation)
  Major opcode of failed request:  0 ()
  Serial number of failed request:  53
  Current serial number in output stream:  53

Reverting 441344ba7ed2a1d162ee33ac4bac4bf645188ceb on top of current master fixes it.
Comment 11 fangxun 2012-10-30 06:19:45 UTC
It works fine on swrast. Abort still happenes on i915/i965 driver, but it is new abort, Pls see bug 41736. Marks it as resolved.

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.