New issue
Advanced search Search tips

Issue 897587 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Oct 24
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

CHECK failure: size > 0U in aligned_memory.cc

Project Member Reported by ClusterFuzz, Oct 22

Issue description

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

Fuzzer: libFuzzer_paint_op_buffer_eq_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  size > 0U in aligned_memory.cc
  base::AlignedAlloc
  paint_op_buffer_eq_fuzzer.cc
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=593404:593411

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

Issue filed automatically.

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

Comment 1 by ClusterFuzz, Oct 22

Components: Internals>Compositing Internals>Core
Labels: Test-Predator-Auto-Components
Automatically applying components based on crash stacktrace and information from OWNERS files.

If this is incorrect, please apply the Test-Predator-Wrong-Components label.
Project Member

Comment 2 by ClusterFuzz, Oct 22

Cc: enne@chromium.org
Labels: ClusterFuzz-Auto-CC
Automatically adding ccs based on OWNERS file / target commit history.

If this is incorrect, please add ClusterFuzz-Wrong label.
Project Member

Comment 3 by ClusterFuzz, Oct 22

Labels: Test-Predator-Auto-Owner
Owner: enne@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/chromium/src/+/9ecf8ac1a7bdf444ec968b0b2f84763b69d21e1a (cc: Set shader id when reading PaintShader).

If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label. If you aren't the correct owner for this issue, please unassign yourself as soon as possible so it can be re-triaged.
Cc: khushals...@chromium.org
Components: -Internals>Compositing -Internals>Core Internals>Compositing>OOP-Raster
Ah, I see what's happening.  There's some PaintFlags that are stored in 176 bytes, but when writing them out it takes 232 bytes.  It ends up that we can't write out the whole op in the same amount of space that we used to read it in, and this causes some assertions.
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/13de7e3dc62741227c5c27a709251d1a13029491

commit 13de7e3dc62741227c5c27a709251d1a13029491
Author: Adrienne Walker <enne@chromium.org>
Date: Tue Oct 23 17:46:58 2018

cc: Don't create a scaled shader for fixed scales

These are already scaled, so don't bother making an allocation.  This is
probably a minor perf optimization.

However, this also fixes a fuzzer issue where reading a PaintShader of N
bytes could not be written back out into N bytes, because the scaled
paint record shader included an unnecessary local matrix.

Bug:  897587 
Change-Id: Ia8f0e1395a130e2cbcc09a0886f0a1f58ba2b5dd
Reviewed-on: https://chromium-review.googlesource.com/c/1295174
Reviewed-by: Khushal <khushalsagar@chromium.org>
Commit-Queue: enne <enne@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602006}
[modify] https://crrev.com/13de7e3dc62741227c5c27a709251d1a13029491/cc/paint/paint_op_buffer_eq_fuzzer.cc
[modify] https://crrev.com/13de7e3dc62741227c5c27a709251d1a13029491/cc/paint/paint_shader.cc

Project Member

Comment 6 by ClusterFuzz, Oct 24

ClusterFuzz has detected this issue as fixed in range 602005:602007.

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

Fuzzer: libFuzzer_paint_op_buffer_eq_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  size > 0U in aligned_memory.cc
  base::AlignedAlloc
  paint_op_buffer_eq_fuzzer.cc
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=593404:593411
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=602005:602007

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

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reference.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 7 by ClusterFuzz, Oct 24

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

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

Sign in to add a comment