New issue
Advanced search Search tips

Issue 783132 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug-Security



Sign in to add a comment

CHECK failure: is_transitionable_fast_elements_kind implies !Map::IsInplaceGeneralizableField(d

Project Member Reported by ClusterFuzz, Nov 9 2017

Issue description

Detailed report: https://clusterfuzz.com/testcase?key=5811474495963136

Fuzzer: ochang_js_fuzzer
Job Type: linux_asan_d8_dbg
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  is_transitionable_fast_elements_kind implies !Map::IsInplaceGeneralizableField(d
  v8::internal::JSObject::JSObjectVerify
  v8::internal::JSArray::JSArrayVerify
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_d8_dbg&range=49132:49133

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5811474495963136

Issue filed automatically.

See https://github.com/google/clusterfuzz-tools for more information.
 
Cc: verwa...@chromium.org
Owner: ishell@chromium.org
Status: Assigned (was: Untriaged)
Regression range points to ca0c951a7e8888cc57fb2837763550a1ae300796.
Note that it requires --verify-heap to reproduce.
Project Member

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

Labels: Pri-1
Labels: Security_Impact-Head M-64
Project Member

Comment 5 by sheriffbot@chromium.org, Nov 10 2017

Labels: ReleaseBlock-Stable
This is a serious security regression. If you are not able to fix this quickly, please revert the change that introduced it.

If this doesn't affect a release branch, or has not been properly classified for severity, please update the Security_Impact or Security_Severity labels, and remove the ReleaseBlock label. To disable this altogether, apply ReleaseBlock-NA.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Comment 6 by mmoroz@chromium.org, Nov 17 2017

Igor, friendly ping from security sheriff. This is High severity issue.

Comment 7 by ishell@chromium.org, Nov 21 2017

Status: Started (was: Assigned)
Project Member

Comment 8 by bugdroid1@chromium.org, Nov 22 2017

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

commit 00a781dbc3a2499fa198279db4eeb0519c2b65b9
Author: Igor Sheludko <ishell@chromium.org>
Date: Wed Nov 22 16:51:47 2017

[runtime] Ensure elements transitions don't interfere with field type tracking.

This CL ensures that elements kind transitions don't cause silent
mutable-to-constant or any-to-class-type migrations of in-place
generalizable fields.

Bug: v8:5495,  chromium:783132 
Change-Id: Ie60224db62bd45d27148ae0469c7af5a3fe944fd
Reviewed-on: https://chromium-review.googlesource.com/785190
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49583}
[modify] https://crrev.com/00a781dbc3a2499fa198279db4eeb0519c2b65b9/src/api-natives.cc
[modify] https://crrev.com/00a781dbc3a2499fa198279db4eeb0519c2b65b9/src/bootstrapper.cc
[modify] https://crrev.com/00a781dbc3a2499fa198279db4eeb0519c2b65b9/src/heap/heap.cc
[modify] https://crrev.com/00a781dbc3a2499fa198279db4eeb0519c2b65b9/src/heap/setup-heap-internal.cc
[modify] https://crrev.com/00a781dbc3a2499fa198279db4eeb0519c2b65b9/src/map-updater.cc
[modify] https://crrev.com/00a781dbc3a2499fa198279db4eeb0519c2b65b9/src/objects-debug.cc
[modify] https://crrev.com/00a781dbc3a2499fa198279db4eeb0519c2b65b9/src/objects.cc
[modify] https://crrev.com/00a781dbc3a2499fa198279db4eeb0519c2b65b9/src/objects/map-inl.h
[modify] https://crrev.com/00a781dbc3a2499fa198279db4eeb0519c2b65b9/src/objects/map.h
[modify] https://crrev.com/00a781dbc3a2499fa198279db4eeb0519c2b65b9/test/cctest/test-field-type-tracking.cc
[add] https://crrev.com/00a781dbc3a2499fa198279db4eeb0519c2b65b9/test/mjsunit/regress/regress-crbug-783132.js
[modify] https://crrev.com/00a781dbc3a2499fa198279db4eeb0519c2b65b9/test/mjsunit/unbox-double-arrays.js

Comment 9 by ishell@chromium.org, Nov 22 2017

Status: Fixed (was: Started)
Labels: Merge-Request-63
Project Member

Comment 11 by sheriffbot@chromium.org, Nov 22 2017

Labels: -Merge-Request-63 Merge-Review-63 Hotlist-Merge-Review
This bug requires manual review: We are only 12 days from stable.
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), gkihumba@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: awhalley@chromium.org hablich@chromium.org
+awhalley@ for M63 merge review
Project Member

Comment 13 by ClusterFuzz, Nov 23 2017

ClusterFuzz has detected this issue as fixed in range 49582:49583.

