Bug 91149

Summary: make check optimization-test regression
Product: Mesa Reporter: Vinson Lee <vlee>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact: mesa-dev
Severity: normal    
Priority: medium CC: brianp, kusmabite, mattst88
Version: gitKeywords: bisected, regression
Hardware: x86-64 (AMD64)   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: Fix for test-regression

Description Vinson Lee 2015-06-29 20:45:47 UTC
mesa: e566e5203aaba98109a67766cf28991de3358490 (master 10.7.0-devel)

c61bc6ed844b39e600cc64e3e552c7bf1894d7ba is the first bad commit
commit c61bc6ed844b39e600cc64e3e552c7bf1894d7ba
Author: Erik Faye-Lund <kusmabite@gmail.com>
Date:   Sun Jun 28 14:51:08 2015 +0200

    util: port _mesa_strto[df] to C
    
    _mesa_strtod and _mesa_strtof are only used from the GLSL compiler and
    the ARB_[vertex|fragment]_program code, meaning that the locale doesn't
    need to be initialized before the first OpenGL context gets initialized.
    
    So let's use explicit initialization from the one-time init code instead
    of depending on a C++ compiler to initialize at image-load time.
    
    Signed-off-by: Erik Faye-Lund <kusmabite@gmail.com>
    Reviewed-by: Matt Turner <mattst88@gmail.com>
    Reviewed-by: Brian Paul <brianp@vmware.com>

:040000 040000 baa682cc9e4d23cba4beb87bfed38d91a6cd24ca 28483dfb1282d87887533cf980f56b0702ca8073 M	src
bisect run success
Comment 1 Erik Faye-Lund 2015-06-29 20:49:42 UTC
Without seeing what the actual problem is (it's lacking from the report), my guess would be that Matt's work-around from <CAEdQ38GjR6AzKRy4UPePsFhTTcnEqvix0PnDvmXae2NSR8hRXg@mail.gmail.com> is the remedy you're looking for:

sed -i -e 's/strtod\.cpp/strtod.c/' src/util/.deps/libmesautil_la-strtod.Plo
Comment 2 Vinson Lee 2015-06-29 21:08:05 UTC
Reproduced with a clean checkout and build.

====== Testing optimization passes ======
Testing ./lower_jumps/lower_returns_main_false.opt_test...FAIL
Traceback (most recent call last):
  File "src/glsl/tests/compare_ir", line 43, in <module>
    ir2 = sort_decls(parse_sexp(f.read()))
  File "src/glsl/tests/sexps.py", line 66, in parse_sexp
    raise Exception('Multiple sexps')
Comment 3 Erik Faye-Lund 2015-06-29 21:36:11 UTC
Created attachment 116806 [details] [review]
Fix for test-regression

Yeah, seems like there were another user of the compiler-internals. And it doesn't pull in any compiler-init stuff. Here's a patch.
Comment 4 Vinson Lee 2015-06-30 22:32:56 UTC
attachment 116806 [details] [review] fixes the make check regression.

Tested-by: Vinson Lee <vlee@freedesktop.org>
Comment 5 Matt Turner 2015-07-05 23:56:22 UTC
Fixed by

commit 83984f134b4a1e2829cb238c404bc82c98be6082
Author: Erik Faye-Lund <kusmabite@gmail.com>
Date:   Fri Jul 3 09:46:01 2015 +0200

    glsl: add a missing call to _mesa_locale_init

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.