New issue
Advanced search Search tips

Issue 772559 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 769761

Blocking:
issue webrtc:8356



Sign in to add a comment

MSan issues when using lld

Project Member Reported by p...@chromium.org, Oct 6 2017

Issue description

This happened when webrtc tried to roll chromium/build past the lld switch: https://webrtc-review.googlesource.com/c/src/+/7180

I tracked it down to a bug in lld which is fixed as of LLVM r315119.

We should disable lld when using msan in order to avoid any further false positives until we can roll past that revision.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Oct 6 2017

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

commit 91f0b5cbdd5acfecd2184056c164b477a732aa9b
Author: Peter Collingbourne <pcc@chromium.org>
Date: Fri Oct 06 23:45:27 2017

Disable lld when building with msan for now.

Due to an lld bug which causes false positives in msan.

Bug:  772559 
Change-Id: I27a735d838a773763879f293f5f6a6c4790de782
Reviewed-on: https://chromium-review.googlesource.com/706339
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507229}
[modify] https://crrev.com/91f0b5cbdd5acfecd2184056c164b477a732aa9b/build/config/compiler/compiler.gni

Comment 2 by oprypin@webrtc.org, Oct 6 2017

Blocking: webrtc:8356

Comment 3 by oprypin@webrtc.org, Oct 6 2017

Thank you!

Comment 4 by thakis@chromium.org, Oct 18 2017

We rolled clang -- time to revert that CL?
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 18 2017

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

commit 855199c7ee2b2dce192aff80e97d8e6604726e67
Author: Peter Collingbourne <pcc@chromium.org>
Date: Wed Oct 18 13:24:43 2017

Revert "Disable lld when building with msan for now."

This reverts commit 91f0b5cbdd5acfecd2184056c164b477a732aa9b.

Reason for revert: lld bug is now fixed.

Original change's description:
> Disable lld when building with msan for now.
> 
> Due to an lld bug which causes false positives in msan.
> 
> Bug:  772559 
> Change-Id: I27a735d838a773763879f293f5f6a6c4790de782
> Reviewed-on: https://chromium-review.googlesource.com/706339
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> Commit-Queue: Peter Collingbourne <pcc@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#507229}

TBR=thakis@chromium.org,dpranke@chromium.org,pcc@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  772559 
Change-Id: I4d5c3dfa1499aba30f7116195fd9e1721d5d2bd7
Reviewed-on: https://chromium-review.googlesource.com/725239
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#509757}
[modify] https://crrev.com/855199c7ee2b2dce192aff80e97d8e6604726e67/build/config/compiler/compiler.gni

Comment 6 by thakis@chromium.org, Oct 18 2017

Status: Fixed (was: Untriaged)

Comment 7 by p...@chromium.org, Oct 20 2017

Status: Started (was: Fixed)
The revert appears to have caused  issue 776355  and  issue 776628 , so I'll revert it for now.
Project Member

Comment 8 by bugdroid1@chromium.org, Oct 20 2017

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

commit e01826fa133837ba45e7730054f50bc06a5254e5
Author: Peter Collingbourne <pcc@chromium.org>
Date: Fri Oct 20 21:31:57 2017

Revert "Revert "Disable lld when building with msan for now.""

This reverts commit 855199c7ee2b2dce192aff80e97d8e6604726e67.

Reason for revert: Caused  issue 776355  and  issue 776628 

Bug:  776355 ,  776628 ,  772559 

Original change's description:
> Revert "Disable lld when building with msan for now."
> 
> This reverts commit 91f0b5cbdd5acfecd2184056c164b477a732aa9b.
> 
> Reason for revert: lld bug is now fixed.
> 
> Original change's description:
> > Disable lld when building with msan for now.
> > 
> > Due to an lld bug which causes false positives in msan.
> > 
> > Bug:  772559 
> > Change-Id: I27a735d838a773763879f293f5f6a6c4790de782
> > Reviewed-on: https://chromium-review.googlesource.com/706339
> > Reviewed-by: Nico Weber <thakis@chromium.org>
> > Reviewed-by: Dirk Pranke <dpranke@chromium.org>
> > Commit-Queue: Peter Collingbourne <pcc@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#507229}
> 
> TBR=thakis@chromium.org,dpranke@chromium.org,pcc@chromium.org
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug:  772559 
> Change-Id: I4d5c3dfa1499aba30f7116195fd9e1721d5d2bd7
> Reviewed-on: https://chromium-review.googlesource.com/725239
> Reviewed-by: Peter Collingbourne <pcc@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#509757}

