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

Issue 832753 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Mac
Pri: 1
Type: Bug-Regression

Blocking:
issue 786460



Sign in to add a comment

GPU FYI Linux, Mac, Android dEQP Builder broken by last clang roll

Project Member Reported by ynovikov@chromium.org, Apr 13 2018

Issue description

https://chromium-review.googlesource.com/c/chromium/src/+/1012028

https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/GPU%20FYI%20Linux%20dEQP%20Builder/8875

Ken, I thought that dEQP bots use a different version of clang?
If not, maybe we can add ANGLE dEQP trybots to clang rolls?

Going to try to see if it is possible to fix the compile issue in ANGLE or roll new dEQP.
 

Comment 1 by thakis@chromium.org, Apr 13 2018

clang now emits -Wself-assign even when operator= is overloaded. That file (and possibly others in deqp) either need something like https://chromium-review.googlesource.com/#/c/1000856/ or -Wself-assign needs to be disabled for the deqp targets.

deqp doesn't use a different clang. we want to add that capability (bug 786460), but we don't have it yet.

From this bug, the deqp bots are already using clang, right?
So, this is in a test that checks if assigning SharedPtr to itself works.

FAILED: obj/third_party/angle/src/tests/angle_deqp_decpp/deSharedPtr.o 
/b/swarming/w/ir/cache/goma_client/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/angle/src/tests/angle_deqp_decpp/deSharedPtr.o.d -DV8_DEPRECATION_WARNINGS -DDCHECK_ALWAYS_ON=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DCR_CLANG_REVISION=\"329921-1\" -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -DCR_LIBCXX_REVISION=329375 -DCR_LIBCXXABI_REVISION=329629 -DCR_SYSROOT_HASH=85ac8d5e0f6cff99fc323fd3d29cb73e2aa970e2 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DDEQP_SUPPORT_GLES31=1 -DDEQP_SUPPORT_GLES3=1 -DDEQP_SUPPORT_GLES2=1 -DDEQP_SUPPORT_EGL=1 -DDEQP_TARGET_NAME=\"angle\" -DDEQP_GLES31_RUNTIME_LOAD=1 -DDEQP_GLES3_RUNTIME_LOAD=1 -DDEQP_GLES2_RUNTIME_LOAD=1 -DQP_SUPPORT_PNG=1 -D_HAS_EXCEPTIONS=1 -D_MBCS -D_GNU_SOURCE -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES -DANGLE_IS_64_BIT_CPU -I../.. -Igen -I../../third_party/deqp/src/executor -I../../third_party/deqp/src/execserver -I../../third_party/deqp/src/framework/common -I../../third_party/deqp/src/framework/delibs/debase -I../../third_party/deqp/src/framework/delibs/decpp -I../../third_party/deqp/src/framework/delibs/depool -I../../third_party/deqp/src/framework/delibs/dethread -I../../third_party/deqp/src/framework/delibs/deutil -I../../third_party/deqp/src/framework/delibs/destream -I../../third_party/deqp/src/framework/egl -I../../third_party/deqp/src/framework/egl/wrapper -I../../third_party/deqp/src/framework/opengl -I../../third_party/deqp/src/framework/opengl/simplereference -I../../third_party/deqp/src/framework/opengl/wrapper -I../../third_party/deqp/src/framework/platform/null -I../../third_party/deqp/src/framework/qphelper -I../../third_party/deqp/src/framework/randomshaders -I../../third_party/deqp/src/framework/referencerenderer -I../../third_party/deqp/src/modules/gles2 -I../../third_party/deqp/src/modules/gles2/functional -I../../third_party/deqp/src/modules/gles2/accuracy -I../../third_party/deqp/src/modules/gles2/performance -I../../third_party/deqp/src/modules/gles2/stress -I../../third_party/deqp/src/modules/gles2/usecases -I../../third_party/deqp/src/modules/gles3 -I../../third_party/deqp/src/modules/gles3/functional -I../../third_party/deqp/src/modules/gles3/accuracy -I../../third_party/deqp/src/modules/gles3/performance -I../../third_party/deqp/src/modules/gles3/stress -I../../third_party/deqp/src/modules/gles3/usecases -I../../third_party/deqp/src/modules/gles31 -I../../third_party/deqp/src/modules/gles31/functional -I../../third_party/deqp/src/modules/gles31/stress -I../../third_party/deqp/src/modules/glshared -I../../third_party/deqp/src/modules/glusecases -I../../third_party/angle/include -I../../third_party/angle/src -fno-strict-aliasing -fmerge-all-constants --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -B../../third_party/binutils/Linux_x64/Release/bin -pthread -fcolor-diagnostics -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -Xclang -mllvm -Xclang -fast-isel-sink-local-values=1 -fdebug-prefix-map=/b/swarming/w/ir/cache/builder/src/out/Release=. -no-canonical-prefixes -m64 -march=x86-64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -Xclang -load -Xclang ../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang no-realpath -Xclang -plugin-arg-find-bad-constructs -Xclang check-enum-max-value -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Werror -Wall -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -Wno-unused-lambda-capture -Wno-user-defined-warnings -Wno-enum-compare-switch -Wno-null-pointer-arithmetic -Wno-ignored-pragma-optimize -Wno-return-std-move -std=gnu++14 -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_sid_amd64-sysroot -fvisibility-inlines-hidden -Wno-unused-local-typedef -fexceptions -c ../../third_party/deqp/src/framework/delibs/decpp/deSharedPtr.cpp -o obj/third_party/angle/src/tests/angle_deqp_decpp/deSharedPtr.o
../../third_party/deqp/src/framework/delibs/decpp/deSharedPtr.cpp:182:8: error: explicitly assigning value of variable of type 'SharedPtr<de::(anonymous namespace)::Object>' to itself [-Werror,-Wself-assign]
                ptrB = ptrB;
                ~~~~ ^ ~~~~
