New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 724156 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner: ----
Closed: May 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug

Blocking:
issue 714769



Sign in to add a comment

cc/output/renderer_pixeltest.cc fails on msan after clang roll

Project Member Reported by thakis@chromium.org, May 18 2017

Issue description

https://codereview.chromium.org/2884383004/ ("Roll clang 301384:303273."0 got reverted due to several cc_unittests failing on the msan bot after it landed.

http://llvm.org/viewvc/llvm-project?view=revision&revision=302787 is the only msan-specific change in the range I can see. glider, would that change be msan-abi-changing and require new prebuilts perchance? (but for that not enough seems to be failing maybe)


List of failing tests (all in cc/output/renderer_pixeltests.cc from what I can tell):

VideoGLRendererPixelHiLoTest.OffsetYUVRect
ToColorSpace/ColorTransformPixelTest.Basic/16
ToColorSpace/ColorTransformPixelTest.Basic/15
ToColorSpace/ColorTransformPixelTest.Basic/14
ToColorSpace/ColorTransformPixelTest.Basic/13
ToColorSpace/ColorTransformPixelTest.Basic/12
ToColorSpace/ColorTransformPixelTest.Basic/11
ToColorSpace/ColorTransformPixelTest.Basic/10
ToColorSpace/ColorTransformPixelTest.Basic/18
IntersectingQuadGLPixelTest/0.YUVVideoQuads
VideoGLRendererPixelTest.YUVEdgeBleed
VideoGLRendererPixelTest.SimpleYUVJRect
VideoGLRendererPixelHiLoTest.ClippedYUVRect/0
VideoGLRendererPixelHiLoTest.ClippedYUVRect/1
VideoGLRendererPixelHiLoTest.SimpleYUVARect
FromColorSpace/ColorTransformPixelTest.Basic/6
FromColorSpace/ColorTransformPixelTest.Basic/7
FromColorSpace/ColorTransformPixelTest.Basic/4
FromColorSpace/ColorTransformPixelTest.Basic/5
FromColorSpace/ColorTransformPixelTest.Basic/2
FromColorSpace/ColorTransformPixelTest.Basic/3
VideoGLRendererPixelTest.SimpleYUVJRectGrey
FromColorSpace/ColorTransformPixelTest.Basic/8
FromColorSpace/ColorTransformPixelTest.Basic/9
VideoGLRendererPixelHiLoTest.SimpleYUVRect/0
VideoGLRendererPixelHiLoTest.SimpleYUVRect/1
ToColorSpace/ColorTransformPixelTest.Basic/3
ToColorSpace/ColorTransformPixelTest.Basic/2
ToColorSpace/ColorTransformPixelTest.Basic/1
ToColorSpace/ColorTransformPixelTest.Basic/7
ToColorSpace/ColorTransformPixelTest.Basic/6
ToColorSpace/ColorTransformPixelTest.Basic/5
ToColorSpace/ColorTransformPixelTest.Basic/4
ToColorSpace/ColorTransformPixelTest.Basic/9
ToColorSpace/ColorTransformPixelTest.Basic/8
FromColorSpace/ColorTransformPixelTest.Basic/14
FromColorSpace/ColorTransformPixelTest.Basic/15
FromColorSpace/ColorTransformPixelTest.Basic/16
FromColorSpace/ColorTransformPixelTest.Basic/17
FromColorSpace/ColorTransformPixelTest.Basic/10
FromColorSpace/ColorTransformPixelTest.Basic/11
FromColorSpace/ColorTransformPixelTest.Basic/12
FromColorSpace/ColorTransformPixelTest.Basic/13
FromColorSpace/ColorTransformPixelTest.Basic/18
FromColorSpace/ColorTransformPixelTest.Basic/19
FromColorSpace/ColorTransformPixelTest.Basic/21
VideoGLRendererPixelTest.YUVAEdgeBleed
FromColorSpace/ColorTransformPixelTest.Basic/23
FromColorSpace/ColorTransformPixelTest.Basic/22
FromColorSpace/ColorTransformPixelTest.Basic/25
FromColorSpace/ColorTransformPixelTest.Basic/24
ToColorSpace/ColorTransformPixelTest.Basic/17
FromColorSpace/ColorTransformPixelTest.Basic/26
FromColorSpace/ColorTransformPixelTest.Basic/29
FromColorSpace/ColorTransformPixelTest.Basic/28
IntersectingQuadGLPixelTest/1.YUVVideoQuads
FromColorSpace/ColorTransformPixelTest.Basic/20
ToColorSpace/ColorTransformPixelTest.Basic/31
ToColorSpace/ColorTransformPixelTest.Basic/30
ToColorSpace/ColorTransformPixelTest.Basic/33
ToColorSpace/ColorTransformPixelTest.Basic/32
ToColorSpace/ColorTransformPixelTest.Basic/35
ToColorSpace/ColorTransformPixelTest.Basic/34
ToColorSpace/ColorTransformPixelTest.Basic/37
ToColorSpace/ColorTransformPixelTest.Basic/36
FromColorSpace/ColorTransformPixelTest.Basic/27
FromColorSpace/ColorTransformPixelTest.Basic/38
FromColorSpace/ColorTransformPixelTest.Basic/39
FromColorSpace/ColorTransformPixelTest.Basic/36
FromColorSpace/ColorTransformPixelTest.Basic/37
FromColorSpace/ColorTransformPixelTest.Basic/34
FromColorSpace/ColorTransformPixelTest.Basic/35
FromColorSpace/ColorTransformPixelTest.Basic/31
ToColorSpace/ColorTransformPixelTest.Basic/28
ToColorSpace/ColorTransformPixelTest.Basic/29
ToColorSpace/ColorTransformPixelTest.Basic/22
ToColorSpace/ColorTransformPixelTest.Basic/23
ToColorSpace/ColorTransformPixelTest.Basic/20
ToColorSpace/ColorTransformPixelTest.Basic/21
ToColorSpace/ColorTransformPixelTest.Basic/26
ToColorSpace/ColorTransformPixelTest.Basic/27
ToColorSpace/ColorTransformPixelTest.Basic/24
ToColorSpace/ColorTransformPixelTest.Basic/25
VideoGLRendererPixelTest.SimpleNV12JRect
FromColorSpace/ColorTransformPixelTest.Basic/41
FromColorSpace/ColorTransformPixelTest.Basic/40