TBR=thakis@chromium.org,dpranke@chromium.org,pcc@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  772559 
Change-Id: I165c1bafe60fd3826ad8ba781e96acadbe417b15
Reviewed-on: https://chromium-review.googlesource.com/730566
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510569}
[modify] https://crrev.com/e01826fa133837ba45e7730054f50bc06a5254e5/build/config/compiler/compiler.gni

Comment 9 by p...@chromium.org, Nov 3 2017

Cc: ukai@chromium.org
Summary: MSan issues when using lld (was: MSan false positives when using lld)
The "false positives" from clusterfuzz were in fact caused by stack traces that were incorrectly symbolized because of a bug in the glog symbolizer. As a result they failed to match other stack traces that were collected either side of the revert.

I have a fix for the glog bug here:
https://chromium-review.googlesource.com/c/chromium/src/+/752753
Once that passes CQ I'll send it upstream.

Two other problems were mentioned on  issue 777980 : undefined symbol errors from the linker and stack traces weren't being symbolized. Hopefully the latter is the same as the clusterfuzz issue; I'll see if I can reproduce the former.
Project Member

Comment 10 by bugdroid1@chromium.org, Nov 4 2017

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

commit 6f903f3a228bc8e10cd7bda76342954feb3000c5
Author: Peter Collingbourne <pcc@chromium.org>
Date: Fri Nov 03 23:38:51 2017

Compute base addresses from program headers while reading /proc/self/maps.

This cherry picks this glog change:
https://github.com/google/glog/pull/261
with a reimplementation of the program header reading logic for the
sandboxed symbolizer.

This should cause unsymbolized stack traces to contain the correct
addresses for binaries linked with lld.

Bug:  772559 
Change-Id: Ief9cbb463b3b4c32149da893c89c2eefd76b05d4
Reviewed-on: https://chromium-review.googlesource.com/752753
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513956}
[modify] https://crrev.com/6f903f3a228bc8e10cd7bda76342954feb3000c5/base/debug/proc_maps_linux.h
[modify] https://crrev.com/6f903f3a228bc8e10cd7bda76342954feb3000c5/base/debug/stack_trace_posix.cc
[modify] https://crrev.com/6f903f3a228bc8e10cd7bda76342954feb3000c5/base/third_party/symbolize/README.chromium
[modify] https://crrev.com/6f903f3a228bc8e10cd7bda76342954feb3000c5/base/third_party/symbolize/symbolize.cc

Project Member

Comment 11 by bugdroid1@chromium.org, Nov 4 2017

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

commit 65c533858f1d0c507e91b34f64fce93f5d1cf595
Author: Sky Malice <skym@chromium.org>
Date: Sat Nov 04 00:07:42 2017

Revert "Compute base addresses from program headers while reading /proc/self/maps."

This reverts commit 6f903f3a228bc8e10cd7bda76342954feb3000c5.

Reason for revert: https://build.chromium.org/p/chromium.linux/builders/Android%20Clang%20Builder%20%28dbg%29/builds/104887

Original change's description:
> Compute base addresses from program headers while reading /proc/self/maps.
> 
> This cherry picks this glog change:
> https://github.com/google/glog/pull/261
> with a reimplementation of the program header reading logic for the
> sandboxed symbolizer.
> 
> This should cause unsymbolized stack traces to contain the correct
> addresses for binaries linked with lld.
> 
> Bug:  772559 
> Change-Id: Ief9cbb463b3b4c32149da893c89c2eefd76b05d4
> Reviewed-on: https://chromium-review.googlesource.com/752753
> Commit-Queue: Peter Collingbourne <pcc@chromium.org>
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#513956}