../../third_party/deqp/src/framework/delibs/decpp/deSharedPtr.cpp:238:8: error: explicitly assigning value of variable of type 'SharedPtr<de::(anonymous namespace)::Object>' to itself [-Werror,-Wself-assign]
                        ptr = ptr;
                        ~~~ ^ ~~~
2 errors generated.

Maybe I should just disable -Wself-assign.

Comment 3 by thakis@chromium.org, Apr 13 2018

Yeah, all the changes in  https://chromium-review.googlesource.com/#/c/1000856/ are for tests that test self-assignment.

If you feel like it, you could chime in on https://reviews.llvm.org/D44883 and say that this change made you disable the warning.
Labels: OS-Linux
Owner: ynovikov@chromium.org
Status: Assigned (was: Untriaged)
Assigning to Yuly to disable the warning on dEQP.
Labels: OS-Mac
Summary: GPU FYI Linux and Mac dEQP Builder broken by last clang roll (was: GPU FYI Linux dEQP Builder broken by last clang roll)
Mac broken, too. Same error.
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/GPU%20FYI%20Mac%20dEQP%20Builder/7736

Comment 6 by kbr@chromium.org, Apr 13 2018

Blocking: 786460
The dEQP bots on the GPU FYI waterfall aren't yet pinned to a specific version of Clang – that is still waiting for Issue 786460 and its dependent issues to be resolved.

I'm going to link this to the other issue, but block that one on this one, just to have a better record later.

Labels: OS-Android
Summary: GPU FYI Linux, Mac, Android dEQP Builder broken by last clang roll (was: GPU FYI Linux and Mac dEQP Builder broken by last clang roll)
And Android
https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Android%20FYI%20dEQP%20Release%20%28Nexus%205X%29/3371

