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

Issue 621496 link

Starred by 3 users

Issue metadata

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



Sign in to add a comment

Fatal error in v8::internal::Parser::PatternRewriter::VisitBinaryOperation()

Project Member Reported by ClusterFuzz, Jun 20 2016

Issue description

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

Fuzzer: libfuzzer_v8_script_parser_fuzzer
Job Type: libfuzzer_chrome_msan
Platform Id: linux

Crash Type: Fatal error
Crash Address: 
Crash State:
  
  fuzzer::Fuzzer::CrashCallback
  fuzzer::Fuzzer::StaticCrashSignalCallback
  SignalHandler
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_msan&range=397679:397736

Minimized Testcase (0.65 Kb): https://cluster-fuzz.appspot.com/download/AMIfv97To_w3OTwBOTgCHjsN7C7DZ4DnZ18Owo1jP_uJcccSxJFbztrU_O1EofUp6V2MrCwJYJgHQF_HjhPfLfg1xSYwx3Ugwb1ZwWrWbWx8P6KRxEZBTc17po8kJ4N7Nw-YKdEKSINTQM5qihA-kBQXCK1OA6T3RA?testcase_id=5969325458718720

Filer: mmoroz

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reproducing.md for more information.
 

Comment 1 by mmoroz@chromium.org, Jun 20 2016

Cc: mmoroz@chromium.org kcc@chromium.org jochen@chromium.org aizatsky@chromium.org
Components: Blink>JavaScript
Owner: vogelheim@chromium.org
Summary: Fatal error in v8::internal::Parser::PatternRewriter::VisitBinaryOperation() (was: Fatal error in )
vogelheim@, could you please help to triage this?

Comment 2 by ishell@chromium.org, Jun 21 2016

Cc: vogelheim@chromium.org
Owner: ishell@chromium.org
Status: Assigned (was: Available)
Bisecting...

Comment 3 by ishell@chromium.org, Jun 21 2016

Cc: ishell@chromium.org caitpott...@gmail.com littledan@chromium.org
Owner: adamk@chromium.org
Bisected to dfce900d64f2579607705fd2d94c13f28c2e996f.


=== test.js ===
[(...[a+b]) => 42);


#
# Fatal error in ../src/parsing/pattern-rewriter.cc, line 581
# unreachable code
#

==== C stack trace ===============================

 1: V8_Fatal
 2: 0x1188a95
 3: v8::internal::BinaryOperation::Accept(v8::internal::AstVisitor*)
 4: v8::internal::Parser::PatternRewriter::RecurseIntoSubpattern(v8::internal::AstNode*, v8::internal::Expression*)
 5: v8::internal::Parser::PatternRewriter::VisitArrayLiteral(v8::internal::ArrayLiteral*, v8::internal::Variable**)

Comment 4 by adamk@chromium.org, Jun 21 2016

Cc: nikolaos@chromium.org
Possibly minimal test:

out/Debug/d8 -e "(...[42]) => 42)"
But this one works OK:

out/Debug/d8 -e "(a, ...[17]) => 42;"
unnamed:1: SyntaxError: Unexpected number
(a, ...[17]) => 42;
        ^^
SyntaxError: Unexpected number

So, the problem seems to be in the code that handles a single parenthesized spread expression (https://cs.chromium.org/chromium/src/v8/src/parsing/parser-base.h?rcl=0&l=1582).
Project Member

Comment 9 by ClusterFuzz, Jun 23 2016

ClusterFuzz has detected this issue as fixed in range 401421:401542.

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

Fuzzer: libfuzzer_v8_script_parser_fuzzer
Job Type: libfuzzer_chrome_msan
Platform Id: linux

Crash Type: Fatal error
Crash Address: 
Crash State:
  
  fuzzer::Fuzzer::CrashCallback
  fuzzer::Fuzzer::StaticCrashSignalCallback
  SignalHandler
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_msan&range=397679:397736
Fixed: https://cluster-fuzz.appspot.com/revisions?job=libfuzzer_chrome_msan&range=401421:401542

Minimized Testcase (0.06 Kb):
Download: https://cluster-fuzz.appspot.com/download/AMIfv94_9RCTWxmTMwm7RqQzPQKzNlAoaTLLs_urDMvR5I8DsSc6qYobxavuysuaBBAnVW46SjC9dfqiF1X89HjwtyKxDzZiwBQhsPDr-iuRO5XrEtumu_-YkmnqOCE99abgROHvi6rW_2MWww5n42h3tm8xRA1GyQ?testcase_id=5969325458718720
1,[,�((...[Groarunem+~gevalSe42]) => asserttEquls(42, y[0]))(Gro);


See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reproducing.md for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.

Comment 10 by adamk@chromium.org, Jun 23 2016

Status: Fixed (was: Assigned)
 Issue v8:5313  has been merged into this issue.
Cc: hablich@chromium.org
Labels: Merge-Request-52
This fix should be merged back to V8 5.2 (although by now it's a little late for that...).

Comment 13 by dimu@chromium.org, Aug 26 2016

Labels: -Merge-Request-52 Merge-Review-52 Hotlist-Merge-Review
[Automated comment] Request affecting a post-stable build (M52), manual review required.
Project Member

Comment 14 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
Labels: -Merge-Review-52

Sign in to add a comment