Bug 29229 - Regression: glXChooseVisual segfaults when using swrast.
Summary: Regression: glXChooseVisual segfaults when using swrast.
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: GLX (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-23 09:01 UTC by Nick Bowler
Modified: 2010-07-26 07:32 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Nick Bowler 2010-07-23 09:01:45 UTC
Any program that calls glXChooseVisual segfaults when using swrast.  This
obviously breaks every opengl-related program.  Backtrace and bisection
results follow.

FWIW, I'm running latest git everything with on an Intel G45.

Backtrace:

#0  0x00007ffff7838c5e in fbconfigs_compatible (a=0x7fffffffd0f0, 
    b=0x3d434d4554535953) at glxcmds.c:1230
#1  0x00007ffff7839acf in glXChooseVisual (dpy=0x603010, screen=0, 
    attribList=0x7fffffffd2e0) at glxcmds.c:1521
#2  0x0000000000400f16 in main (argc=1, argv=0x7fffffffd448) at twoctx.c:62

Bisection:

(Note: The skipped commit failed differently: programs complained about not finding an RGB GLX visual).

f972115d33e391499e049b83a1559959f2ca9f72 is the first bad commit
commit f972115d33e391499e049b83a1559959f2ca9f72
Author: Kristian Høgsberg <krh@bitplanet.net>
Date:   Mon Jul 19 14:57:59 2010 -0400

    glx: Add screen privates for dri drivers and moved some fields there
    
    GLXscreenConfigs is badly named and a dumping ground for a lot of stuff.
    This patch creates private screen structs for the dri drivers and moves
    some of their fields over there.

:040000 040000 3ae7b0621d90871d19ba4ce2c41720dfddfe10fe acce56f693cb384ed530edbb9c0525459386e2de M	src

git bisect start
# bad: [8122baf8badfa9fe7a80bfc904ad7b6ddcdecb0c] softpipe: Check for NULL pointer in sp_destroy_tile_cache().
git bisect bad 8122baf8badfa9fe7a80bfc904ad7b6ddcdecb0c
# bad: [c20a3628c7c6b7c41efe309b712bf93eb4e92039] glsl: remove invalid _mesa_problem() call
git bisect bad c20a3628c7c6b7c41efe309b712bf93eb4e92039
# bad: [600c85efdb0ff498c1f62e74efbda9f7096a74d3] Revert "dri2: Remove an unused variable."
git bisect bad 600c85efdb0ff498c1f62e74efbda9f7096a74d3
# good: [f9d11b8cee235dae42f757e21c2536391c07b3e8] i965: Mostly fix glsl-max-varyings.
git bisect good f9d11b8cee235dae42f757e21c2536391c07b3e8
# bad: [4363d4d0b945c4ca6c303fb337e1fac39e6e1ad6] gallivm: fix indirect addressing of constant buffer
git bisect bad 4363d4d0b945c4ca6c303fb337e1fac39e6e1ad6
# bad: [a7292f2920a28a190ca39ce530454a852ec36d59] glx: Move DRI CopySubBuffer extension to DRI1 code
git bisect bad a7292f2920a28a190ca39ce530454a852ec36d59
# skip: [089fc37c6fa158824279e08e3b378ced94d6f803] glx: Move DRI1 specific extensions and code to DRI1 screen private
git bisect skip 089fc37c6fa158824279e08e3b378ced94d6f803
# bad: [70887d517290060a80c7f5dd8c0ea0c834c4d91e] glx: Move __driScreen into the dri screen privates
git bisect bad 70887d517290060a80c7f5dd8c0ea0c834c4d91e
# bad: [f972115d33e391499e049b83a1559959f2ca9f72] glx: Add screen privates for dri drivers and moved some fields there
git bisect bad f972115d33e391499e049b83a1559959f2ca9f72
# good: [308e13ecd12a2fd894e5b509d5756bffc2035ec6] glx: Factor out common code from dri2WaitGL() and dri2WaitX()
git bisect good 308e13ecd12a2fd894e5b509d5756bffc2035ec6
# good: [a296d96de45d38a6ed0b3c817334d443facc169b] glx: Rename various DRI structs away from obnoxious __GLXfooRec convention
git bisect good a296d96de45d38a6ed0b3c817334d443facc169b
Comment 1 Nick Bowler 2010-07-26 07:32:12 UTC
Looks like this was fixed over the weekend...


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.