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

Issue 618603 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

OperandIsValid(bytecode, operand_scale, 0, operand0) in bytecode-array-builder.c

Project Member Reported by ClusterFuzz, Jun 9 2016

Issue description

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

Fuzzer: mbarbella_js_mutation
Job Type: linux_asan_d8_ignition_dbg
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  OperandIsValid(bytecode, operand_scale, 0, operand0) in bytecode-array-builder.c
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_asan_d8_ignition_dbg&range=36361:36362

Minimized Testcase (0.18 Kb):
Download: https://cluster-fuzz.appspot.com/download/AMIfv977fgyjXHg6jHNwvOAPDWCJT0R0wxg_8JW6UndLCbuqjIlqMwOE06X1C7QMRo7m4gs8w77Qu3wnsWHLhSOq9BizkQ_032sxvU2EdaARWK9kXiHMTaFZJCdOazLLVxANsC7YkS9JM8cK_3nw80skW9XzgsEdvQ
try {
} catch(e) {; }
function __f_7(expected, run) {
  var __v_10 = run();
};
__f_7("[1,2,3]", () => (function() {
      return (async () => {[...await arguments] })();
      })());


Filer: mstarzinger

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 

Comment 1 by oth@chromium.org, Jun 9 2016

Owner: oth@chromium.org
Status: Assigned (was: Available)

Comment 2 by oth@chromium.org, Jun 10 2016

Owner: neis@chromium.org
Hi Georg, the bytecode generator ends up emitting an invalid register store. It looks like BytecodeGenerator::generator_state_ has not been initialized.

2238  {
2239    RegisterAllocationScope register_scope(this);
2240
2241    // Update state to indicate that we have finished resuming. Loop headers
2242    // rely on this.
2243    builder()
2244        ->LoadLiteral(Smi::FromInt(JSGeneratorObject::kGeneratorExecuting))
2245        .StoreAccumulatorInRegister(generator_state_);

Can you take a look?
Thanks

Comment 3 by neis@chromium.org, Jun 10 2016

Cc: caitpott...@gmail.com littledan@chromium.org
Caitlin and Dan, what's the status of async/await w.r.t. Ignition?  I suppose you never tested it?  Currently, the essential generator prologue is only omitted if IsGeneratorFunction holds.

Comment 4 by neis@chromium.org, Jun 10 2016

s/omitted/emitted/

Comment 5 by neis@chromium.org, Jun 13 2016

Cc: neis@chromium.org
 Issue 619474  has been merged into this issue.

Comment 6 by neis@chromium.org, Jun 13 2016

Cc: -littledan@chromium.org
Owner: littledan@chromium.org
Status: Started (was: Assigned)
Project Member

Comment 7 by ClusterFuzz, Jun 14 2016

ClusterFuzz has detected this issue as fixed in range 36937:36938.

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

Fuzzer: mbarbella_js_mutation
Job Type: linux_asan_d8_ignition_dbg
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  OperandIsValid(bytecode, operand_scale, 0, operand0) in bytecode-array-builder.c
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_asan_d8_ignition_dbg&range=36361:36362
Fixed: https://cluster-fuzz.appspot.com/revisions?job=linux_asan_d8_ignition_dbg&range=36937:36938

Minimized Testcase (0.18 Kb):
Download: https://cluster-fuzz.appspot.com/download/AMIfv977fgyjXHg6jHNwvOAPDWCJT0R0wxg_8JW6UndLCbuqjIlqMwOE06X1C7QMRo7m4gs8w77Qu3wnsWHLhSOq9BizkQ_032sxvU2EdaARWK9kXiHMTaFZJCdOazLLVxANsC7YkS9JM8cK_3nw80skW9XzgsEdvQ
try {
} catch(e) {; }
function __f_7(expected, run) {
  var __v_10 = run();
};
__f_7("[1,2,3]", () => (function() {
      return (async () => {[...await arguments] })();
      })());


See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs 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 8 by ClusterFuzz, Jun 14 2016

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

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

Comment 9 by oth@chromium.org, Jun 15 2016

Issue 620116 has been merged into this issue.
Project Member

Comment 10 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