Example failure output:

[ RUN      ] ToColorSpace/ColorTransformPixelTest.Basic/18
[9097:9099:0518/032359.250321:12561360567:ERROR:shader_manager.cc(116)] Shader translator allowed/produced an invalid shader unless the driver is buggy:
--Log from shader translator--
--original-shader--
#define TexCoordPrecision mediump
#define LutLookup texture2D
#define SamplerType sampler2D
#define TextureLookup texture2D
precision mediump float;
uniform SamplerType s_texture;
varying TexCoordPrecision vec2 v_texCoord;
vec3 DoColorConversion(vec3 color) {
  color = mat3(3.02209377e+00, -9.43723738e-01, 6.93685859e-02,
               -1.61718416e+00, 1.91612518e+00, -2.28960127e-01,
               -4.04909879e-01, 2.75986586e-02, 1.15959156e+00) * color;
  return color;
}
uniform vec4 background_color;
varying float v_alpha;
void main() {
  // Texture lookup
  vec4 texColor = TextureLookup(s_texture, v_texCoord);
  texColor.rgb = DoColorConversion(texColor.xyz);
  // Premultiply alpha
  texColor.rgb *= texColor.a;
  // Apply uniform background color blending
  texColor += background_color * (1.0 - texColor.a);
  // Apply alpha from uniform, varying, aa, and mask.
  texColor = texColor * v_alpha;
  // Write the fragment color
  gl_FragColor = texColor;
}
--translated-shader--
#extension GL_ARB_gpu_shader5 : enable
uniform sampler2D s_texture;
varying vec2 v_texCoord;
vec3 DoColorConversion(in vec3 color){
(color = (mat3(3.0220938, -0.94372374, 0.069368586, -1.6171842, 1.9161252, -0.22896013, -0.40490988, 0.027598659, 1.1595916) * color));
return color;
}
uniform vec4 background_color;
varying float v_alpha;
void main(){
vec4 texColor = texture2D(s_texture, v_texCoord);
(texColor.xyz = DoColorConversion(texColor.xyz));
(texColor.xyz *= texColor.w);
(texColor += (background_color * (1.0 - texColor.w)));
(texColor = (texColor * v_alpha));
(gl_FragColor = texColor);
}
--info-log--
0:1(12): warning: extension `GL_ARB_gpu_shader5' unsupported in fragment shader
0:5(11): error: cannot construct `mat3' from a matrix in GLSL 1.10
0:5(133): error: Operands to arithmetic operators must be numeric
[9097:9099:0518/032359.250501:12561360741:ERROR:gles2_cmd_decoder.cc(9582)] [GroupMarkerNotSet( crbug.com/242999 )!:A8FC0000B0710000]GL ERROR :GL_INVALID_OPERATION : glUseProgram: program not linked
[9097:9099:0518/032359.250578:12561360818:ERROR:gles2_cmd_decoder.cc(9066)] [GroupMarkerNotSet( crbug.com/242999 )!:A8FC0000B0710000]GL ERROR :GL_INVALID_OPERATION : glUniform1i: unknown location
[9097:9099:0518/032359.250669:12561360910:ERROR:gles2_cmd_decoder.cc(9040)] [GroupMarkerNotSet( crbug.com/242999 )!:A8FC0000B0710000]GL ERROR :GL_INVALID_OPERATION : glUniformMatrix4fv: wrong uniform function for type
[9097:9099:0518/032359.250745:12561360985:ERROR:gles2_cmd_decoder.cc(9040)] [GroupMarkerNotSet( crbug.com/242999 )!:A8FC0000B0710000]GL ERROR :GL_INVALID_OPERATION : glUniform4fv: wrong uniform function for type
[9097:9099:0518/032359.250824:12561361063:ERROR:gles2_cmd_decoder.cc(9066)] [GroupMarkerNotSet( crbug.com/242999 )!:A8FC0000B0710000]GL ERROR :GL_INVALID_OPERATION : glUniform4fv: unknown location
[9097:9099:0518/032359.250890:12561361129:ERROR:gles2_cmd_decoder.cc(9040)] [GroupMarkerNotSet( crbug.com/242999 )!:A8FC0000B0710000]GL ERROR :GL_INVALID_OPERATION : glUniform1fv: wrong uniform function for type
[9097:9097:0518/032359.252217:12561362459:ERROR:pixel_comparator.cc(171)] Percentage of pixels with an error: 98.5294
[9097:9097:0518/032359.252293:12561362533:ERROR:pixel_comparator.cc(173)] Percentage of pixels with errors not greater than 0: 0
[9097:9097:0518/032359.252356:12561362596:ERROR:pixel_comparator.cc(176)] Average absolute error (excluding identical pixels): R=174.104 G=178.985 B=187.955 A=0
[9097:9097:0518/032359.252429:12561362668:ERROR:pixel_comparator.cc(181)] Largest absolute error: R=255 G=255 B=255 A=0
[9097:9097:0518/032359.252551:12561362791:ERROR:pixel_comparator.cc(199)] Error Bounding Box : 0,0 17x4
../../cc/output/renderer_pixeltest.cc:3480: Failure
Value of: RunPixelTest(&pass_list, &expected_output_colors, comparator)
  Actual: false