TBR=ukai@chromium.org,pcc@chromium.org,mark@chromium.org

Change-Id: Ie02672bcfb2d28729530d61975083ba2187efd4e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  772559 
Reviewed-on: https://chromium-review.googlesource.com/753864
Reviewed-by: Sky Malice <skym@chromium.org>
Commit-Queue: Sky Malice <skym@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513978}
[modify] https://crrev.com/65c533858f1d0c507e91b34f64fce93f5d1cf595/base/debug/proc_maps_linux.h
[modify] https://crrev.com/65c533858f1d0c507e91b34f64fce93f5d1cf595/base/debug/stack_trace_posix.cc
[modify] https://crrev.com/65c533858f1d0c507e91b34f64fce93f5d1cf595/base/third_party/symbolize/README.chromium
[modify] https://crrev.com/65c533858f1d0c507e91b34f64fce93f5d1cf595/base/third_party/symbolize/symbolize.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Nov 4 2017

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

commit 1a3ed318cbbe2b53d9d6410a376e75439b9e6007
Author: Peter Collingbourne <pcc@chromium.org>
Date: Sat Nov 04 02:37:47 2017

Reland "Compute base addresses from program headers while reading /proc/self/maps."

This is a reland of 6f903f3a228bc8e10cd7bda76342954feb3000c5

Fixed Android build issue.

Original change's description:
> Compute base addresses from program headers while reading /proc/self/maps.
>
> This cherry picks this glog change:
> https://github.com/google/glog/pull/261
> with a reimplementation of the program header reading logic for the
> sandboxed symbolizer.
>
> This should cause unsymbolized stack traces to contain the correct
> addresses for binaries linked with lld.
>
> Bug:  772559 
> Change-Id: Ief9cbb463b3b4c32149da893c89c2eefd76b05d4
> Reviewed-on: https://chromium-review.googlesource.com/752753
> Commit-Queue: Peter Collingbourne <pcc@chromium.org>
> Reviewed-by: Mark Mentovai <mark@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#513956}

Bug:  772559 
Change-Id: Id6a8c62c0b05a7d12f817e389c7b96223fec8073
Reviewed-on: https://chromium-review.googlesource.com/754232
Reviewed-by: Mark Mentovai <mark@chromium.org>
Commit-Queue: Peter Collingbourne <pcc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#514018}
[modify] https://crrev.com/1a3ed318cbbe2b53d9d6410a376e75439b9e6007/base/android/library_loader/library_prefetcher_unittest.cc
[modify] https://crrev.com/1a3ed318cbbe2b53d9d6410a376e75439b9e6007/base/debug/proc_maps_linux.h
[modify] https://crrev.com/1a3ed318cbbe2b53d9d6410a376e75439b9e6007/base/debug/stack_trace_posix.cc
[modify] https://crrev.com/1a3ed318cbbe2b53d9d6410a376e75439b9e6007/base/third_party/symbolize/README.chromium
[modify] https://crrev.com/1a3ed318cbbe2b53d9d6410a376e75439b9e6007/base/third_party/symbolize/symbolize.cc

Comment 15 by p...@chromium.org, Jan 29 2018

Worth a try I think. There was a separate issue with msan and lld ( issue 777980 ) but I suspect that it was fixed by r319860.
Project Member

Comment 16 by bugdroid1@chromium.org, Jan 31 2018

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

commit db86e994b531cfdf9dca8295d8f528fbe8dc460c
Author: Nico Weber <thakis@chromium.org>
Date: Wed Jan 31 20:38:10 2018

Try using lld in msan builds again.

The issue making this fail last time has since been fixed; let's try again.

Bug:  772559 
Change-Id: Ic8201c00533cfb47ff8509c3a8594b7703400bca
Reviewed-on: https://chromium-review.googlesource.com/895805
Reviewed-by: Peter Collingbourne <pcc@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#533388}
[modify] https://crrev.com/db86e994b531cfdf9dca8295d8f528fbe8dc460c/build/config/compiler/compiler.gni

Status: Fixed (was: Started)
Maybe it'll stick; the msan trybot came back green at least.

Sign in to add a comment