From 7427f77974bd0f72f65e485c788554d7dad56a7d Mon Sep 17 00:00:00 2001 From: Jonathan Backer Date: Wed, 13 Mar 2019 16:40:21 +0000 Subject: [PATCH] DLOG instead of DCHECK destruction during write access This is motivated by our fuzzing of RasterDecoder. The fuzzer can issue a BeginRasterCHROMIUM without a matching EndRasterCHROMIUM. The DCHECK was causing clusterfuzz to think it found an legit error. It is possible for a renderer to crash between BeginRaster and EndRaster as well. Bug: 940190 Change-Id: Ia260b626ce516a700fc1159e4be33c7adb02740c Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1518144 Commit-Queue: Jonathan Backer Reviewed-by: Eric Karl Reviewed-by: enne Auto-Submit: Jonathan Backer Cr-Commit-Position: refs/heads/master@{#640365} --- .../service/shared_image_backing_factory_gl_texture.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gpu/command_buffer/service/shared_image_backing_factory_gl_texture.cc b/gpu/command_buffer/service/shared_image_backing_factory_gl_texture.cc index 067fbafb62be14..ad4e4123a57d22 100644 --- a/gpu/command_buffer/service/shared_image_backing_factory_gl_texture.cc +++ b/gpu/command_buffer/service/shared_image_backing_factory_gl_texture.cc @@ -273,7 +273,12 @@ class SharedImageRepresentationSkiaImpl : public SharedImageRepresentationSkia { #endif } - ~SharedImageRepresentationSkiaImpl() override { DCHECK(!write_surface_); } + ~SharedImageRepresentationSkiaImpl() override { + if (write_surface_) { + DLOG(ERROR) << "SharedImageRepresentationSkia was destroyed while still " + << "open for write access."; + } + } sk_sp BeginWriteAccess( GrContext* gr_context,