New issue
Advanced search Search tips

Issue 880827 link

Starred by 6 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 24
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug


Sign in to add a comment

Roll Clang again

Project Member Reported by h...@chromium.org, Sep 5

Issue description

Tracking bug for the next Clang roll.

Previous roll:  issue 871418 
 
Enabling ThinLTO currently is broken on Windows, at least for me. Builds to a binary, but the resulting binary loads to a featureless blank/white screen UI. ThinLTO optimization level does not matter.

Started somewhere around the 8.0.0 trunk migration. Building with 7.0.0-rc2 still works okay.
Thanks, robrich999. I think  crbug.com/881036  is tracking the same issue.
Project Member

Comment 3 by bugdroid1@chromium.org, Sep 6

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

commit b4bebe1aa15dba7ca5fcc6456a81a55665327c3a
Author: Reid Kleckner <rnk@google.com>
Date: Thu Sep 06 21:33:56 2018

Use getBeginLoc and getEndLoc after Clang r341573

getLocStart and getLocEnd have been deleted. The replacements are
functionally equivalent.

Sending TBR to green the clang ToT waterfall.

TBR=thakis@chromium.org,dcheng@chromium.org
NOTRY=True

Bug:  880827 
Change-Id: Ic76e3c3380454425b79c1d4211a14c9c35206d3c
Reviewed-on: https://chromium-review.googlesource.com/1211740
Commit-Queue: Reid Kleckner <rnk@chromium.org>
Reviewed-by: Reid Kleckner <rnk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589309}
[modify] https://crrev.com/b4bebe1aa15dba7ca5fcc6456a81a55665327c3a/tools/clang/blink_gc_plugin/BlinkGCPluginConsumer.cpp
[modify] https://crrev.com/b4bebe1aa15dba7ca5fcc6456a81a55665327c3a/tools/clang/blink_gc_plugin/DiagnosticsReporter.cpp
[modify] https://crrev.com/b4bebe1aa15dba7ca5fcc6456a81a55665327c3a/tools/clang/blink_gc_plugin/RecordInfo.h
[modify] https://crrev.com/b4bebe1aa15dba7ca5fcc6456a81a55665327c3a/tools/clang/plugins/CheckIPCVisitor.cpp
[modify] https://crrev.com/b4bebe1aa15dba7ca5fcc6456a81a55665327c3a/tools/clang/plugins/FindBadConstructsConsumer.cpp

Want Clang r341585 to fix the issue robrich999 reported.
Blockedon: 883897
I would like (at least) r341385 for libFuzzer on Windows (+1 to #4).
Blockedon: 884427
Blocking: 859463 330260
r342334 for issue 330260
r342332 for (some of)  issue 859463 
r342401 for the rest of  issue 859463 
r342516 for  issue 884427 , assuming the ToT bots like it and it doesn't need follow-ups.
Blocking: 884427
Blockedon: -884427
Blockedon: 886629
Building packages for 342523 at https://chromium-review.googlesource.com/c/chromium/src/+/1232590 

Filed  issue 886629  for the red msan bot -- it's a true positive though and will be fixed chrome-side.
Blocking: 881036
Project Member

Comment 16 by bugdroid1@chromium.org, Sep 19

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

commit 34893e97f49e129ceb545f4edb3758e4b1bee1e5
Author: Nico Weber <thakis@chromium.org>
Date: Wed Sep 19 20:04:32 2018

Roll clang 340925:342523.

Ran `tools/clang/scripts/upload_revision.py 342523`.

Bug:  880827 
Change-Id: I8f747ab4a2de74a0f0b4b5a201d37e111f323077
Reviewed-on: https://chromium-review.googlesource.com/1232590
Reviewed-by: Reid Kleckner <rnk@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592531}
[modify] https://crrev.com/34893e97f49e129ceb545f4edb3758e4b1bee1e5/tools/clang/scripts/update.py

Blocking: 887108
Just fyi, if you hear about MSan false positives with strcmp, then https://reviews.llvm.org/rL342582 is needed. Somehow it didn't get noticed on Chromium yet, even though regression was introduced in https://reviews.llvm.org/rL339410.

Regarding 887108, that looks unlikely related to clang roll. so, i clicked redo testcase->Retry regression range to see if it changes.
Windows 32-bit ThinLTO appears to be broken, at for my local build attempt.

****************

clang-cl.exe --version
clang version 8.0.0 (trunk 342523)
Target: x86_64-pc-windows-msvc
Thread model: posix
InstalledDir: C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin

****************

target_cpu = "x86"
use_thin_lto = true
thin_lto_enable_optimizations = true

