New issue
Advanced search Search tips

Issue 864705 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner:
Closed: Nov 27
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

Deploy Linux SafeStack bot.

Project Member Reported by vtsyrklevich@chromium.org, Jul 17

Issue description

This tickets tracks deploying a Chromium Linux buildbot with SafeStack enabled and turning it green.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 2

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/7a75d5828b9289780298e479c9f1815aa2f3c086

commit 7a75d5828b9289780298e479c9f1815aa2f3c086
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Thu Aug 02 21:20:59 2018

Refactor unreliable Proxy tests

While working on crrev.com/c/1141045 I caused 3 assertThrows() tests
under the 'Deeply nested target' tests to fail. The tests for
defineProperty, isExtensible, and preventExtensions began to fail under
a couple build configurations because my change modified the stack check
code such that it no longer inhibited tail call optimization. Under some
build configurations the methods responsible for causing a stack oveflow
for those 3 methods were tail call optimized and the tests no longer
threw an exception.

Other built-in implementations of proxy handler methods could also fail
in the future due to refactors moving variables off the stack. Change
the test to ensure v8 doesn't crash but don't rely on stack overflow
exceptions being thrown for the 'deeply nested target' test.

BUG= chromium:864705 

Change-Id: Iefeaa1d5402986c1831d0f259f83025452756387
Reviewed-on: https://chromium-review.googlesource.com/1159356
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54878}
[modify] https://crrev.com/7a75d5828b9289780298e479c9f1815aa2f3c086/test/mjsunit/regress/regress-7716.js

Project Member

Comment 2 by bugdroid1@chromium.org, Aug 3

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/12c81480a33134a911336846a76161bc62e031c3

commit 12c81480a33134a911336846a76161bc62e031c3
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Fri Aug 03 07:58:20 2018

Update GetCurrentStackPosition to use built-in

By using a built-in this functions works with SafeStack and doesn't
require an attribute disabling ASan.

BUG= chromium:864705 

Change-Id: I20cc818f1a0724a017a4f7f9ae3cd8fedb6245ee
Reviewed-on: https://chromium-review.googlesource.com/1141045
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54884}
[modify] https://crrev.com/12c81480a33134a911336846a76161bc62e031c3/src/utils.h

Project Member

Comment 3 by bugdroid1@chromium.org, Aug 3

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/02b85b197763b2e71d10083f98f509f7c275736c

commit 02b85b197763b2e71d10083f98f509f7c275736c
Author: Michael Achenbach <machenbach@chromium.org>
Date: Fri Aug 03 08:41:45 2018

Revert "Update GetCurrentStackPosition to use built-in"

This reverts commit 12c81480a33134a911336846a76161bc62e031c3.

Reason for revert:
https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Win64%20-%20msvc/3967

Original change's description:
> Update GetCurrentStackPosition to use built-in
> 
> By using a built-in this functions works with SafeStack and doesn't
> require an attribute disabling ASan.
> 
> BUG= chromium:864705 
> 
> Change-Id: I20cc818f1a0724a017a4f7f9ae3cd8fedb6245ee
> Reviewed-on: https://chromium-review.googlesource.com/1141045
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54884}

TBR=clemensh@chromium.org,vtsyrklevich@chromium.org

Change-Id: I779091eb7e98f6a8920e274df60e35693bfdc512
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  chromium:864705 
Reviewed-on: https://chromium-review.googlesource.com/1161881
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54886}
[modify] https://crrev.com/02b85b197763b2e71d10083f98f509f7c275736c/src/utils.h

Project Member

Comment 4 by bugdroid1@chromium.org, Aug 6

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

commit fa2dc8dbad5a13bd1e1a13daf71e7cbcddeb5562
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Mon Aug 06 08:09:13 2018

Reland "Update GetCurrentStackPosition to use built-in"

By using a built-in this functions works with SafeStack and doesn't
require an attribute disabling ASan.

BUG= chromium:864705 

Change-Id: I898d42c0b39b07300f1679eba11e7f50cad42120
Reviewed-on: https://chromium-review.googlesource.com/1162669
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54912}
[modify] https://crrev.com/fa2dc8dbad5a13bd1e1a13daf71e7cbcddeb5562/src/utils.cc
[modify] https://crrev.com/fa2dc8dbad5a13bd1e1a13daf71e7cbcddeb5562/src/utils.h

Project Member

Comment 5 by bugdroid1@chromium.org, Aug 8

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

commit eeab6d715f91856d50cffd6428e5740261b1f27b
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Wed Aug 08 21:06:02 2018

SafeStack: Package SafeStack runtime for Linux

