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

Issue 787920 link

Starred by 8 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , iOS , Chrome , Mac , Fuchsia
Pri: 3
Type: Bug


Sign in to add a comment

Roll clang again

Project Member Reported by h...@chromium.org, Nov 22 2017

Issue description

Tracking bug for the next Clang roll. (Previous was  Issue 782281 )
 

Comment 1 by h...@chromium.org, Nov 22 2017

Want r318785 for the -finstrument-function-entry-bare flag.

Comment 2 by lizeb@chromium.org, Nov 23 2017

Cc: lizeb@chromium.org

Comment 3 by h...@chromium.org, Dec 4 2017

Blockedon: 791714

Comment 4 by h...@chromium.org, Dec 4 2017

Blocking: 780124

Comment 5 by p...@chromium.org, Dec 5 2017

Blocking: 775254

Comment 6 by p...@chromium.org, Dec 5 2017

r319307 for AArch64 thunk support in lld.

Comment 7 by h...@chromium.org, Dec 5 2017

Blockedon: 792188

Comment 8 by h...@chromium.org, Dec 6 2017

Blockedon: 792519

Comment 9 by h...@chromium.org, Dec 8 2017

Blockedon: 793189

Comment 10 by h...@chromium.org, Dec 11 2017

Blockedon: 793955

Comment 11 by h...@chromium.org, Dec 11 2017

Cc: infe...@chromium.org h...@chromium.org liaoyuke@chromium.org baxley@chromium.org
 Issue 793984  has been merged into this issue.

Comment 12 by h...@chromium.org, Dec 11 2017

For those following along, I tried to find a good revision, but the Clang/LLVM tree was very volatile and we didn't get many green builds on our bots.

This week it looks better so far, so hopefully we can get a roll in. It's certainly time for one. 

Comment 13 by h...@chromium.org, Dec 12 2017

Blockedon: -793955

Comment 14 by h...@chromium.org, Dec 12 2017

Owner: h...@chromium.org
Status: Started (was: Available)
Trying 320423: https://chromium-review.googlesource.com/c/chromium/src/+/820658

Comment 15 by h...@chromium.org, Dec 12 2017

That one's broken due to r320390, which got fixed in r320431.

Comment 16 by h...@chromium.org, Dec 12 2017

The good news is that besides those lld asserts, things looked pretty good. Trying r320471: https://chromium-review.googlesource.com/#/c/chromium/src/+/823219
Project Member

Comment 17 by bugdroid1@chromium.org, Dec 13 2017

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

commit b592ae80f004eeb95e3f03844b9b688648b44ab1
Author: Hans Wennborg <hans@chromium.org>
Date: Wed Dec 13 22:26:11 2017

Roll clang 318667:320471.

Bug:  787920 

Cq-Include-Trybots: master.tryserver.chromium.android:android_arm64_dbg_recipe;master.tryserver.chromium.android:android_compile_x64_dbg;master.tryserver.chromium.android:android_compile_x86_dbg
Change-Id: Ifcb76b0d95acc65eafbf58da624f9fbc920f7924
Reviewed-on: https://chromium-review.googlesource.com/823219
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523910}
[modify] https://crrev.com/b592ae80f004eeb95e3f03844b9b688648b44ab1/sandbox/linux/tests/unit_tests.cc
[modify] https://crrev.com/b592ae80f004eeb95e3f03844b9b688648b44ab1/tools/clang/scripts/update.py

Project Member

Comment 18 by bugdroid1@chromium.org, Dec 13 2017

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

commit 410c205dcccaaeca0070d25b500d23bbccf7da77
Author: Hans Wennborg <hans@chromium.org>
Date: Wed Dec 13 23:32:45 2017

Revert "Roll clang 318667:320471."

This reverts commit b592ae80f004eeb95e3f03844b9b688648b44ab1.

Reason for revert:
Caused LLD assert on Google Chrome Linux x64.

Original change's description:
> Roll clang 318667:320471.
> 
> Bug:  787920 
> 
> Cq-Include-Trybots: master.tryserver.chromium.android:android_arm64_dbg_recipe;master.tryserver.chromium.android:android_compile_x64_dbg;master.tryserver.chromium.android:android_compile_x86_dbg
> Change-Id: Ifcb76b0d95acc65eafbf58da624f9fbc920f7924
> Reviewed-on: https://chromium-review.googlesource.com/823219
> Reviewed-by: Robert Sesek <rsesek@chromium.org>
> Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
> Reviewed-by: Peter Collingbourne <pcc@chromium.org>
> Commit-Queue: Hans Wennborg <hans@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#523910}