LINK v8_context_snapshot_generator.exe
FAILED: v8_context_snapshot_generator.exe
ninja -t msvc -e environment.x86 -- ../../third_party/llvm-build/llvm-external/bin/lld-link.exe /nologo /OUT:./v8_context_snapshot_generator.exe /PDB:./v8_context_snapshot_generator.exe.pdb @./v8_context_snapshot_generator.exe.rsp
LLVM ERROR: cannot use inalloca attribute on a register parameter
LLVMSymbolizer: error reading file: 'ucrtbase.pdb': no such file or directory
LLVMSymbolizer: error reading file: 'kernel32.pdb': no such file or directory
LLVMSymbolizer: error reading file: 'ntdll.pdb': no such file or directory
#0 0x00007ff689fa0098 (C:\depot_tools\chromium\src\third_party\llvm-build\llvm-external\bin\lld-link.exe+0x1790098)
#1 0x00007ff689fa2935 (C:\depot_tools\chromium\src\third_party\llvm-build\llvm-external\bin\lld-link.exe+0x1792935)
#2 0x00007ff689fa282f (C:\depot_tools\chromium\src\third_party\llvm-build\llvm-external\bin\lld-link.exe+0x179282f)
#3 0x00007ff68971e1cc (C:\depot_tools\chromium\src\third_party\llvm-build\llvm-external\bin\lld-link.exe+0xf0e1cc)
#4 0x00007ff68999bc99 (C:\depot_tools\chromium\src\third_party\llvm-build\llvm-external\bin\lld-link.exe+0x118bc99)
#5 0x00007ff689723a15 (C:\depot_tools\chromium\src\third_party\llvm-build\llvm-external\bin\lld-link.exe+0xf13a15)
#6 0x00007ff689711230 (C:\depot_tools\chromium\src\third_party\llvm-build\llvm-external\bin\lld-link.exe+0xf01230)
#7 0x00007ff689719dcf (C:\depot_tools\chromium\src\third_party\llvm-build\llvm-external\bin\lld-link.exe+0xf09dcf)
#8 0x00007ff689711d35 (C:\depot_tools\chromium\src\third_party\llvm-build\llvm-external\bin\lld-link.exe+0xf01d35)
#9 0x00007ff68971313b (C:\depot_tools\chromium\src\third_party\llvm-build\llvm-external\bin\lld-link.exe+0xf0313b)
#10 0x00007ff68a10233a (C:\depot_tools\chromium\src\third_party\llvm-build\llvm-external\bin\lld-link.exe+0x18f233a)
#11 0x00007ff68a102901 (C:\depot_tools\chromium\src\third_party\llvm-build\llvm-external\bin\lld-link.exe+0x18f2901)
#12 0x00007ff68a1026f9 (C:\depot_tools\chromium\src\third_party\llvm-build\llvm-external\bin\lld-link.exe+0x18f26f9)
#13 0x00007fffe845c4be (C:\WINDOWS\System32\ucrtbase.dll+0x1c4be)
#14 0x00007fffe9093034 (C:\WINDOWS\System32\KERNEL32.DLL+0x13034)
#15 0x00007fffeb121461 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x71461)
(....)


****************

target_cpu = "x86"
use_thin_lto = true

