New issue
Advanced search Search tips

Issue 793593 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

DCHECK failure in (GetReplacementOf(replacement)) == nullptr in escape-analysis.cc

Project Member Reported by ClusterFuzz, Dec 9 2017

Issue description

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

Fuzzer: ochang_js_fuzzer
Job Type: linux_asan_d8_dbg
Platform Id: linux

Crash Type: DCHECK failure
Crash Address: 
Crash State:
  (GetReplacementOf(replacement)) == nullptr in escape-analysis.cc
  v8::internal::compiler::EscapeAnalysisTracker::ResolveReplacement
  ValueInput
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_asan_d8_dbg&range=49024:49025

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

Issue filed automatically.

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

Comment 1 by ClusterFuzz, Dec 9 2017

Components: Blink>JavaScript>Compiler
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, Dec 9 2017

Labels: Test-Predator-Auto-Owner
Owner: neis@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/v8/v8/+/563ddadc7abd6d93fe2319f9b4d13023af48ee07 (Revert "Disable --turbo-inline-array-builtins by default.").

If this is incorrect, please remove the owner and apply the Test-Predator-Wrong-CLs label.
Project Member

Comment 3 by sheriffbot@chromium.org, Dec 10 2017

Labels: Pri-1

Comment 4 by neis@chromium.org, Dec 11 2017

Cc: neis@chromium.org
Owner: mvstan...@chromium.org
Owner: tebbi@chromium.org
We found first a smaller issuer where a TRACE statement didn't account for replacement possibly being null. After that we still die when violating DCHECK_NULL(GetReplacementOf(replacement));

We saw that we inline a function into itself *through* the forEach builtin inlining. Technically, this doesn't violate our heuristics...we eventually get to a minimum frequency (FLAG_min_inlining_frequency) and stop inlining. But the graph is huge...

Tobias will look into how a replacement node got a replacement, which is the no-go.

Comment 6 by tebbi@chromium.org, Dec 11 2017

Cc: mvstan...@chromium.org

Comment 7 by tebbi@chromium.org, Dec 11 2017

Labels: -Type-Bug-Security -Restrict-View-SecurityTeam -Security_Severity-High Type-Bug
Status: Fixed (was: Assigned)
Fixed with https://chromium-review.googlesource.com/c/v8/v8/+/817777

This bug is harmless: The DCHECK was checking an invariant that only holds once we reach a fixed-point.

Sign in to add a comment