Bug 48511 - [G45] VirtualGL segfaults on glxgears and corrupts the output
Summary: [G45] VirtualGL segfaults on glxgears and corrupts the output
Status: RESOLVED INVALID
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: 8.0
Hardware: Other All
: medium normal
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-04-10 08:16 UTC by Arthur Huillet
Modified: 2017-02-10 22:39 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Description Arthur Huillet 2012-04-10 08:16:14 UTC
Hello,

OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset 
OpenGL version string: 2.1 Mesa 8.0.2

00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)

X.Org X Server 1.12.0.901 (1.12.1 RC 1)

When I try to use VirtualGL 2.3 with glxgears, outputting to the same display (it's not a useful configuration but nevertheless one that shouldn't be a problem), I experience a crash that also gets X stuck.

vglrun glxgears will immediately break the output configuration (the screen only displayed garbled static gears). I have to do the following via SSH to get my X responsive again:

DISPLAY=:0 xrandr --output LVDS1 --off
DISPLAY=:0 xrandr --output LVDS1 --auto

When I do that, I see that "glxgears" has had a segfault.
Comment 1 Arthur Huillet 2012-04-10 08:31:14 UTC
Backtrace of the crash:

(gdb) bt full
#0  0x00007ffff37ab60e in ?? () from /usr/lib/xorg/modules/dri/i965_dri.so
No symbol table info available.
#1  0x00007ffff37ab170 in ?? () from /usr/lib/xorg/modules/dri/i965_dri.so
No symbol table info available.
#2  0x00007ffff3794d18 in brw_upload_state () from /usr/lib/xorg/modules/dri/i965_dri.so
No symbol table info available.
#3  0x00007ffff3781ebf in brw_draw_prims () from /usr/lib/xorg/modules/dri/i965_dri.so
No symbol table info available.
#4  0x00007ffff33f03a4 in ?? () from /usr/lib/libdricore.so
No symbol table info available.
#5  0x00007ffff3495f07 in _mesa_meta_glsl_Clear () from /usr/lib/libdricore.so
No symbol table info available.
#6  0x000000000040235e in draw () at glxgears.c:253
No locals.
#7  0x0000000000401c09 in draw_gears () at glxgears.c:315
No locals.
#8  draw_frame (win=33554434, dpy=0x610700) at glxgears.c:340
        dt = <optimized out>
        frames = 2
        tRot0 = 1334071911.0423999
        tRate0 = 1334071910.906992
#9  event_loop (win=33554434, dpy=0x610700) at glxgears.c:697
No locals.
#10 main (argc=1, argv=<optimized out>) at glxgears.c:777
        winWidth = 300
        winHeight = 300
        x = 0
        y = 0
        dpy = 0x610700
        win = 33554434
        ctx = 0x621b80
        dpyName = <optimized out>
        printInfo = <optimized out>
        i = <optimized out>
Comment 2 Arthur Huillet 2012-04-10 09:06:53 UTC
Below is the full backtrace with a debug build of Mesa 8.0.2 (git-9f150ff).

(gdb) bt full
#0  brw_update_renderbuffer_surface (brw=0x7ffff7e95040, rb=0x806c00, unit=0) at brw_wm_surface_state.c:919
        intel = 0x7ffff7e95040
        ctx = 0x7ffff7e95040
        irb = 0x806c00
        mt = 0x0
        region = <optimized out>
        surf = <optimized out>
        tile_x = <optimized out>
        tile_y = <optimized out>
        format = <optimized out>
        __FUNCTION__ = "brw_update_renderbuffer_surface"
        __PRETTY_FUNCTION__ = "brw_update_renderbuffer_surface"
#1  0x00007ffff343d9c0 in brw_update_renderbuffer_surfaces (brw=0x7ffff7e95040) at brw_wm_surface_state.c:1016
        intel = 0x7ffff7e95040
        ctx = 0x7ffff7e95040
        i = <optimized out>
#2  0x00007ffff3427c40 in brw_upload_state (brw=brw@entry=0x7ffff7e95040) at brw_state_upload.c:503
        atom = <optimized out>
        ctx = 0x7ffff7e95040
        intel = 0x7ffff7e95040
        state = 0x7ffff7eb4bf4
        i = <optimized out>
        dirty_count = 0
        __PRETTY_FUNCTION__ = "brw_upload_state"
