New issue
Advanced search Search tips

Issue 855844 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

Null-dereference READ in Buffer

Project Member Reported by ClusterFuzz, Jun 23 2018

Issue description

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

Fuzzer: ifratric-browserfuzzer-v3
Job Type: linux_lsan_chrome_mp
Platform Id: linux

Crash Type: Null-dereference READ
Crash Address: 0x000000000000
Crash State:
  Buffer
  data
  begin
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_lsan_chrome_mp&range=567448:567456

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

Issue filed automatically.

See https://github.com/google/clusterfuzz-tools for more information.
 
Project Member

Comment 1 by ClusterFuzz, Jun 23 2018

Components: Blink>Internals>WTF Blink>Layout
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, Jun 23 2018

Labels: Test-Predator-Auto-Owner
Owner: jfernan...@igalia.com
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/chromium/src/+/07d4cc08bc84677108d949e0b356f19e6c81cbc0 ([css-grid] Layout items to figure out the need of synthesized baseline).

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.

Comment 3 by yutak@chromium.org, Jun 25 2018

Components: -Blink>Layout -Blink>Internals>WTF Blink>Layout>Grid
I managed to reproduce the issue with the reduced test case attached. It seems the use of the 'object' tag is necessary. 
crash-baseline-algorithm-4.html
216 bytes View Download
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 3

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

commit 14ae572484ec1051f5ac4e8d8f110aaedf003964
Author: Javier Fernandez <jfernandez@igalia.com>
Date: Tue Jul 03 10:08:29 2018

[css-grid] Avoid persistent items list to perform the pre-layout

We defined two LayoutBox elements list to identify grid items that need
to perform a pre-layout: orthogonal and baseline items. We were
creating these lists as part of the PlaceItemsOnGrid logic.

This design has 2 main problems that lead to  bug 855844 , and likely
many other:
  * The PlaceItemsOnGrid function is not executed completely if the
grid is not dirty.
  * There might be items in the list that should not be there due to
style changes; also, some should have been added for the same reason.

The simplest and safest approach is to avoid such lists and identify
the items needing pre-layout during the first steps of the grid's
layout logic.

Since style changes affecting either the writing-mode or the Self
Alignment properties of a grid item will force a re-layout of the grid
it belongs to, we can be sure that all the grid items will perform the
pre-layout, if they needed to.

Bug:  855844 
Change-Id: I396524b0fc6a4816bcb7962997f129a325c04934
Reviewed-on: https://chromium-review.googlesource.com/1122623
Commit-Queue: Javier Fernandez <jfernandez@igalia.com>
Reviewed-by: Manuel Rego Casasnovas <rego@igalia.com>
Cr-Commit-Position: refs/heads/master@{#572162}
[add] https://crrev.com/14ae572484ec1051f5ac4e8d8f110aaedf003964/third_party/WebKit/LayoutTests/fast/css-grid-layout/grid-self-baseline-followed-by-item-style-change-should-not-crash.html
[modify] https://crrev.com/14ae572484ec1051f5ac4e8d8f110aaedf003964/third_party/blink/renderer/core/layout/grid.cc
[modify] https://crrev.com/14ae572484ec1051f5ac4e8d8f110aaedf003964/third_party/blink/renderer/core/layout/grid.h
[modify] https://crrev.com/14ae572484ec1051f5ac4e8d8f110aaedf003964/third_party/blink/renderer/core/layout/layout_grid.cc
[modify] https://crrev.com/14ae572484ec1051f5ac4e8d8f110aaedf003964/third_party/blink/renderer/core/layout/layout_grid.h

Status: Fixed (was: Assigned)
This issue should be FIXED now.
Project Member

Comment 7 by ClusterFuzz, Jul 5

ClusterFuzz has detected this issue as fixed in range 572161:572163.

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

Fuzzer: ifratric-browserfuzzer-v3
Job Type: linux_lsan_chrome_mp
Platform Id: linux

Crash Type: Null-dereference READ
Crash Address: 0x000000000000
Crash State:
  Buffer
  data
  begin
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_lsan_chrome_mp&range=567448:567456
Fixed: https://clusterfuzz.com/revisions?job=linux_lsan_chrome_mp&range=572161:572163

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

See https://github.com/google/clusterfuzz-tools 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 8 by ClusterFuzz, Jul 5

Labels: ClusterFuzz-Verified
Status: Verified (was: Fixed)
ClusterFuzz testcase 4703555072819200 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