New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 633884 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

!value->IsTheHole(isolate) in runtime-scopes.cc

Project Member Reported by ClusterFuzz, Aug 3 2016

Issue description

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=6296549363810304

Fuzzer: decoder_langfuzz
Job Type: linux_asan_d8_ignition_v8_arm_dbg
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  !value->IsTheHole(isolate) in runtime-scopes.cc
  
Regressed: V8: r38260:38261

Minimized Testcase (6.96 Kb): https://cluster-fuzz.appspot.com/download/AMIfv97-TiXNXrRywpNvWQ3kkyYaBs2IZKJnrYK6bR67cb5FiuMfZazjAOsfAapBPN4xNcF-wtBPAWLd__QBlNKnDtp2XwSc-bf9JLR9iCxOps9kkSo51BQZ_-fT1MgximTGJ_Ye40tcXcgNc7dT-yyA0U6LSKEnCQ?testcase_id=6296549363810304

Filer: mstarzinger

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 
Cc: rossberg@chromium.org verwa...@chromium.org
Owner: adamk@chromium.org
Status: Assigned (was: Untriaged)
Regression range points towards: https://crrev.com/bb97d27abc19044bcf63fa60f89e59a6b6cac595

Comment 2 by adamk@chromium.org, Aug 3 2016

Any hints on reproducing langfuzz issues? go/clusterfuzz-repro seems chrome-specific. Running the particular file that is supposed to have crashed under an asan arm dbg build didn't run into the problem.

Comment 3 by adamk@chromium.org, Aug 3 2016

Cc: mstarzinger@chromium.org

Comment 4 by adamk@chromium.org, Aug 3 2016

Status: Started (was: Assigned)
mstarzinger pointed me to the langfuzz scripts, I can reproduce now...

Comment 5 by adamk@chromium.org, Aug 3 2016

Cc: rmcilroy@chromium.org
Minimal repro:

```
// Flags: --ignition

try {
  // Leave "blarg" as the hole.
  Realm.eval(Realm.current(), "throw Error(); let blarg");
} catch (e) { }

// Access "blarg" via a dynamic lookup.
(function() { eval(); blarg(); })();
```

Don't yet understand why my change tweaked this (it should have been a no-op).

Comment 6 by adamk@chromium.org, Aug 3 2016

The reason Ignition hits this is that it doesn't have the "DynamicLookupFastCase" which full-codegen does. If I defeat that optimization (by introducing a var with the eval), I get a failure in all cases:

try {
  // Leave "blarg" as the hole.
  Realm.eval(Realm.current(), "throw Error(); let blarg");
} catch (e) { }

try {
  // Access "blarg" via a dynamic lookup.
  (function() { eval("var x = 5"); blarg(); })();
} catch (e) { }

Comment 7 by adamk@chromium.org, Aug 3 2016

And of course it was a simple thing missing from my refactor:

https://codereview.chromium.org/2203213003

but thanks to ClusterFuzz for additional test coverage!
Re #6, I noticed just yesterday that we are missing the DynamicLookupFastCase in Ignition. Filed a bug to add this on  issue 5263 , but yay for more test coverage :).
Project Member

Comment 9 by bugdroid1@chromium.org, Aug 4 2016

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

commit e6d2c9b58416d87d874cba02bccedb3b3d53ed41
Author: adamk <adamk@chromium.org>
Date: Thu Aug 04 16:10:48 2016

Properly pass InitializationFlag back from ScriptContextTable lookups

This was dropped accidentally in bb97d27ab.

R=verwaest@chromium.org
BUG= chromium:633884 

Review-Url: https://codereview.chromium.org/2203213003
Cr-Commit-Position: refs/heads/master@{#38345}

[modify] https://crrev.com/e6d2c9b58416d87d874cba02bccedb3b3d53ed41/src/contexts.cc
[add] https://crrev.com/e6d2c9b58416d87d874cba02bccedb3b3d53ed41/test/mjsunit/regress/regress-crbug-633884.js

Status: Fixed (was: Started)
Project Member

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

Labels: -Restrict-View-EditIssue
Removing EditIssue view restrictions from ClusterFuzz filed bugs. If you believe that this issue should still be restricted, please reapply the label.

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

Sign in to add a comment