#3  0x00007ffff341292f in brw_try_draw_prims (max_index=<optimized out>, min_index=<optimized out>, ib=0x0, nr_prims=1, prim=0x7fffffffe4e0, arrays=0x691ce8, ctx=0x7ffff7e95040) at brw_draw.c:482
        estimated_max_prim_size = 4096
        retval = <optimized out>
        i = <optimized out>
        fail_next = false
#4  brw_draw_prims (ctx=0x7ffff7e95040, arrays=0x691ce8, prim=0x7fffffffe4e0, nr_prims=1, ib=0x0, index_bounds_valid=<optimized out>, min_index=0, max_index=3, tfb_vertcount=0x0) at brw_draw.c:566
        retval = true
#5  0x00007ffff354237e in vbo_draw_arrays (ctx=0x7ffff7e95040, mode=mode@entry=6, start=start@entry=0, count=count@entry=4, numInstances=numInstances@entry=1) at vbo/vbo_exec_array.c:600
        vbo = 0x68e740
        exec = 0x68f510
        prim = {{mode = 6, indexed = 0, begin = 1, end = 1, weak = 0, no_current_update = 0, pad = 0, start = 0, count = 4, basevertex = 0, num_instances = 1}, {mode = 0, indexed = 0, begin = 0, 
            end = 0, weak = 0, no_current_update = 0, pad = 0, start = 0, count = 0, basevertex = 0, num_instances = 0}}
#6  0x00007ffff35424f3 in vbo_exec_DrawArrays (mode=mode@entry=6, start=start@entry=0, count=count@entry=4) at vbo/vbo_exec_array.c:632
        ctx = <optimized out>
        __FUNCTION__ = "vbo_exec_DrawArrays"
#7  0x00007ffff3542995 in _mesa_DrawArrays (mode=mode@entry=6, first=first@entry=0, count=count@entry=4) at vbo/vbo_exec_array.c:1328
No locals.
#8  0x00007ffff35d60c2 in _mesa_meta_glsl_Clear (ctx=0x7ffff7e95040, buffers=<optimized out>) at drivers/common/meta.c:1913
        clear = 0x803b38
        metaSave = 321163
        stencilMax = 255
        fb = 0x8067c0
        x0 = -1
        y0 = -1
        x1 = 1
        y1 = 1
        z = 1
        verts = {{x = -1, y = -1, z = 1}, {x = 1, y = -1, z = 1}, {x = 1, y = 1, z = 1}, {x = -1, y = 1, z = 1}}
        __PRETTY_FUNCTION__ = "_mesa_meta_glsl_Clear"
#9  0x000000000040235e in draw () at glxgears.c:253
No locals.
#10 0x0000000000401c09 in draw_gears () at glxgears.c:315
No locals.
#11 draw_frame (win=31457282, dpy=0x610700) at glxgears.c:340
        dt = <optimized out>
        frames = 2
        tRot0 = 1334073958.693681
        tRate0 = 1334073958.524194
#12 event_loop (win=31457282, dpy=0x610700) at glxgears.c:697
No locals.
#13 main (argc=1, argv=<optimized out>) at glxgears.c:777
        winWidth = 300
        winHeight = 300
        x = 0
        y = 0
        dpy = 0x610700
        win = 31457282
        ctx = 0x621bc0
Comment 3 Juan A. Suarez 2016-11-03 15:04:54 UTC
This commit seems quite old (4 years old).

I've tried again in my own setup:

- OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Desktop
- OpenGL core profile version string: 3.3 (Core Profile) Mesa 13.1.0-devel (git-9f150ff)
- VirtualGL: 2.4.1


It worked fine: no hangs nor crashes.
Comment 4 Matt Turner 2016-11-03 17:26:53 UTC
Sorry no one ever investigated your bug.

Please test a new version of Mesa (12 or 13) and mark as REOPENED
if you can reproduce and RESOLVED/* if you cannot reproduce.
Comment 5 Annie 2017-02-10 22:39:18 UTC
Dear Reporter,

This Mesa bug has been in the "NEEDINFO" status for over 60 days. I am closing this bug based on lack of response but feel free to reopen if resolution is still needed. Please ensure you're supplying the correct information as requested.

Thank you.


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.