New issue
Advanced search Search tips

Issue 805970 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

CHECK failure: ResultsAreIdentical(args) in regexp-builtins.cc

Project Member Reported by ClusterFuzz, Jan 25 2018

Issue description

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

Fuzzer: afl_v8_regexp_builtins_fuzzer
Job Type: afl_chrome_asan
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  ResultsAreIdentical(args) in regexp-builtins.cc
  v8::internal::CompileRunAndVerify
  v8::internal::TestRegExpPrototypeExec
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=afl_chrome_asan&range=531461:531790

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

Issue filed automatically.

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reference.md for more information.
 
Project Member

Comment 1 by ClusterFuzz, Jan 25 2018

Components: Blink>JavaScript
Labels: Test-Predator-Auto-Components
Automatically applying components based on crash stacktrace and information from OWNERS files.

If this is incorrect, please apply the Test-Predator-Wrong-Components label.
Project Member

Comment 2 by ClusterFuzz, Jan 25 2018

Labels: Test-Predator-Auto-Owner
Owner: mstarzinger@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/v8/v8/+/db7bdf48297af25a7ebd55b09e604829be2f3213 (Revert "[platform] Remove {PageAllocator::kReadWriteExecute}.").

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.
Cc: mstarzinger@chromium.org
Labels: Test-Predator-Wrong-CLs Needs-Bisect
Owner: ----
Status: Untriaged (was: Assigned)
Highly unlikely that the suspect in comment #2 is correct. Needs re-triage.
Cc: jgruber@chromium.org
Owner: hablich@chromium.org
Status: Assigned (was: Untriaged)
Assigning to myself since this is coming from the new regexp_builtins fuzzer. In this case, it's a bug in the fuzzer itself, where it doesn't properly recognize malformed source code. Fix in-flight here https://chromium-review.googlesource.com/#/c/v8/v8/+/894403.

Adding hablich@: Would it be possible to auto-assign me on all v8_regexp_builtins_fuzzer issues?
Project Member

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

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

commit 0b2edc409742feb9f5531f8db637cc3d27766ae7
Author: jgruber <jgruber@chromium.org>
Date: Wed Jan 31 12:26:56 2018

[fuzzers] Support parsing failures in regexp-builtins fuzzer

The fuzzer found a couple of cases that exploited comments of the
form:

  function test() {
    const re = /*.../;
    const str = '...*/...';
    let result;
    try { result = re.exec(str); } catch (e) { /* ... */ }
  }

Note that the first line does not contain a regexp literal, it starts
a comment instead. The second line terminates the comment.

This fixes detection of such cases by initializing `result` to null.

TBR=yangguo@chromium.org

Bug:  chromium:805970 
Change-Id: I5d46db9892e2b4e71cdc2907cebf07a2e33b7a0e
Reviewed-on: https://chromium-review.googlesource.com/894403
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50991}
[modify] https://crrev.com/0b2edc409742feb9f5531f8db637cc3d27766ae7/test/fuzzer/regexp-builtins.cc

Project Member

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

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

commit 9222cd55f4bc9470feca8ca5eb3c5791b2732dc1
Author: jgruber <jgruber@chromium.org>
Date: Wed Jan 31 12:39:36 2018

[fuzzers] Add hash to regexp-builtins CHECK

The hash avoids assigning all CHECK failures to the same clusterfuzz
report.

Bug:  chromium:805970 
Change-Id: Ia52da335ea86fbc7cc924dd81a893722a6d3d92e
Reviewed-on: https://chromium-review.googlesource.com/894323
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50992}
[modify] https://crrev.com/9222cd55f4bc9470feca8ca5eb3c5791b2732dc1/test/fuzzer/regexp-builtins.cc

Cc: -jgruber@chromium.org hablich@chromium.org
Owner: jgruber@chromium.org
Status: Fixed (was: Assigned)
Cc: machenb...@chromium.org
Machenbach@ should be able to do that.
Components: Blink>JavaScript>Regexp
Filed https://crbug.com/807603 since we apparently can't do this for libfuzzer fuzzers (or at least don't know how to set it up).
Project Member

Comment 10 by ClusterFuzz, Feb 1 2018

ClusterFuzz has detected this issue as fixed in range 533414:533430.

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

Fuzzer: afl_v8_regexp_builtins_fuzzer
Job Type: afl_chrome_asan
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  ResultsAreIdentical(args) in regexp-builtins.cc
  v8::internal::CompileRunAndVerify
  v8::internal::TestRegExpPrototypeExec
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=afl_chrome_asan&range=531461:531790
Fixed: https://clusterfuzz.com/revisions?job=afl_chrome_asan&range=533414:533430

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

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reference.md 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 11 by ClusterFuzz, Feb 1 2018

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

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

Sign in to add a comment