TBR=jorgelo@chromium.org,hans@chromium.org,rnk@chromium.org,pcc@chromium.org,rsesek@chromium.org

Change-Id: Icbbd0da2640660ba0529236d5b800d1cfde357f5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  787920 
Cq-Include-Trybots: master.tryserver.chromium.android:android_arm64_dbg_recipe;master.tryserver.chromium.android:android_compile_x64_dbg;master.tryserver.chromium.android:android_compile_x86_dbg
Reviewed-on: https://chromium-review.googlesource.com/826322
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Hans Wennborg <hans@chromium.org>
Cr-Commit-Position: refs/heads/master@{#523929}
[modify] https://crrev.com/410c205dcccaaeca0070d25b500d23bbccf7da77/sandbox/linux/tests/unit_tests.cc
[modify] https://crrev.com/410c205dcccaaeca0070d25b500d23bbccf7da77/tools/clang/scripts/update.py

Comment 19 by h...@chromium.org, Dec 13 2017

The build that failed is here: https://luci-milo.appspot.com/buildbot/chromium.chrome/Google%20Chrome%20Linux%20x64/25172

I've started a bisect.

Comment 20 by h...@chromium.org, Dec 14 2017

Cc: ruiu@google.com p...@chromium.org
Bisection points to
r319127 - Store the real binding of shared symbols

pcc or ruiu, can you take a look at this? The build linked in #19 shows how to reproduce it, but we can't just upload the files somewhere because I think it uses stuff in src.internal.

Comment 21 by ruiu@google.com, Dec 14 2017

Looking.

Comment 22 by r...@chromium.org, Dec 14 2017

r319490 improves clang's /GS checks, and this roll should bring that in.

Comment 23 by h...@chromium.org, Dec 15 2017

Rui landed a fix for the LLD problem in r320770, turning it into a warning. I'll try to figure out a way to not treat that warning as an error in our build.

Comment 24 by h...@chromium.org, Dec 15 2017

Turns out it's really hard to turn off fatal link warnings for just one target :-(

Comment 25 by h...@chromium.org, Dec 15 2017

Blockedon: 795158

Comment 26 by h...@chromium.org, Dec 15 2017

Thanks for the suggestion pcc, I have a patch to suppress the fatal warning now.
Packaging r320775 here: https://chromium-review.googlesource.com/c/chromium/src/+/828400

Comment 27 by h...@chromium.org, Dec 15 2017

Cc: inglorion@chromium.org
Owner: ----
Status: Available (was: Started)
The headless_unittests insist on failing on Mac with the roll: https://ci.chromium.org/buildbot/tryserver.chromium.mac/mac_chromium_rel_ng/613447

[ RUN      ] ErrorReporterTest.TopLevelErrors
../../headless/public/util/error_reporter_unittest.cc:25: Failure
Expected equality of these values:
  "instructions unclear"
  reporter.errors()[0]
    Which is: ": instructions unclear"


The code that puts the ": " in looks like this:

void ErrorReporter::AddError(base::StringPiece description) {
  std::stringstream error;
  for (size_t i = 0; i < path_.size(); i++) {
    if (!path_[i]) {
      DCHECK_EQ(i + 1, path_.size());
      break;
    }
    if (i)
      error << '.';
    error << path_[i];
  }
  if (error.tellp())
    error << ": ";
  error << description;
  errors_.push_back(error.str());
}

I'm guessing this is a libc++ thing.

There's a commit since the previous roll attempt that touches stringstream I think, so that might be the problem.

------------------------------------------------------------------------
r320604 | lichray | 2017-12-13 10:12:55 -0800 (Wed, 13 Dec 2017) | 30 lines

[libcxx] Fix basic_stringbuf constructor

Summary:
[libcxx] Fix basic_stringbuf constructor

The C++ Standard [stringbuf.cons]p1 defines the effects of the basic_stringbuf
constructor that takes ios_base::openmode as follows:
  Effects: Constructs an object of class basic_stringbuf, initializing the
  base class with basic_streambuf(), and initializing mode with which.
  Postconditions: str() == "".

The default constructor of basic_streambuf shall initialize all its
pointer member objects to null pointers [streambuf.cons]p1.

Currently libc++ calls "str(string_type());" in the aforementioned constructor
setting basic_streambuf's pointers to a non-null value.

This patch removes the call (note that the postcondition str() == ""
remains valid because __str_ is default-initialized) and adds a test checking
that the basic_streambuf's pointers are null after construction.

Thanks Mikhail Maltsev for the patch.

Reviewers: EricWF, mclow.lists

Reviewed By: mclow.lists

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D40707
------------------------------------------------------------------------

I'm on my way to the airport now; Perhaps Peter or Bob can finish this one.

Comment 28 by p...@chromium.org, Dec 15 2017

Owner: p...@chromium.org
Status: Started (was: Available)
Looking.

Comment 29 by p...@chromium.org, Dec 16 2017

Sent https://reviews.llvm.org/D41319 which fixes the regression in libc++.

Comment 30 by r...@chromium.org, Dec 18 2017

I checked the ToT waterfall this Monday morning, and I found one issue that looks like it might be a regression:
https://ci.chromium.org/buildbot/chromium.clang/ToTAndroid64/358

FAILED: obj/third_party/libjpeg_turbo/simd/jsimd_arm64_neon.o 
...
<instantiation>:51:9: error: invalid operand for instruction
    ldr PUT_BUFFER, [x0, #0x10]
...

It looks like libjpeg_turbo didn't change, but the AArch64 asm parser did inside the clang revision window of 320975 - 320955:
  r320970 - ARM, SVE
  r320965 - Tim, Cyclone

I'll try to run this down and maybe file an issue for it.

At the moment, the rest of the redness looks non-blocking.
Blocking: 795924
Blockedon: 793424
We will also need Clang r321030 for  crbug.com/793424 

Comment 33 by p...@chromium.org, Dec 19 2017

https://reviews.llvm.org/D41319 landed in r321124. Trying that revision.

Comment 35 by p...@chromium.org, Dec 20 2017

There was breakage on Windows which I reverted in r321139. Trying that revision.

Comment 36 by r...@chromium.org, Dec 20 2017

I reverted the CL that regressed libjpeg on AArch64 in r321024, so you have that in the roll.

Looks like there's some problem in webrtc.

Comment 37 by r...@chromium.org, Dec 20 2017

Cc: r...@chromium.org

Comment 38 by p...@chromium.org, Dec 20 2017

The problem (if that's what it is) appears to be with skia. If I build the object files in obj/skia/skia/ with r318667 it fixes the test case.

Comment 39 by p...@chromium.org, Dec 20 2017

The bad object file is obj/skia/skia/GrTextureOp.o

Now to bisect on LLVM to see which revision broke it.

Comment 40 by p...@chromium.org, Dec 20 2017

First bad revision is r321089. Reverting.

Comment 41 by p...@chromium.org, Dec 20 2017

Actually there was a followup to r321089, r321204, that looks like a bug fix for the original change. I'll see if that fixes the problem.

Comment 42 by p...@chromium.org, Dec 20 2017

Looks like it does, trying r321204.

Comment 43 by p...@chromium.org, Dec 21 2017

https://chromium-review.googlesource.com/#/c/chromium/src/+/838842 fixes a sign compare warning on Windows, hopefully we should be good to land after that.
Project Member

Comment 44 by bugdroid1@chromium.org, Dec 21 2017

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

commit 314981466356cd65256bbfa16763f097fc2521b8
Author: Peter Collingbourne <pcc@chromium.org>
Date: Thu Dec 21 04:35:18 2017

Fix enum vs int -Wsign-compare warning

Recent Clang versions have started to take into account the
signedness of enums for the -Wsign-compare warning.

TBR=mmenke@chromium.org

Bug:  787920 
Change-Id: If877715136fbbc3e96f6646f8ea66f7c92e0b981
Reviewed-on: https://chromium-review.googlesource.com/838842
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525604}
[modify] https://crrev.com/314981466356cd65256bbfa16763f097fc2521b8/content/browser/loader/resource_scheduler_unittest.cc

Project Member

Comment 45 by bugdroid1@chromium.org, Dec 21 2017

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

commit ece1b14db2dedf6a9a4086b46e8cc6c2acd1b62d
Author: Peter Collingbourne <pcc@chromium.org>
Date: Thu Dec 21 07:31:48 2017

Roll clang 318667:321204.

Ran `tools/clang/scripts/upload_revision.py 321204`
and cherry-picked the non-clang changes from
https://chromium-review.googlesource.com/c/chromium/src/+/828400 .

TBR=brettw@chromium.org,rsesek@chromium.org,hans@chromium.org

Bug:  787920 
Cq-Include-Trybots: master.tryserver.chromium.android:android_arm64_dbg_recipe;master.tryserver.chromium.android:android_compile_mips_dbg;master.tryserver.chromium.android:android_compile_x64_dbg;master.tryserver.chromium.android:android_compile_x86_dbg
Change-Id: Iaec5677e2afee0edb685db816e00f3c900214d14
Reviewed-on: https://chromium-review.googlesource.com/835358
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Hans Wennborg <hans@chromium.org>
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525638}
[modify] https://crrev.com/ece1b14db2dedf6a9a4086b46e8cc6c2acd1b62d/build/config/BUILDCONFIG.gn
[modify] https://crrev.com/ece1b14db2dedf6a9a4086b46e8cc6c2acd1b62d/build/config/compiler/BUILD.gn
[modify] https://crrev.com/ece1b14db2dedf6a9a4086b46e8cc6c2acd1b62d/media/cdm/ppapi/ppapi_cdm_adapter.gni
[modify] https://crrev.com/ece1b14db2dedf6a9a4086b46e8cc6c2acd1b62d/sandbox/linux/tests/unit_tests.cc
[modify] https://crrev.com/ece1b14db2dedf6a9a4086b46e8cc6c2acd1b62d/tools/clang/scripts/update.py

Comment 46 by kbr@chromium.org, Dec 22 2017

Blockedon: 797267
Project Member

Comment 47 by bugdroid1@chromium.org, Dec 22 2017

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

commit bcd195d07a842f2ed3745dfa4a0a6bb341375ff5
Author: Brad Lassey <lassey@chromium.org>
Date: Fri Dec 22 22:13:47 2017

Revert "Roll clang 318667:321204."

This reverts commit ece1b14db2dedf6a9a4086b46e8cc6c2acd1b62d.

Reason for revert: suspected of causing the crash in crbug/797267

Original change's description:
> Roll clang 318667:321204.
>
> Ran `tools/clang/scripts/upload_revision.py 321204`
> and cherry-picked the non-clang changes from
> https://chromium-review.googlesource.com/c/chromium/src/+/828400 .
>
> TBR=brettw@chromium.org,rsesek@chromium.org,hans@chromium.org
>
> Bug:  787920 
> Cq-Include-Trybots: master.tryserver.chromium.android:android_arm64_dbg_recipe;master.tryserver.chromium.android:android_compile_mips_dbg;master.tryserver.chromium.android:android_compile_x64_dbg;master.tryserver.chromium.android:android_compile_x86_dbg
> Change-Id: Iaec5677e2afee0edb685db816e00f3c900214d14
> Reviewed-on: https://chromium-review.googlesource.com/835358
> Commit-Queue: Peter Collingbourne <pcc@chromium.org>
> Reviewed-by: Robert Sesek <rsesek@chromium.org>
> Reviewed-by: Hans Wennborg <hans@chromium.org>
> Reviewed-by: Peter Collingbourne <pcc@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#525638}

TBR=eugenis@chromium.org,brettw@chromium.org,hans@chromium.org,rnk@chromium.org,pcc@chromium.org,rsesek@chromium.org
NOTRY=true

Skipping the CQ because there appear to be Android bot capacity issues.

Bug:  787920 ,797267
Change-Id: I3a033492561ae2ff4fcf46fe9087efbbd9f015f6
Cq-Include-Trybots: master.tryserver.chromium.android:android_arm64_dbg_recipe;master.tryserver.chromium.android:android_compile_mips_dbg;master.tryserver.chromium.android:android_compile_x64_dbg;master.tryserver.chromium.android:android_compile_x86_dbg
Reviewed-on: https://chromium-review.googlesource.com/843242
Commit-Queue: Reid Kleckner <rnk@chromium.org>
Reviewed-by: Reid Kleckner <rnk@chromium.org>
Reviewed-by: Avi Drissman <avi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526072}
[modify] https://crrev.com/bcd195d07a842f2ed3745dfa4a0a6bb341375ff5/build/config/BUILDCONFIG.gn
[modify] https://crrev.com/bcd195d07a842f2ed3745dfa4a0a6bb341375ff5/build/config/compiler/BUILD.gn
[modify] https://crrev.com/bcd195d07a842f2ed3745dfa4a0a6bb341375ff5/media/cdm/ppapi/ppapi_cdm_adapter.gni
[modify] https://crrev.com/bcd195d07a842f2ed3745dfa4a0a6bb341375ff5/sandbox/linux/tests/unit_tests.cc
[modify] https://crrev.com/bcd195d07a842f2ed3745dfa4a0a6bb341375ff5/tools/clang/scripts/update.py

