New issue
Advanced search Search tips

Issue 712802 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

V8 correctness failure in configs: x64,ignition:x64,ignition_turbo

Project Member Reported by ClusterFuzz, Apr 18 2017

Issue description

Cc: jarin@chromium.org mstarzinger@chromium.org
Owner: bmeu...@chromium.org
Status: Assigned (was: Untriaged)
// PTAL. Bisects to:
https://chromium.googlesource.com/v8/v8/+/199e543f7c2c514f3fea090c046313453c2ff497

[turbofan] Introduce a dedicated Array type.

// Repro:
function foo(...arguments) {
    print(Array.isArray(arguments));
}
foo();
%OptimizeFunctionOnNextCall(foo);
foo();

// Output:
# Compared x64,ignition with x64,ignition_turbo
#
# Flags of x64,ignition:
--abort_on_stack_overflow --expose-gc --allow-natives-syntax --invoke-weak-callbacks --omit-quit --es-staging --random-seed 732681078 --ignition --turbo-filter=~ --hydrogen-filter=~ --nocrankshaft
# Flags of x64,ignition_turbo:
--abort_on_stack_overflow --expose-gc --allow-natives-syntax --invoke-weak-callbacks --omit-quit --es-staging --random-seed 732681078 --ignition --turbo
#
# Difference:
- true
+ false
#
### Start of configuration x64,ignition:
true
true

### End of configuration x64,ignition
#
### Start of configuration x64,ignition_turbo:
true
false

### End of configuration x64,ignition_turbo

Components: -Blink>JavaScript Blink>JavaScript>Compiler
Status: Started (was: Assigned)
Typing rule for JSCreateArguments is wrong for rest parameters.
Awesome that the correctness fuzzer detected this so quickly!
Project Member

Comment 5 by bugdroid1@chromium.org, Apr 19 2017

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

commit b89ddcf1fc657a1689fe0e88d4441bdce54837c3
Author: bmeurer <bmeurer@chromium.org>
Date: Wed Apr 19 07:38:20 2017

[turbofan] Fix typing rule for JSCreateArguments.

The typing rule for JSCreateArguments must properly declare rest
parameters as arrays and only consider sloppy and strict arguments
objects as Type::OtherObject.

TBR=jarin@chromium.org
BUG= v8:6262 , chromium:712802 

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

[modify] https://crrev.com/b89ddcf1fc657a1689fe0e88d4441bdce54837c3/src/compiler/typer.cc
[modify] https://crrev.com/b89ddcf1fc657a1689fe0e88d4441bdce54837c3/src/compiler/types.h
[modify] https://crrev.com/b89ddcf1fc657a1689fe0e88d4441bdce54837c3/src/compiler/verifier.cc
[add] https://crrev.com/b89ddcf1fc657a1689fe0e88d4441bdce54837c3/test/mjsunit/regress/regress-crbug-712802.js

Status: Fixed (was: Started)
Project Member

Comment 7 by ClusterFuzz, Apr 20 2017

ClusterFuzz has detected this issue as fixed in range 44711:44712.

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

Fuzzer: foozzie_js_mutation
Job Type: v8_foozzie
Platform Id: linux

Crash Type: V8 correctness failure
Crash Address: 
Crash State:
  configs: x64,ignition:x64,ignition_turbo
  sources: f22
  
Sanitizer: address (ASAN)

Regressed: V8: 44680:44681
Fixed: V8: 44711:44712

Reproducer Testcase: https://clusterfuzz.com/download/AMIfv96EWO4XLpMzZdDol51ec0Wzxdxkzvnm6sTBVFmMCFgbWgzezpxOsFglWg1lz0ghm2axU5ps9LYPsD1Z8Vv1VtAQUKb_ANmu9_48jZiJ62wXSHhESO6guoL9aAFhF0_3utg4vRJmHiZEflJ-ne8ggID9JreQegxVzdILqpVZbxp2Nu-8i0ufq9EFqdMFKll5ggyrBR0LGP99fn9nVpYjNijqI6u_PxswOy4JSoD8UdTmMlX-zTpKq6U9_C96XZBDzsHLudbIt48LEkNBci40xey5VqajTQ5CXGQIg-ik8SGDsqEyG7QLq4g1VhNT2h2SWf9Epc21zVAuT4BNx0AKxChOuX2qD6a5DP0lnjLBKJmcFIGN0uY?testcase_id=5635092719599616


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.

Sign in to add a comment