Detailed report: https://clusterfuzz.com/testcase?key=5811474495963136

Fuzzer: ochang_js_fuzzer
Job Type: linux_asan_d8_dbg
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  is_transitionable_fast_elements_kind implies !Map::IsInplaceGeneralizableField(d
  v8::internal::JSObject::JSObjectVerify
  v8::internal::JSArray::JSArrayVerify
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_d8_dbg&range=49132:49133
Fixed: https://clusterfuzz.com/revisions?job=linux_asan_d8_dbg&range=49582:49583

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=5811474495963136

See https://github.com/google/clusterfuzz-tools 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 14 by ClusterFuzz, Nov 23 2017

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

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
Project Member

Comment 15 by sheriffbot@chromium.org, Nov 23 2017

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify

Comment 16 by cmasso@google.com, Nov 27 2017

Labels: -Hotlist-Merge-Review -Merge-Review-63 Merge-Approved-63
Merge approved! Please make sure to verify the fix after merging it into M63 branch 3239

Comment 17 by cmasso@google.com, Nov 27 2017

Labels: -Merge-Approved-63 Merge-Request-63
Letting +awhalley@ approved this instead.
Project Member

Comment 18 by sheriffbot@chromium.org, Nov 27 2017

Labels: -Merge-Request-63 Merge-Review-63 Hotlist-Merge-Review
This bug requires manual review: We are only 7 days from stable.
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), gkihumba@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
cmasso@ - OK to take.
Labels: -Merge-Review-63 Merge-Approved-63
Approving merge to M63 branch 3239 based on  comment #19. Pls merge your change to M63 branch 3239 before 12:30 PM, Tuesday (11/28/17) so we can take it in for this week last Beta release. Thank you.
Project Member

Comment 21 by bugdroid1@chromium.org, Nov 28 2017

Labels: merge-merged-6.3
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba

commit 39e9f33a60c109f70ca5ed2f14e5e1a877f062ba
Author: ishell@chromium.org <ishell@chromium.org>
Date: Tue Nov 28 19:01:18 2017

Merged: Squashed multiple commits.

Merged: [runtime] Prepare for turning constant field tracking on.
Revision: ca0c951a7e8888cc57fb2837763550a1ae300796

Merged: [runtime] Ensure elements transitions don't interfere with field type tracking.
Revision: 00a781dbc3a2499fa198279db4eeb0519c2b65b9

BUG= chromium:783132 ,v8:5495,v8:6980
TBR=cbruni@chromium.org
LOG=N
NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true

Change-Id: I1a78e876649d04a4b9be5ebd04d59a8e2e6a3563
Reviewed-on: https://chromium-review.googlesource.com/793735
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/branch-heads/6.3@{#93}
Cr-Branched-From: 094a7c93dcdcd921de3883ba4674b7e1a0feffbe-refs/heads/6.3.292@{#1}
Cr-Branched-From: 18b8fbb528a8021e04a029e06eafee50b918bce0-refs/heads/master@{#48432}
[modify] https://crrev.com/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba/src/api-natives.cc
[modify] https://crrev.com/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba/src/bootstrapper.cc
[modify] https://crrev.com/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba/src/factory.cc
[modify] https://crrev.com/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba/src/heap/heap.cc
[modify] https://crrev.com/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba/src/heap/setup-heap-internal.cc
[modify] https://crrev.com/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba/src/lookup.cc
[modify] https://crrev.com/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba/src/map-updater.cc
[modify] https://crrev.com/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba/src/map-updater.h
[modify] https://crrev.com/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba/src/objects-debug.cc
[modify] https://crrev.com/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba/src/objects.cc
[modify] https://crrev.com/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba/src/objects/map-inl.h
[modify] https://crrev.com/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba/src/objects/map.h
[modify] https://crrev.com/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba/test/cctest/test-field-type-tracking.cc
[add] https://crrev.com/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba/test/mjsunit/regress/regress-crbug-783132.js
[modify] https://crrev.com/39e9f33a60c109f70ca5ed2f14e5e1a877f062ba/test/mjsunit/unbox-double-arrays.js

Thank you for merging to M63. If nothing is pending, please remove "Merge-Approved-63" label.
Labels: -Merge-Approved-63
Project Member

Comment 24 by sheriffbot@chromium.org, Mar 1 2018

Labels: -Restrict-View-SecurityNotify allpublic
This bug has been closed for more than 14 weeks. Removing security view restrictions.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 25 by sheriffbot@chromium.org, Mar 27 2018

Labels: -Security_Impact-Head -M-64 M-65 Security_Impact-Stable
Labels: -ReleaseBlock-Stable

Sign in to add a comment