Comment 48 by r...@chromium.org, Dec 27 2017

Blocking: 797267

Comment 49 by r...@chromium.org, Dec 27 2017

Blockedon: -797267

Comment 50 by r...@chromium.org, Dec 27 2017

Blockedon: 797168

Comment 51 by r...@chromium.org, Dec 28 2017

Blockedon: 797797
Owner: r...@chromium.org
We need at least r321510 to pick up the memcpyopt revert, and we need a fix for the LLD locally defined import warnings.
rnk, I can send a patch for the locally defined import warnings. Do you want to wait for that or revert Clang r321470 for the time being (we would miss out on the link speed improvements it provides).
Clang r321512 has the fix for the locally defined import warnings.

Comment 54 by r...@chromium.org, Dec 28 2017

Thanks! I picked r321529 to try for the next roll: https://chromium-review.googlesource.com/c/chromium/src/+/845700

The ToT waterfall looks green enough. Most of the redness seems to be upstream test failures in lightly tested configurations (dbg, official, etc).

Comment 55 Deleted

Comment 56 by h...@chromium.org, Jan 3 2018

Just fyi in case the current roll fails, Clang trunk was just bumped to 7.0.0 and I'm adjusting the Chromium side in https://chromium-review.googlesource.com/c/chromium/src/+/848748
When we roll past r321712, those files need an update.
Project Member

