New issue
Advanced search Search tips

Issue 683566 link

Starred by 5 users

Issue metadata

Status: Verified
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , All
Pri: 1
Type: Bug



Sign in to add a comment

Node #187:FrameState in B1 is not dominated by input@2 #376:TypedStateValues in

Project Member Reported by ClusterFuzz, Jan 21 2017

Issue description

Cc: jarin@chromium.org mstarzinger@chromium.org
Owner: bmeu...@chromium.org
Status: Assigned (was: Untriaged)
Regression range points to 975430161ee1f67b9c21cfaf6129e05cff5a63cf.

Comment 2 by jarin@chromium.org, Jan 26 2017

Small repro:

// Flags: --turbo --allow-natives-syntax

function g() {
  ({}).o += "x";
  eval("1");
}

function f() {
  g();
}

f();
f();
%OptimizeFunctionOnNextCall(f);
f();
Cc: -mstarzinger@chromium.org bmeu...@chromium.org tebbi@chromium.org mvstan...@chromium.org
Components: -Blink>JavaScript Blink>JavaScript>Compiler
Labels: OS-All
Owner: mstarzinger@chromium.org
Even simpler repro:

----------------------------------
function g() {
  ({}).a += "";
  if (false) eval();
}

function f() {
  g();
}

f();
f();
%OptimizeFunctionOnNextCall(f);
f();
----------------------------------

Problem is a cycle in EscapeAnalysis, with a path 69:Call->FrameState->StateValues->ObjectState->69:Call, that's obviously not schedulable. Assigning to mstarzinger@ and tebbi@ for investigation.

Comment 4 by tebbi@chromium.org, Jan 27 2017

Owner: tebbi@chromium.org

Comment 5 by tebbi@chromium.org, Jan 27 2017

Labels: Merge-Request-57
Project Member

Comment 7 by ClusterFuzz, Jan 28 2017

ClusterFuzz has detected this issue as fixed in range 42736:42737.

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=6517746054725632

Fuzzer: decoder_langfuzz
Job Type: linux_asan_d8_ignition_v8_arm_dbg
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  Node #187:FrameState in B1 is not dominated by input@2 #376:TypedStateValues in 
  
Sanitizer: address (ASAN)

Regressed: V8: 42488:42489
Fixed: V8: 42736:42737

Minimized Testcase (7.22 Kb): https://cluster-fuzz.appspot.com/download/AMIfv97Fdonrx8W8AXP6p4ddJhKCLFb7Hyx6npI-Ua4iiSR-UXRqY6O5B6yJ7ghdSH3GsCwSIGHFgswUjxjA2zONOljLAkz9ySE78rHQi0EKHeCMws4vlycGz7jYpnV8G7IsvCYaERlq1QdBcOnpKUxXMeJwRx2j-77nn5v6X-F0qvwBG0t-S08fdgyu9wLP1DtAz8cg0Eed9j_5EsLeVrbARn0sObFM7B4C1qDC8Nj37zM-cKpy2IJ4TgFJ343Gh6iVdzXtjP3Pa2Yxt_5n2F-AaAmP7NFlIb9WEnitJjgCPMYdC9SI1xFXAwahkFRvDn95olatxjVGphsFkwywVkAJq8_kzro9Qvo-ZcbRzshYtlcouvELQsc?testcase_id=6517746054725632

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Project Member

Comment 8 by ClusterFuzz, Jan 28 2017

Labels: ClusterFuzz-Verified
Status: Verified (was: Assigned)
ClusterFuzz testcase 6517746054725632 is verified as fixed, so closing issue.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
Labels: -Merge-Request-57 Merge-Approved-57

Comment 10 by tebbi@chromium.org, Jan 30 2017

Issue 684481 has been merged into this issue.
Project Member

Comment 11 by bugdroid1@chromium.org, Jan 30 2017

Labels: merge-merged-5.7
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/221c7f1304aa0ac5ff0ad5c291d2488e046ae71a

commit 221c7f1304aa0ac5ff0ad5c291d2488e046ae71a
Author: tebbi <tebbi@chromium.org>
Date: Mon Jan 30 15:45:13 2017

Merged: [turbofan] No longer ignore FrameState input to Call

Revision: c1a43ff9960019cba80ea7ab6af24d50e8bca89b

BUG= chromium:683566 
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true
R=mstarzinger@chromium.org

Review-Url: https://codereview.chromium.org/2660213002
Cr-Commit-Position: refs/branch-heads/5.7@{#62}
Cr-Branched-From: 975e9a320b6eaf9f12280c35df98e013beb8f041-refs/heads/5.7.492@{#1}
Cr-Branched-From: 8d76f0e3465a84bbf0bceab114900fbe75844e1f-refs/heads/master@{#42426}

[modify] https://crrev.com/221c7f1304aa0ac5ff0ad5c291d2488e046ae71a/src/compiler/escape-analysis.cc
[add] https://crrev.com/221c7f1304aa0ac5ff0ad5c291d2488e046ae71a/test/mjsunit/compiler/escape-analysis-11.js

Labels: -Merge-Approved-57
Per comment #11, this is already merged to M57. Hence, removing "Merge-Approved-57" label.

Sign in to add a comment