LINK v8_context_snapshot_generator.exe
FAILED: v8_context_snapshot_generator.exe
ninja -t msvc -e environment.x86 -- ../../third_party/llvm-build/Release+Asserts/bin/lld-link.exe /nologo /OUT:./v8_context_snapshot_generator.exe /PDB:./v8_context_snapshot_generator.exe.pdb @./v8_context_snapshot_generator.exe.rsp
LLVM ERROR: cannot use inalloca attribute on a register parameter
LLVMSymbolizer: error reading file: 'C:\b\rr\tmpbqecky\w\src\third_party\llvm-build\Release+Asserts\threads_enabled\bin\lld.pdb': no such file or directory
LLVMSymbolizer: error reading file: 'kernel32.pdb': no such file or directory
LLVMSymbolizer: error reading file: 'ntdll.pdb': no such file or directory
LLVMSymbolizer: error reading file: 'C:\b\rr\tmpbqecky\w\src\third_party\llvm-build\Release+Asserts\threads_enabled\bin\lld.pdb': no such file or directory
LLVMSymbolizer: error reading file: 'kernel32.pdb': no such file or directory
LLVMSymbolizer: error reading file: 'ntdll.pdb': no such file or directory
#0 0x00007ff7aea02886 (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x2212886)
#1 0x00007ff7ae9fdc37 (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x220dc37)
#2 0x00007ff7aea0247a (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x221247a)
#3 0x00007ff7addf61c2 (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x16061c2)
#4 0x00007ff7addf431d (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x160431d)
#5 0x00007ff7aebfab57 (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x240ab57)
#6 0x00007ff7aebfa9f2 (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x240a9f2)
#7 0x00007ff7aebfac59 (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x240ac59)
#8 0x00007ff7aec43b98 (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x2453b98)
#9 0x00007fffe9093034 (C:\WINDOWS\System32\KERNEL32.DLL+0x13034)
#10 0x00007fffeb121461 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x71461)
#0 0x00007ff7aea02886 (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x2212886)
#1 0x00007ff7ae9fdc37 (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x220dc37)
#2 0x00007ff7aea0247a (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x221247a)
#3 0x00007ff7addf61c2 (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x16061c2)
#4 0x00007ff7addf431d (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x160431d)
#5 0x00007ff7aebfab57 (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x240ab57)
#6 0x00007ff7aebfa9f2 (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x240a9f2)
#7 0x00007ff7aebfac59 (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x240ac59)
#8 0x00007ff7aec43b98 (C:\depot_tools\chromium\src\third_party\llvm-build\Release+Asserts\bin\lld-link.exe+0x2453b98)
#9 0x00007fffe9093034 (C:\WINDOWS\System32\KERNEL32.DLL+0x13034)
#10 0x00007fffeb121461 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x71461)
LLVMSymbolizer: error reading file: LLVMSymbolizer: error reading file: 'C:\b\rr\tmpbqecky\w\src\third_party\llvm-build\Release+Asserts\threads_enabled\bin\lld.pdb': 'no such file or directoryC:\b\rr\tmpbqecky\w\src\third_party\llvm-build\Release+Asserts\threads_enabled\bin\lld.pdb':
no such file or directory
(....)
The latest roll seems to be causing (other) problems for Clank:  crbug.com/887272 
Project Member

Comment 21 by bugdroid1@chromium.org, Sep 20

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

commit f6a8902e39eecb5d7a0be8dc61f432e451213023
Author: Egor Pasko <pasko@chromium.org>
Date: Thu Sep 20 11:58:36 2018

Revert "Roll clang 340925:342523."

This reverts commit 34893e97f49e129ceb545f4edb3758e4b1bee1e5.

Reason for revert: New failures on Android in computeKnownBits(), looks like an LTO problem.  http://crbug.com/887272 

Original change's description:
> Roll clang 340925:342523.
> 
> Ran `tools/clang/scripts/upload_revision.py 342523`.
> 
> Bug:  880827 
> Change-Id: I8f747ab4a2de74a0f0b4b5a201d37e111f323077
> Reviewed-on: https://chromium-review.googlesource.com/1232590
> Reviewed-by: Reid Kleckner <rnk@chromium.org>
> Commit-Queue: Nico Weber <thakis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#592531}

TBR=thakis@chromium.org,hans@chromium.org,rnk@chromium.org

Change-Id: Idee414178ab15058aa080f670585cee81e0f8ac5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  880827 
Reviewed-on: https://chromium-review.googlesource.com/1236003
Reviewed-by: Egor Pasko <pasko@chromium.org>
Commit-Queue: Egor Pasko <pasko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592765}
[modify] https://crrev.com/f6a8902e39eecb5d7a0be8dc61f432e451213023/tools/clang/scripts/update.py

Project Member

Comment 22 by bugdroid1@chromium.org, Sep 20

Labels: merge-merged-3557
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7c20ec4601770bdfd269f87d4ec314b5d1ac8f50

commit 7c20ec4601770bdfd269f87d4ec314b5d1ac8f50
Author: Egor Pasko <pasko@chromium.org>
Date: Thu Sep 20 12:23:20 2018

Revert "Roll clang 340925:342523."

This reverts commit 34893e97f49e129ceb545f4edb3758e4b1bee1e5.

Reason for revert: New failures on Android in computeKnownBits(), looks like an LTO problem.  http://crbug.com/887272 

Original change's description:
> Roll clang 340925:342523.
> 
> Ran `tools/clang/scripts/upload_revision.py 342523`.
> 
> Bug:  880827 
> Change-Id: I8f747ab4a2de74a0f0b4b5a201d37e111f323077
> Reviewed-on: https://chromium-review.googlesource.com/1232590
> Reviewed-by: Reid Kleckner <rnk@chromium.org>
> Commit-Queue: Nico Weber <thakis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#592531}

TBR=thakis@chromium.org,hans@chromium.org,rnk@chromium.org