Comment 57 by bugdroid1@chromium.org, Jan 3 2018

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

commit 0d72bb1494c94523ae7bd944476a495e8b281bcc
Author: Reid Kleckner <rnk@google.com>
Date: Wed Jan 03 18:32:36 2018

Roll clang 318667:321529.

Created by patching in
https://chromium-review.googlesource.com/c/chromium/src/+/835358 and
manually editting the revision in update.py.

TBR-ing rsesek@ again for the sandbox changes.
TBR-ing bretw@ again for the ppapi adapter LLD warning suppression.

I will manually build and test net_unittests after uploading to goma,
but I've built this clang revision locally and they are not flaky for
me.

R=inglorion@chromium.org,hans@chromium.org
TBR=rsesek@chromium.org,brettw@chromium.org

Bug:  787920 , 797267,  797168 
Cq-Include-Trybots: master.tryserver.chromium.android:android_arm64_dbg_recipe;master.tryserver.chromium.android:android_compile_mips_dbg;master.tryserver.chromium.android:android_compile_x64_dbg;master.tryserver.chromium.android:android_compile_x86_dbg
Change-Id: Ifd25c014e79ad7a5d4533941ae7fd74a86860191
Reviewed-on: https://chromium-review.googlesource.com/845700
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Hans Wennborg <hans@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Reid Kleckner <rnk@chromium.org>
Commit-Queue: Reid Kleckner <rnk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526748}
[modify] https://crrev.com/0d72bb1494c94523ae7bd944476a495e8b281bcc/build/config/BUILDCONFIG.gn
[modify] https://crrev.com/0d72bb1494c94523ae7bd944476a495e8b281bcc/build/config/compiler/BUILD.gn
[modify] https://crrev.com/0d72bb1494c94523ae7bd944476a495e8b281bcc/media/cdm/ppapi/ppapi_cdm_adapter.gni
[modify] https://crrev.com/0d72bb1494c94523ae7bd944476a495e8b281bcc/sandbox/linux/tests/unit_tests.cc
[modify] https://crrev.com/0d72bb1494c94523ae7bd944476a495e8b281bcc/tools/clang/scripts/update.py

Comment 58 by r...@chromium.org, Jan 5 2018

Status: Fixed (was: Started)
Marking fixed, looks like the roll stuck.

Comment 59 by p...@chromium.org, Jan 11 2018

Blocking: 788475

Comment 60 by r...@chromium.org, Jan 12 2018

The roll caused some performance and size regressions, but with the long list of bugs it fixed I don't think we should revert it:
 https://crbug.com/801141 
 https://crbug.com/801134 
 https://crbug.com/799646 

Sign in to add a comment