Expected: true
[  FAILED  ] ToColorSpace/ColorTransformPixelTest.Basic/18, where GetParam() = ({primaries:11, transfer:8, matrix:1, range:2, icc_profile_id:0}, {primaries:1, transfer:21, matrix:1, range:2, icc_profile_id:0}) (97 ms)
[ RUN      ] ToColorSpace/ColorTransformPixelTest.Basic/18
[9985:9986:0518/032439.880391:12601990632:ERROR:shader_manager.cc(116)] Shader translator allowed/produced an invalid shader unless the driver is buggy:
--Log from shader translator--
--original-shader--
#define TexCoordPrecision mediump
#define LutLookup texture2D
#define SamplerType sampler2D
#define TextureLookup texture2D
precision mediump float;
uniform SamplerType s_texture;
varying TexCoordPrecision vec2 v_texCoord;
vec3 DoColorConversion(vec3 color) {
  color = mat3(3.02209377e+00, -9.43723738e-01, 6.93685859e-02,
               -1.61718416e+00, 1.91612518e+00, -2.28960127e-01,
               -4.04909879e-01, 2.75986586e-02, 1.15959156e+00) * color;
  return color;
}
uniform vec4 background_color;
varying float v_alpha;
void main() {
  // Texture lookup
  vec4 texColor = TextureLookup(s_texture, v_texCoord);
  texColor.rgb = DoColorConversion(texColor.xyz);
  // Premultiply alpha
  texColor.rgb *= texColor.a;
  // Apply uniform background color blending
  texColor += background_color * (1.0 - texColor.a);
  // Apply alpha from uniform, varying, aa, and mask.
  texColor = texColor * v_alpha;
  // Write the fragment color
  gl_FragColor = texColor;
}
--translated-shader--
#extension GL_ARB_gpu_shader5 : enable
uniform sampler2D s_texture;
varying vec2 v_texCoord;
vec3 DoColorConversion(in vec3 color){
(color = (mat3(3.0220938, -0.94372374, 0.069368586, -1.6171842, 1.9161252, -0.22896013, -0.40490988, 0.027598659, 1.1595916) * color));
return color;
}
uniform vec4 background_color;
varying float v_alpha;
void main(){
vec4 texColor = texture2D(s_texture, v_texCoord);
(texColor.xyz = DoColorConversion(texColor.xyz));
(texColor.xyz *= texColor.w);
(texColor += (background_color * (1.0 - texColor.w)));
(texColor = (texColor * v_alpha));
(gl_FragColor = texColor);
}
--info-log--
0:1(12): warning: extension `GL_ARB_gpu_shader5' unsupported in fragment shader
0:5(11): error: cannot construct `mat3' from a matrix in GLSL 1.10
0:5(133): error: Operands to arithmetic operators must be numeric
[9985:9986:0518/032439.880527:12601990759:ERROR:gles2_cmd_decoder.cc(9582)] [GroupMarkerNotSet( crbug.com/242999 )!:A8FC0000B0710000]GL ERROR :GL_INVALID_OPERATION : glUseProgram: program not linked
[9985:9986:0518/032439.880586:12601990818:ERROR:gles2_cmd_decoder.cc(9066)] [GroupMarkerNotSet( crbug.com/242999 )!:A8FC0000B0710000]GL ERROR :GL_INVALID_OPERATION : glUniform1i: unknown location
[9985:9986:0518/032439.880650:12601990881:ERROR:gles2_cmd_decoder.cc(9040)] [GroupMarkerNotSet( crbug.com/242999 )!:A8FC0000B0710000]GL ERROR :GL_INVALID_OPERATION : glUniformMatrix4fv: wrong uniform function for type
[9985:9986:0518/032439.880703:12601990935:ERROR:gles2_cmd_decoder.cc(9040)] [GroupMarkerNotSet( crbug.com/242999 )!:A8FC0000B0710000]GL ERROR :GL_INVALID_OPERATION : glUniform4fv: wrong uniform function for type
[9985:9986:0518/032439.880747:12601990978:ERROR:gles2_cmd_decoder.cc(9066)] [GroupMarkerNotSet( crbug.com/242999 )!:A8FC0000B0710000]GL ERROR :GL_INVALID_OPERATION : glUniform4fv: unknown location
[9985:9986:0518/032439.880790:12601991021:ERROR:gles2_cmd_decoder.cc(9040)] [GroupMarkerNotSet( crbug.com/242999 )!:A8FC0000B0710000]GL ERROR :GL_INVALID_OPERATION : glUniform1fv: wrong uniform function for type
[9985:9985:0518/032439.881808:12601992042:ERROR:pixel_comparator.cc(171)] Percentage of pixels with an error: 98.5294
[9985:9985:0518/032439.881870:12601992102:ERROR:pixel_comparator.cc(173)] Percentage of pixels with errors not greater than 0: 0
[9985:9985:0518/032439.881909:12601992140:ERROR:pixel_comparator.cc(176)] Average absolute error (excluding identical pixels): R=174.104 G=178.985 B=187.955 A=0
[9985:9985:0518/032439.881958:12601992194:ERROR:pixel_comparator.cc(181)] Largest absolute error: R=255 G=255 B=255 A=0
[9985:9985:0518/032439.882033:12601992266:ERROR:pixel_comparator.cc(199)] Error Bounding Box : 0,0 17x4
../../cc/output/renderer_pixeltest.cc:3480: Failure
Value of: RunPixelTest(&pass_list, &expected_output_colors, comparator)
  Actual: false