Change-Id: Idee414178ab15058aa080f670585cee81e0f8ac5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  880827 
Reviewed-on: https://chromium-review.googlesource.com/1236003
Reviewed-by: Egor Pasko <pasko@chromium.org>
Commit-Queue: Egor Pasko <pasko@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#592765}(cherry picked from commit f6a8902e39eecb5d7a0be8dc61f432e451213023)
Reviewed-on: https://chromium-review.googlesource.com/1236075
Cr-Commit-Position: refs/branch-heads/3557@{#3}
Cr-Branched-From: 10e9b59ba1acc764a058b8d152e3825ff7db50ba-refs/heads/master@{#592637}
[modify] https://crrev.com/7c20ec4601770bdfd269f87d4ec314b5d1ac8f50/tools/clang/scripts/update.py

Project Member

Comment 23 by bugdroid1@chromium.org, Sep 20

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

commit bbb140b822e8ae819be4fae81c2c7e713a7a5e8e
Author: Nico Weber <thakis@chromium.org>
Date: Thu Sep 20 13:38:02 2018

Reland "Roll clang 340925:342523."

This reverts commit f6a8902e39eecb5d7a0be8dc61f432e451213023.

Reason for revert: relanding with lto for android disabled until
things are sorted out.

Original change's description:
> Revert "Roll clang 340925:342523."
> 
> This reverts commit 34893e97f49e129ceb545f4edb3758e4b1bee1e5.
> 
> Reason for revert: New failures on Android in computeKnownBits(), looks like an LTO problem.  http://crbug.com/887272 
> 
> Original change's description:
> > Roll clang 340925:342523.
> > 
> > Ran `tools/clang/scripts/upload_revision.py 342523`.
> > 
> > Bug:  880827 
> > Change-Id: I8f747ab4a2de74a0f0b4b5a201d37e111f323077
> > Reviewed-on: https://chromium-review.googlesource.com/1232590
> > Reviewed-by: Reid Kleckner <rnk@chromium.org>
> > Commit-Queue: Nico Weber <thakis@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#592531}
> 
> TBR=thakis@chromium.org,hans@chromium.org,rnk@chromium.org
> 
> Change-Id: Idee414178ab15058aa080f670585cee81e0f8ac5
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug:  880827 
> Reviewed-on: https://chromium-review.googlesource.com/1236003
> Reviewed-by: Egor Pasko <pasko@chromium.org>
> Commit-Queue: Egor Pasko <pasko@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#592765}

TBR=pasko@chromium.org,thakis@chromium.org,hans@chromium.org,rnk@chromium.org

Change-Id: I26ea97e83cfebcec0670e79683fe0db7f993c1a7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  880827 
Reviewed-on: https://chromium-review.googlesource.com/1236174
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#592778}
[modify] https://crrev.com/bbb140b822e8ae819be4fae81c2c7e713a7a5e8e/build/config/compiler/compiler.gni
[modify] https://crrev.com/bbb140b822e8ae819be4fae81c2c7e713a7a5e8e/tools/clang/scripts/update.py

Blocking: 887272
Blocking: 887464
Another collateral damage:  crbug.com/887464 
I didn't see anyone mention it, but one of the big reasons I think we should keep the clang roll in is that the non-goma chrome build is broken without it. It seems more important to keep the vanilla config building than to ship Android ThinLTO. Just keep that in mind when looking at other regressions.
Nico: I am surprised that the libFuzzer runtime wasn't shipped with Clang for Windows even though I landed a patch (https://chromium-review.googlesource.com/c/chromium/src/+/1229078) on the 17th to do this.

I would like this revision of clang to be rebuilt so that the clang package includes the libFuzzer runtime (so that one can compile libFuzzer targets on Windows). 

I followed the "Updating Clang" guide up until step 3 and I have a CL (https://chromium-review.googlesource.com/c/chromium/src/+/1239665) ready.

Do you think this is the correct solution to my problem (in which case I will start the review, and continue with the steps)

The new build that I made (gs://chromium-browser-clang-staging/Win/clang-342523-2.tgz) has the library as I expect, so I believe rebuilding clang as I have done solves my issue. 

Thank you.

http://commondatastorage.googleapis.com/chromium-browser-clang-staging/index.html?path=Win/ => Looks like the fuzzer runtimes are 7.7MB and present twice. That's pretty big, is there anything we can do to make them smaller? Why are they so large?

Do we need both?
Owner: thakis@chromium.org
Status: Fixed (was: Available)
This roll had some issues ( issue 887464 , "hit!" build spam -- https://chromium-review.googlesource.com/c/chromium/src/+/1236174#message-514f1e564b2e4468d55e57686dc0a4325afa76d6 , breaking LTO on android /  issue 887272 ), but reverting means breaking the non-goma windows build ( issue 884427 ), so we're probably going to roll forward and call this one done.

Next roll is  issue 888476 .

Sign in to add a comment