New issue
Advanced search Search tips

Issue 902676 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Nov 29
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug



Sign in to add a comment

Null-dereference READ in gpu::raster::RasterImplementation::RasterCHROMIUM

Project Member Reported by ClusterFuzz, Nov 7

Issue description

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

Fuzzer: marty_html_twiddler
Job Type: mac_asan_chrome
Platform Id: mac

Crash Type: Null-dereference READ
Crash Address: 0x000000000000
Crash State:
  gpu::raster::RasterImplementation::RasterCHROMIUM
  cc::GpuRasterBufferProvider::PlaybackOnWorkerThreadInternal
  cc::GpuRasterBufferProvider::RasterBufferImpl::Playback
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=mac_asan_chrome&range=603104:603123

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

Issue filed automatically.

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

Comment 1 by ClusterFuzz, Nov 7

Components: Internals>Compositing>Rasterization Internals>GPU>Internals
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, Nov 7

Cc: penghuang@chromium.org skobes@chromium.org
Labels: Test-Predator-Auto-CC
Automatically adding ccs based on suspected regression changelists:

Make browser UI to use OOPR as well when OOPR is enabled. by penghuang@chromium.org - https://chromium.googlesource.com/chromium/src/+/392cff8628eed1ce42f41362d2328f60768e2ce5

Track layout jank score in PageTimingMetricsSender. by skobes@chromium.org - https://chromium.googlesource.com/chromium/src/+/9f9b8e7ecb85b9be04920f5cfd195744e7e56dd5

If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label.
Cc: enne@chromium.org khushals...@chromium.org
Looks like using OOPR for browser UI exposed some crash in SendSerializedData.
Cc: backer@chromium.org
Labels: M-72
Owner: enne@chromium.org
Status: Assigned (was: Untriaged)
I cannot make this repro on mac (same gn flags, asan flags, chrome flags).  Moreover, I do not see any way this could happen.

This is a null pointer crash in a std::set (with the T being primitives).  The set is stored on an object on the stack (higher up in the callstack), so it seems bizarre that this could go awry.  It's not a use after free or use of stack memory after it's gone out of scope, or asan would have groused about that too.
Project Member

Comment 6 by ClusterFuzz, Nov 29

ClusterFuzz has detected this issue as fixed in range 611973:611983.

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

Fuzzer: marty_html_twiddler
Job Type: mac_asan_chrome
Platform Id: mac

Crash Type: Null-dereference READ
Crash Address: 0x000000000000
Crash State:
  gpu::raster::RasterImplementation::RasterCHROMIUM
  cc::GpuRasterBufferProvider::PlaybackOnWorkerThreadInternal
  cc::GpuRasterBufferProvider::RasterBufferImpl::Playback
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=mac_asan_chrome&range=603104:603123
Fixed: https://clusterfuzz.com/revisions?job=mac_asan_chrome&range=611973:611983

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

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 7 by ClusterFuzz, Nov 29

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

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
The crash is in the destruction of a set in TransferCacheSerializeHelper. Its very odd that a purely GPU service side change (CCPR) would impact this serialization code. But looking at the fixed revision range, none of them look related.
No, I'm equally confused, but simultaneously the range of changes where it's fixed is quite small and there's not anything else even remotely relevant.

The only other thing is that this is one that only ever repro'd on the bots, and so maybe there's just some memory stomp or weird thing going on that just happens to not be hit any more.

Sign in to add a comment