I wonder why Windows is not affected.
The Windows bot are still using MSVC. That's also to be changed in issue 786460.
One more self-assignment:
FAILED: obj/third_party/angle/src/tests/angle_deqp_libtester/rrFragmentOperations.o 
/b/swarming/w/ir/cache/goma_client/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/angle/src/tests/angle_deqp_libtester/rrFragmentOperations.o.d -DANGLE_EGL_LIBRARY_NAME=\"libEGL\" -DV8_DEPRECATION_WARNINGS -DDCHECK_ALWAYS_ON=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DCR_CLANG_REVISION=\"329921-1\" -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -DCR_LIBCXX_REVISION=329375 -DCR_LIBCXXABI_REVISION=329629 -DCR_SYSROOT_HASH=85ac8d5e0f6cff99fc323fd3d29cb73e2aa970e2 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DANGLE_DEQP_LIBTESTER_IMPLEMENTATION -DANGLE_ENABLE_RELEASE_ASSERTS -DDEQP_SUPPORT_GLES31=1 -DDEQP_SUPPORT_GLES3=1 -DDEQP_SUPPORT_GLES2=1 -DDEQP_SUPPORT_EGL=1 -DDEQP_TARGET_NAME=\"angle\" -DDEQP_GLES31_RUNTIME_LOAD=1 -DDEQP_GLES3_RUNTIME_LOAD=1 -DDEQP_GLES2_RUNTIME_LOAD=1 -DQP_SUPPORT_PNG=1 -D_HAS_EXCEPTIONS=1 -D_MBCS -D_GNU_SOURCE -DGL_GLEXT_PROTOTYPES -DEGL_EGLEXT_PROTOTYPES -DANGLE_IS_64_BIT_CPU -I../.. -Igen -I../../third_party/deqp/src/executor -I../../third_party/deqp/src/execserver -I../../third_party/deqp/src/framework/common -I../../third_party/deqp/src/framework/delibs/debase -I../../third_party/deqp/src/framework/delibs/decpp -I../../third_party/deqp/src/framework/delibs/depool -I../../third_party/deqp/src/framework/delibs/dethread -I../../third_party/deqp/src/framework/delibs/deutil -I../../third_party/deqp/src/framework/delibs/destream -I../../third_party/deqp/src/framework/egl -I../../third_party/deqp/src/framework/egl/wrapper -I../../third_party/deqp/src/framework/opengl -I../../third_party/deqp/src/framework/opengl/simplereference -I../../third_party/deqp/src/framework/opengl/wrapper -I../../third_party/deqp/src/framework/platform/null -I../../third_party/deqp/src/framework/qphelper -I../../third_party/deqp/src/framework/randomshaders -I../../third_party/deqp/src/framework/referencerenderer -I../../third_party/deqp/src/modules/gles2 -I../../third_party/deqp/src/modules/gles2/functional -I../../third_party/deqp/src/modules/gles2/accuracy -I../../third_party/deqp/src/modules/gles2/performance -I../../third_party/deqp/src/modules/gles2/stress -I../../third_party/deqp/src/modules/gles2/usecases -I../../third_party/deqp/src/modules/gles3 -I../../third_party/deqp/src/modules/gles3/functional -I../../third_party/deqp/src/modules/gles3/accuracy -I../../third_party/deqp/src/modules/gles3/performance -I../../third_party/deqp/src/modules/gles3/stress -I../../third_party/deqp/src/modules/gles3/usecases -I../../third_party/deqp/src/modules/gles31 -I../../third_party/deqp/src/modules/gles31/functional -I../../third_party/deqp/src/modules/gles31/stress -I../../third_party/deqp/src/modules/glshared -I../../third_party/deqp/src/modules/glusecases -I../../third_party/angle/include -I../../third_party/angle/src -I../../third_party/angle/src/common/third_party/base -Igen/angle -I../../third_party/angle/util -I../../third_party/libpng -I../../third_party/zlib -fno-strict-aliasing -fmerge-all-constants --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -B../../third_party/binutils/Linux_x64/Release/bin -pthread -fcolor-diagnostics -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -Xclang -mllvm -Xclang -fast-isel-sink-local-values=1 -fdebug-prefix-map=/b/swarming/w/ir/cache/builder/src/out/Release=. -no-canonical-prefixes -m64 -march=x86-64 -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g1 -fvisibility=hidden -Xclang -load -Xclang ../../third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.so -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang no-realpath -Xclang -plugin-arg-find-bad-constructs -Xclang check-enum-max-value -Xclang -plugin-arg-find-bad-constructs -Xclang check-ipc -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Werror -Wall -Wno-unused-variable -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-covered-switch-default -Wno-unneeded-internal-declaration -Wno-inconsistent-missing-override -Wno-undefined-var-template -Wno-nonportable-include-path -Wno-address-of-packed-member -Wno-unused-lambda-capture -Wno-user-defined-warnings -Wno-enum-compare-switch -Wno-null-pointer-arithmetic -Wno-ignored-pragma-optimize -Wno-return-std-move -std=gnu++14 -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include --sysroot=../../build/linux/debian_sid_amd64-sysroot -fvisibility-inlines-hidden -Wno-delete-non-virtual-dtor -Wno-deprecated -Wno-unused-local-typedef -fexceptions -c ../../third_party/deqp/src/framework/referencerenderer/rrFragmentOperations.cpp -o obj/third_party/angle/src/tests/angle_deqp_libtester/rrFragmentOperations.o
../../third_party/deqp/src/framework/referencerenderer/rrFragmentOperations.cpp:603:9: error: explicitly assigning value of variable of type 'tcu::Vec3' (aka 'Vector<float, 3>') to itself [-Werror,-Wself-assign]
                color = color;
                ~~~~~ ^ ~~~~~
1 error generated.

