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 Reproducer Testcase: https://clusterfuzz.com/download/AMIfv96EWO4XLpMzZdDol51ec0Wzxdxkzvnm6sTBVFmMCFgbWgzezpxOsFglWg1lz0ghm2axU5ps9LYPsD1Z8Vv1VtAQUKb_ANmu9_48jZiJ62wXSHhESO6guoL9aAFhF0_3utg4vRJmHiZEflJ-ne8ggID9JreQegxVzdILqpVZbxp2Nu-8i0ufq9EFqdMFKll5ggyrBR0LGP99fn9nVpYjNijqI6u_PxswOy4JSoD8UdTmMlX-zTpKq6U9_C96XZBDzsHLudbIt48LEkNBci40xey5VqajTQ5CXGQIg-ik8SGDsqEyG7QLq4g1VhNT2h2SWf9Epc21zVAuT4BNx0AKxChOuX2qD6a5DP0lnjLBKJmcFIGN0uY?testcase_id=5635092719599616 Issue filed automatically. See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
// 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
Typing rule for JSCreateArguments is wrong for rest parameters.
Awesome that the correctness fuzzer detected this so quickly!
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
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.
Comment 1 by machenb...@chromium.org
, Apr 19 2017Owner: bmeu...@chromium.org
Status: Assigned (was: Untriaged)