New issue
Advanced search Search tips

Issue 716511 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: May 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 3
Type: Bug



Sign in to add a comment

Stack-overflow in Parser::ParseBlock

Project Member Reported by ClusterFuzz, Apr 28 2017

Issue description

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

Fuzzer: libfuzzer_gn_parser_fuzzer
Job Type: mac_libfuzzer_chrome_asan
Platform Id: mac

Crash Type: Stack-overflow
Crash Address: 0x7fff5b5d3a88
Crash State:
  Parser::ParseBlock
  Parser::Block
  Parser::ParseExpression
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=mac_libfuzzer_chrome_asan&range=415152:415222

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=4642324912275456


Issue filed automatically.

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

Comment 1 by shrike@chromium.org, Apr 28 2017

Components: Tools

Comment 2 by tapted@chromium.org, May 12 2017

Owner: thakis@chromium.org
Status: Assigned (was: Untriaged)
[mac triage]

From the regression range I'm guessing r415181 "gn: Reduce stack memory use while parsing."

BUG= 641454 
Review-Url: https://codereview.chromium.org/2290713002


But also the test case is just a bunch of open curlies - maybe this is desired behavior.

Comment 3 by thakis@chromium.org, May 12 2017

Labels: -Pri-1 Pri-3
I doubt that's a regression, that commit lowered stack use (due to another clusterfuzz bug about a stack overflow). But gn's parser will eventually stack overflow if things get too deep. In practice, this never happens.

A reasonable workaround would be to check the fuzzer for a bounded number of { before proceeding, I suppose.
Project Member

Comment 4 by ClusterFuzz, May 27 2017

ClusterFuzz has detected this issue as fixed in range 474926:474952.

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

Fuzzer: libfuzzer_gn_parser_fuzzer
Job Type: mac_libfuzzer_chrome_asan
Platform Id: mac

Crash Type: Stack-overflow
Crash Address: 0x7fff5b5d3a88
Crash State:
  Parser::ParseBlock
  Parser::Block
  Parser::ParseExpression
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=mac_libfuzzer_chrome_asan&range=415152:415222
Fixed: https://clusterfuzz.com/revisions?job=mac_libfuzzer_chrome_asan&range=474926:474952

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=4642324912275456


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.
Project Member

Comment 5 by ClusterFuzz, May 27 2017

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

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

Sign in to add a comment