Hey, that one might be an actual bug?
Just a performance issue, at most.
Well, "bug" in the sense of "unintentional code". So far, I've seen the warning only find intentional self-assignments in tests; this one isn't an intentional one (even if not harmful -- but it's not clear to me if the else wants to do something else to not always return black in the else branch as it currently does).
I'd leave it for dEQP people to decide, maybe they like their code that way.
Speaking of which, Jamie, should we report this to dEQP?

Also, Ken, Nico, does it make sense to you to add ANGLE dEQP trybots to clang rolls during presubmit?
Project Member

Comment 14 by bugdroid1@chromium.org, Apr 13 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/angle/angle/+/1dc4414f6f6654429e9ce634869a6ac7cb43a039

commit 1dc4414f6f6654429e9ce634869a6ac7cb43a039
Author: Yuly Novikov <ynovikov@chromium.org>
Date: Fri Apr 13 18:33:17 2018

Suppress self-assign warning in angle_deqp_decpp and angle_deqp_libtester

Compiling dEQP with clang started failing after clang roll
https://chromium-review.googlesource.com/1012028

BUG= chromium:832753 

Change-Id: I532872a68c3c8d916c6bfd2b5370501746076193
Reviewed-on: https://chromium-review.googlesource.com/1012382
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

[modify] https://crrev.com/1dc4414f6f6654429e9ce634869a6ac7cb43a039/src/tests/BUILD.gn

No, deqp bots shouldn't block clang rolls. Instead, we should be able to temporarily ping the deqp bots to older clangs in cases like this.
Doesn't seem to contradict one another, if you pin clang version on deqp bots in the same CL as the roll.
I think the idea is they want to roll clang more often and not deal with exceptions related bugs. We should be able to pin to a fairly stable version and not regress except when we roll clang (with issue 786460).
Let me rephrase: We (compiler folks) do not want the deqp bots to block rolls, since rolling is already very hard given the amount of configurations we do support. The pinning is the compromise we (kbr dpranke me) had agreed to.
Status: Fixed (was: Assigned)
Thanks much for fixing!
Project Member

Comment 21 by bugdroid1@chromium.org, Apr 14 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/20173723eb42f944e87896f488bba31a837b8db6

commit 20173723eb42f944e87896f488bba31a837b8db6
Author: angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Sat Apr 14 01:30:29 2018

Roll src/third_party/angle/ a912046dc..152152618 (6 commits)

https://chromium.googlesource.com/angle/angle.git/+log/a912046dc3e1..152152618edf

$ git log a912046dc..152152618 --date=short --no-merges --format='%ad %ae %s'
2018-04-11 courtneygo Enable unneeded-internal-declaration compiler warning
2018-04-13 thakis Add standalone angle bots to default cq set, remove upstream win-msvc-rel bot.
2018-04-13 jmadill Add "root" variable to DEPS.
2018-04-13 jmadill Move client attribs mask to front-end.
2018-04-13 cwallez Fix infra.cq to point to new Windows configs.
2018-04-13 ynovikov Suppress self-assign warning in angle_deqp_decpp and angle_deqp_libtester

Created with:
  roll-dep src/third_party/angle
BUG= chromium:820421 , chromium:820421 , chromium:832753 


The AutoRoll server is located here: https://angle-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
TBR=ynovikov@chromium.org

Change-Id: Ibd58cf941e498e12a5bfe8c3e6244bfbb684171f
Reviewed-on: https://chromium-review.googlesource.com/1013084
Reviewed-by: angle-chromium-autoroll <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: angle-chromium-autoroll <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#550849}
[modify] https://crrev.com/20173723eb42f944e87896f488bba31a837b8db6/DEPS

Project Member

Comment 22 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/20173723eb42f944e87896f488bba31a837b8db6

commit 20173723eb42f944e87896f488bba31a837b8db6
Author: angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Sat Apr 14 01:30:29 2018

Roll src/third_party/angle/ a912046dc..152152618 (6 commits)

https://chromium.googlesource.com/angle/angle.git/+log/a912046dc3e1..152152618edf

$ git log a912046dc..152152618 --date=short --no-merges --format='%ad %ae %s'
2018-04-11 courtneygo Enable unneeded-internal-declaration compiler warning
2018-04-13 thakis Add standalone angle bots to default cq set, remove upstream win-msvc-rel bot.
2018-04-13 jmadill Add "root" variable to DEPS.
2018-04-13 jmadill Move client attribs mask to front-end.
2018-04-13 cwallez Fix infra.cq to point to new Windows configs.
2018-04-13 ynovikov Suppress self-assign warning in angle_deqp_decpp and angle_deqp_libtester

Created with:
  roll-dep src/third_party/angle
BUG= chromium:820421 , chromium:820421 , chromium:832753 


The AutoRoll server is located here: https://angle-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
TBR=ynovikov@chromium.org

Change-Id: Ibd58cf941e498e12a5bfe8c3e6244bfbb684171f
Reviewed-on: https://chromium-review.googlesource.com/1013084
Reviewed-by: angle-chromium-autoroll <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: angle-chromium-autoroll <angle-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#550849}
[modify] https://crrev.com/20173723eb42f944e87896f488bba31a837b8db6/DEPS

Sign in to add a comment