Expected: true
[  FAILED  ] ToColorSpace/ColorTransformPixelTest.Basic/18, where GetParam() = ({primaries:11, transfer:8, matrix:1, range:2, icc_profile_id:0}, {primaries:1, transfer:21, matrix:1, range:2, icc_profile_id:0}) (100 ms)
 

Comment 1 by glider@chromium.org, May 18 2017

Cc: euge...@chromium.org
> glider, would that change be msan-abi-changing and require new prebuilts perchance? (but for that not enough seems to be failing maybe)

Nope, that's a local change that doesn't touch the ABI.
It could've lead to new MSan reports, but that's really unlikely (and doesn't seem to be the case here).

Comment 2 by thakis@chromium.org, May 18 2017

Cc: enne@chromium.org ccameron@chromium.org
+ccameron, enne who have touched the failing tests -- does this maybe make sense to you?

Comment 3 by h...@chromium.org, May 18 2017

I have an LLVM bisection going. "roughly 8 steps" according to git

Comment 4 by h...@chromium.org, May 18 2017

also confirmed it doesn't seem to be r302787; the tests pass for me with that revision

Comment 5 by h...@chromium.org, May 18 2017

Status: Started (was: Untriaged)
Bisection points to this one:

Author: dehao
Date: Fri May 12 14:29:27 2017
New Revision: 302938

URL: http://llvm.org/viewvc/llvm-project?rev=302938&view=rev
Log:
Add LiveRangeShrink pass to shrink live range within BB.

Summary: LiveRangeShrink pass moves instruction right after the definition with the same BB if the instruction and its operands all have more than one use. This pass is inexpensive and guarantees optimal live-range within BB.

Reviewers: davidxl, wmi, hfinkel, MatzeB, andreadb

Reviewed By: MatzeB, andreadb

Subscribers: hiraditya, jyknight, sanjoy, skatkov, gberry, jholewinski, qcolombet, javed.absar, krytarowski, atrick, spatel, RKSimon, andreadb, MatzeB, mehdi_amini, mgorny, efriedma, davide, dberlin, llvm-commits

Differential Revision: https://reviews.llvm.org/D32563

Comment 6 by h...@chromium.org, May 18 2017

It caused breakage internally too; b/38418215

Comment 7 by h...@chromium.org, May 18 2017

Reverted in r303369

Comment 8 by h...@chromium.org, May 18 2017

Status: Fixed (was: Started)

Sign in to add a comment