Bug:  864705 
Change-Id: I8ebce1fd5911f90b8313a27f9d9e11e229ec0b6b
Reviewed-on: https://chromium-review.googlesource.com/1162757
Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581690}
[modify] https://crrev.com/eeab6d715f91856d50cffd6428e5740261b1f27b/docs/updating_clang.md
[modify] https://crrev.com/eeab6d715f91856d50cffd6428e5740261b1f27b/tools/clang/scripts/package.py

Project Member

Comment 6 by bugdroid1@chromium.org, Aug 14

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

commit d79d92d7d387ea9d9b705868821091ce91235395
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Tue Aug 14 20:25:34 2018

Disable SafeStack for test that requires direct stack access

Bug:  864705 
Change-Id: I4fbcd32c785dbca8de023d474956d8b1f1a308e4
Reviewed-on: https://chromium-review.googlesource.com/1159682
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583012}
[modify] https://crrev.com/d79d92d7d387ea9d9b705868821091ce91235395/base/debug/proc_maps_linux_unittest.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Aug 14

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

commit 0f1d13460f835e9ba5a63b1a0273d558c1194bbd
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Tue Aug 14 22:20:02 2018

SafeStack: Make oilpan unsafe stack aware

SafeStack [1] introduces a secondary thread stack called the unsafe
stack that also needs to be scanned for object references. Introduce
matching logic in oilpan to scan the unsafe stack for heap references.

[1] https://clang.llvm.org/docs/SafeStack.html

Bug:  864705 
Change-Id: I376077bd985e2077aa3771101c1822e1570c7807
Reviewed-on: https://chromium-review.googlesource.com/1169772
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583056}
[modify] https://crrev.com/0f1d13460f835e9ba5a63b1a0273d558c1194bbd/third_party/blink/renderer/platform/heap/thread_state.cc
[modify] https://crrev.com/0f1d13460f835e9ba5a63b1a0273d558c1194bbd/third_party/blink/renderer/platform/heap/thread_state.h

Project Member

Comment 9 by bugdroid1@chromium.org, Aug 22

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

commit 6755efb132f386a07cb03bd194988de45f368585
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Wed Aug 22 20:55:36 2018

SafeStack: Fix blink v8 initialization

Currently, the blink v8 initialization code uses a stack address-taken
variable to read the stack position. This fails with SafeStack because
it reads an address on the unsafe stack. Make it match the code in v8 to
read the stack position safely with either ASAN or SafeStack [1] by
using a compiler intrinsic.

[1] https://crrev.com/c/1162669

Bug:  864705 
Change-Id: Ib972540eb0264d9f737eb8bc40c601b8b2cf1ab0
Reviewed-on: https://chromium-review.googlesource.com/1179265
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Cr-Commit-Position: refs/heads/master@{#585239}
[modify] https://crrev.com/6755efb132f386a07cb03bd194988de45f368585/third_party/blink/renderer/bindings/core/v8/v8_initializer.cc
[modify] https://crrev.com/6755efb132f386a07cb03bd194988de45f368585/third_party/blink/renderer/platform/wtf/compiler.h
[modify] https://crrev.com/6755efb132f386a07cb03bd194988de45f368585/third_party/blink/renderer/platform/wtf/stack_util.cc
[modify] https://crrev.com/6755efb132f386a07cb03bd194988de45f368585/third_party/blink/renderer/platform/wtf/stack_util.h

Project Member

Comment 11 by bugdroid1@chromium.org, Sep 10

Project Member

Comment 12 by bugdroid1@chromium.org, Sep 17

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

commit 2e54ce1645e19457013dd47be77de7d0e764d0aa
Author: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Date: Mon Sep 17 20:31:19 2018

SafeStack: Add missing ToT bot configuration

Updated the bot configuration to match other clang buildbots.

Bug:  864705 
Change-Id: Ia14a200bf08e6f9e9ff1173e348db70e10322164
Reviewed-on: https://chromium-review.googlesource.com/1228510
Reviewed-by: Vadim Shtayura <vadimsh@chromium.org>
Commit-Queue: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591804}
[modify] https://crrev.com/2e54ce1645e19457013dd47be77de7d0e764d0aa/infra/config/global/cr-buildbucket.cfg
[modify] https://crrev.com/2e54ce1645e19457013dd47be77de7d0e764d0aa/infra/config/global/luci-milo.cfg
[modify] https://crrev.com/2e54ce1645e19457013dd47be77de7d0e764d0aa/infra/config/global/luci-scheduler.cfg

Status: WontFix (was: Untriaged)
Deprecating SafeStack support in  bug 908597 .

Sign in to add a comment