New issue
Advanced search Search tips

Issue 794744 link

Starred by 2 users

Issue metadata

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



Sign in to add a comment

Null-dereference READ in v8::internal::FrameFunctionIterator::next

Project Member Reported by ClusterFuzz, Dec 13 2017

Issue description

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

Job Type: linux_asan_chrome_mp
Crash Type: Null-dereference READ
Crash Address: 0x000000000000
Crash State:
  v8::internal::FrameFunctionIterator::next
  v8::internal::FindCaller
  v8::internal::Accessors::FunctionCallerGetter
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_chrome_mp&range=521685:521687

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

Issue filed automatically.

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

Comment 1 by ClusterFuzz, Dec 13 2017

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.
Cc: bmeu...@chromium.org mstarzinger@chromium.org
Owner: ca...@igalia.com
Status: Assigned (was: Untriaged)
Reproduces locally, also in d8:
Promise.race([function () {}]).then(Object.getOwnPropertyDescriptors);

Bisects to 52ff3ae48bd0b557ba9fdfc34c4c97b59fbe3624 ([builtins] implement RunMicrotasks pump as a code stub).
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 20 2017

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

commit 18dc491c7a7857da109556e8bef66345da396950
Author: Caitlin Potter <caitp@igalia.com>
Date: Wed Dec 20 00:08:35 2017

[builtins] abort FrameFunctionIterator::next if frame summary empty

Previously, FrameFunctionIterator::next() assumed that the frame summary
was non-empty. It's now possible for the list not to be empty, if the
JS microtask pump invokes a builtin function which uses
FrameFunctionIterator directly. While this is unlikely to show up in
real world code, it is necessary to handle it to prevent crashes.

BUG= chromium:794744 
R=mstarzinger@chromium.org, cbruni@chromium.org, verwaest@chromium.org

Change-Id: Ie95c2228544f57730d1c6c1ff955b2c94ff1c06b
Reviewed-on: https://chromium-review.googlesource.com/833266
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Cr-Commit-Position: refs/heads/master@{#50221}
[modify] https://crrev.com/18dc491c7a7857da109556e8bef66345da396950/src/accessors.cc
[add] https://crrev.com/18dc491c7a7857da109556e8bef66345da396950/test/mjsunit/es8/regress/regress-794744.js

Project Member

Comment 4 by ClusterFuzz, Dec 20 2017

ClusterFuzz has detected this issue as fixed in range 525269:525273.

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

Job Type: linux_asan_chrome_mp
Crash Type: Null-dereference READ
Crash Address: 0x000000000000
Crash State:
  v8::internal::FrameFunctionIterator::next
  v8::internal::FindCaller
  v8::internal::Accessors::FunctionCallerGetter
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_chrome_mp&range=521685:521687
Fixed: https://clusterfuzz.com/revisions?job=linux_asan_chrome_mp&range=525269:525273

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

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 5 by ClusterFuzz, Dec 20 2017

Labels: ClusterFuzz-Verified
Status: Verified (was: Assigned)
ClusterFuzz testcase 4581730433630208 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