New issue
Advanced search Search tips

Issue 862433 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Jul 12
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

CHECK failure: object->IsAbstractCode() || object->IsSeqString() || object->IsExternalString()

Project Member Reported by ClusterFuzz, Jul 10

Issue description

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

Fuzzer: ochang_js_fuzzer
Job Type: linux_d8_dbg
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  object->IsAbstractCode() || object->IsSeqString() || object->IsExternalString() 
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_d8_dbg&range=51841:51842

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

Issue filed automatically.

See https://github.com/google/clusterfuzz-tools for more information.
 
Project Member

Comment 1 by ClusterFuzz, Jul 10

Labels: Test-Predator-Auto-Owner
Owner: petermarshall@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/v8/v8/+/5a70a5ea0ac87b3bfa819b5a546fe3f115594997 ([memory] Save space in the FeedbackMetadata on 64 bit platforms.).

If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label. If you aren't the correct owner for this issue, please unassign yourself as soon as possible so it can be re-triaged.
Project Member

Comment 2 by sheriffbot@chromium.org, Jul 11

Labels: Pri-1
Labels: Security_Impact-Stable M-67
Labels: -Security_Impact-Stable -Security_Severity-High Security_Impact-None
Status: Started (was: Assigned)
This check is only enabled in heap verification which is only on in debug builds AFAIK. This is not a security issue, just an incorrect CHECK.

A shorter repro:

var arr = [];
for (var i = 1; i != 390000; ++i) {
  arr.push("f()");
}
new Function(arr.join());
Cc: mlippautz@chromium.org
Project Member

Comment 6 by bugdroid1@chromium.org, Jul 12

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

commit a0dbaf590a2ce93aa84130f6ca4b356939e7d4ec
Author: Peter Marshall <petermarshall@chromium.org>
Date: Thu Jul 12 12:55:28 2018

[runtime] Allow FeedbackMetadata objects in old space for verification

When we changed FeedbackMetadata to be it's own type instead of a
subtype of FixedArray, we missed this check for valid objects in old
space. This restores the old behavior during verification.

Bug:  chromium:862433 
Change-Id: Icdb144df4aebc0c6d78a28405c7f53e40b2e1376
Reviewed-on: https://chromium-review.googlesource.com/1134995
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54408}
[modify] https://crrev.com/a0dbaf590a2ce93aa84130f6ca4b356939e7d4ec/src/heap/spaces.cc
[add] https://crrev.com/a0dbaf590a2ce93aa84130f6ca4b356939e7d4ec/test/mjsunit/regress/regress-862433.js

Status: Fixed (was: Started)
Project Member

Comment 8 by sheriffbot@chromium.org, Jul 12

Labels: -Restrict-View-SecurityTeam Restrict-View-SecurityNotify
Project Member

Comment 9 by ClusterFuzz, Jul 12

ClusterFuzz has detected this issue as fixed in range 54407:54408.

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

Fuzzer: ochang_js_fuzzer
Job Type: linux_d8_dbg
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  object->IsAbstractCode() || object->IsSeqString() || object->IsExternalString() 
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_d8_dbg&range=51841:51842
Fixed: https://clusterfuzz.com/revisions?job=linux_d8_dbg&range=54407:54408

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

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 10 by ClusterFuzz, Jul 12

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

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
Labels: -Type-Bug-Security -Restrict-View-SecurityNotify -Security_Impact-None Type-Bug
Removing security flags based on c#4.

Sign in to add a comment