Bug 91399 - [i965] brw::vec4_visitor::run SIGSEGV on OpenBSD
Summary: [i965] brw::vec4_visitor::run SIGSEGV on OpenBSD
Status: RESOLVED NOTOURBUG
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: 10.6
Hardware: Other OpenBSD
: medium normal
Assignee: Ian Romanick
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-07-20 01:58 UTC by Jonathan Gray
Modified: 2015-12-19 04:30 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Jonathan Gray 2015-07-20 01:58:53 UTC
When building the 10.6 branch I ran into the Following crash on OpenBSD with glxgears.  I didn't see the same with master.  My 10.6 has a few additional
patches to build on OpenBSD but none in src/mesa/drivers/dri/i965.

Starting program: /usr/X11R6/bin/glxgears 
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.

Program received signal SIGSEGV, Segmentation fault.
0x0000026dba64bd6a in brw::vec4_visitor::run (this=0x7f7ffffc5ca0) at brw_vec4.cpp:1714
1714       sanity_param_count = prog->Parameters->NumParameters;
Current language:  auto; currently c++
(gdb) bt
#0  0x0000026dba64bd6a in brw::vec4_visitor::run (this=0x7f7ffffc5ca0) at brw_vec4.cpp:1714
#1  0x0000026dba64c6f9 in brw_vs_emit (brw=0x26d720ed030, prog=0x26d1285ec30, c=0x7f7ffffc6ca0, 
    prog_data=0x7f7ffffc6bb0, mem_ctx=0x26cf41adb70, final_assembly_size=0x7f7ffffc6d54) at brw_vec4.cpp:1936
#2  0x0000026dba673238 in brw_codegen_vs_prog (brw=0x26d720ed030, prog=0x26d1285ec30, vp=0x26d25b66000, key=Variable "key" is not available.
)
    at brw_vs.c:293
#3  0x0000026dba6734a3 in brw_vs_precompile (ctx=0x26d720ed030, shader_prog=0x26d1285ec30, prog=0x26d25b66000)
    at brw_vs.c:529
#4  0x0000026dba640ca7 in brw_link_shader (ctx=0x26d720ed030, shProg=0x26d1285ec30) at brw_shader.cpp:84
#5  0x0000026dba427ee9 in _mesa_glsl_link_shader (ctx=0x26d720ed030, prog=0x26d1285ec30)
    at program/ir_to_mesa.cpp:2964
#6  0x0000026dba3357aa in link_program (ctx=0x26d720ed030, program=Variable "program" is not available.
) at main/shaderapi.c:946
#7  0x0000026dba425338 in meta_clear (ctx=0x26d720ed030, buffers=18, glsl=true) at drivers/common/meta.c:1546
#8  0x0000026dba57d809 in brw_clear (ctx=0x26d720ed030, mask=0) at brw_clear.c:263
#9  0x0000026aeab0302e in __register_frame_info () from /usr/X11R6/bin/glxgears
#10 0x0000026aeab03c6d in __register_frame_info () from /usr/X11R6/bin/glxgears
#11 0x0000026aeab01e31 in ?? () from /usr/X11R6/bin/glxgears
#12 0x0000000000000000 in ?? ()
(gdb) p prog
$1 = (gl_program * const) 0x0

Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel Open Source Technology Center (0x8086)
    Device: Mesa DRI Intel(R) Ironlake Mobile  (0x46)
    Version: 10.6.2
    Accelerated: yes
    Video memory: 192MB
    Unified memory: yes
    Preferred profile: compat (0x2)
    Max core profile version: 0.0
    Max compat profile version: 2.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 2.0
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ironlake Mobile 
OpenGL version string: 2.1 Mesa 10.6.2 (git-e7f2411)
OpenGL shading language version string: 1.20
Comment 1 Jonathan Gray 2015-07-20 06:40:42 UTC
The same crash occurs on the 10.5 branch, the 10.4 branch doesn't have the problem.

(gdb) run
Starting program: /usr/X11R6/bin/glxgears 
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.

Program received signal SIGSEGV, Segmentation fault.
0x00001bc0f409ac9a in brw::vec4_visitor::run (this=0x7f7ffffe7790) at brw_vec4.cpp:1729
warning: Source file is more recent than executable.

1729
Current language:  auto; currently c++
(gdb) bt
#0  0x00001bc0f409ac9a in brw::vec4_visitor::run (this=0x7f7ffffe7790) at brw_vec4.cpp:1729
#1  0x00001bc0f409b4ba in brw_vs_emit (brw=0x1bc136746030, prog=0x1bc141553e30, c=0x7f7ffffe8770, 
    prog_data=0x7f7ffffe8680, mem_ctx=0x1bc150dea6b0, final_assembly_size=0x7f7ffffe8824) at brw_vec4.cpp:1933
#2  0x00001bc0f40c10f0 in do_vs_prog (brw=0x1bc136746030, prog=0x1bc141553e30, vp=0x1bc0c254f800, key=Variable "key" is not available.
) at brw_vs.c:291
#3  0x00001bc0f40c1353 in brw_vs_precompile (ctx=0x1bc136746030, shader_prog=0x1bc141553e30, prog=0x1bc0c254f800)
    at brw_vs.c:514
#4  0x00001bc0f4091912 in brw_link_shader (ctx=0x1bc136746030, shProg=0x1bc141553e30) at brw_shader.cpp:71
#5  0x00001bc0f3eabed9 in _mesa_glsl_link_shader (ctx=0x1bc136746030, prog=0x1bc141553e30) at program/ir_to_mesa.cpp:3035
#6  0x00001bc0f3dc358a in link_program (ctx=0x1bc136746030, program=Variable "program" is not available.
) at main/shaderapi.c:932
#7  0x00001bc0f3ea9268 in meta_clear (ctx=0x1bc136746030, buffers=18, glsl=true) at drivers/common/meta.c:1542
#8  0x00001bc0f3fde9d9 in brw_clear (ctx=0x1bc136746030, mask=0) at brw_clear.c:263
#9  0x00001bbe5610302e in __register_frame_info () from /usr/X11R6/bin/glxgears
#10 0x00001bbe56103c6d in __register_frame_info () from /usr/X11R6/bin/glxgears
#11 0x00001bbe56101e31 in ?? () from /usr/X11R6/bin/glxgears
#12 0x0000000000000000 in ?? ()
(gdb) p prog
$1 = (gl_program * const) 0x0
Comment 2 Jonathan Gray 2015-09-24 13:04:31 UTC
While the 10.6 branch still segfaults it seems the 11.0 branch and master do not.
I don't see anything that is obviously marked as a fix in the brw_vec4.cpp commit logs.
Comment 3 Jonathan Gray 2015-12-19 04:30:41 UTC
This problem occurred due to differences in enum attribute handling between gcc and g++.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=39219

Fixed in the version of gcc in OpenBSD base back in October

http://marc.info/?l=openbsd-cvs&m=144421363218215&w=2


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.