https://bugs.freedesktop.org/show_bug.cgi?id=48057
Bug #: 48057 Summary: use of uninitialized variables by read_builtins() Classification: Unclassified Product: Mesa Version: 8.0 Platform: Other OS/Version: All Status: NEW Severity: normal Priority: medium Component: Mesa core AssignedTo: mesa-dev@lists.freedesktop.org ReportedBy: jstrother9...@gmail.com With 8.0.2 I receive the following using valgrind: ==15511== Conditional jump or move depends on uninitialised value(s) ==15511== at 0x52AC1CA: _mesa_glsl_parse_state::_mesa_glsl_parse_state(gl_context*, unsigned int, void*) (glsl_parser_extras.cpp:118) ==15511== by 0x52DC68F: read_builtins(unsigned int, char const*, char const**, unsigned int) (builtin_function.cpp:44) ==15511== by 0x52DC90F: _mesa_read_profile(_mesa_glsl_parse_state*, int, char const*, char const**, int) (builtin_function.cpp:16205) ==15511== by 0x52DCABE: _mesa_glsl_initialize_functions(_mesa_glsl_parse_state*) (builtin_function.cpp:16251) ==15511== by 0x529C2C3: match_function_by_name(exec_list*, char const*, YYLTYPE*, exec_list*, ir_call**, _mesa_glsl_parse_state*) (ast_function.cpp:314) ==15511== by 0x529F9FC: ast_function_expression::hir(exec_list*, _mesa_glsl_parse_state*) (ast_function.cpp:1460) ==15511== by 0x52A1CAC: ast_expression::hir(exec_list*, _mesa_glsl_parse_state*) (ast_to_hir.cpp:1033) ==15511== by 0x52A4C8D: ast_expression_statement::hir(exec_list*, _mesa_glsl_parse_state*) (ast_to_hir.cpp:1813) ==15511== by 0x52A4CFD: ast_compound_statement::hir(exec_list*, _mesa_glsl_parse_state*) (ast_to_hir.cpp:1829) ==15511== by 0x52A7F00: ast_function_definition::hir(exec_list*, _mesa_glsl_parse_state*) (ast_to_hir.cpp:3312) ==15511== by 0x529FF9E: _mesa_ast_to_hir(exec_list*, _mesa_glsl_parse_state*) (ast_to_hir.cpp:87) ==15511== by 0x527CF58: _mesa_glsl_compile_shader (ir_to_mesa.cpp:3342) ==15511== Uninitialised value was created by a stack allocation ==15511== at 0x52DC5F1: read_builtins(unsigned int, char const*, char const**, unsigned int) (builtin_function.cpp:37) The problem is fairly clear. When fakeCtx is instantiated in read_builtins() it is left uninitialized except for a few select members. The constructor for _mesa_glsl_parse_state does not seem to have anticipated "fake contexts" and uses a number of other members. I would suggest a patch, but it looks like a non-trivial fix. Seems like glsl_compiler wants to be standalone, even though all of the structures it uses have dependencies in mesa/main. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev