New issue
Advanced search Search tips

Issue 592823 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

Make SoftwareImageDecodeController::DecodedImage not be ref counted.

Project Member Reported by vmp...@chromium.org, Mar 8 2016

Issue description

Right now it's ref counted because the mru cache we store it in doesn't support move only types. After move only support lands, change it to be a scoped ptr.

 
Project Member

Comment 1 by bugdroid1@chromium.org, Mar 9 2016

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

commit aaab4d14f3b0266d774592136a1f097cd75c923c
Author: vmpstr <vmpstr@chromium.org>
Date: Wed Mar 09 22:08:48 2016

base: Remove OwningMRUCache in favor of scoped_ptrs in MRUCache

Along with removing OwningMRUCache, this patch also removes
the Deletor concept from the cache, since it can be implemented
by storing scoped_ptrs with custom deleters.

BUG= 592823 

Review URL: https://codereview.chromium.org/1763273002

Cr-Commit-Position: refs/heads/master@{#380239}

[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/base/containers/mru_cache.h
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/base/containers/mru_cache_unittest.cc
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/chrome/browser/bitmap_fetcher/bitmap_fetcher_service.cc
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/chrome/browser/bitmap_fetcher/bitmap_fetcher_service.h
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/chrome/browser/ui/app_list/search/common/webservice_cache.cc
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/chrome/browser/ui/app_list/search/common/webservice_cache.h
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/components/dom_distiller/core/distilled_content_store.cc
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/components/dom_distiller/core/distilled_content_store.h
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/ios/chrome/browser/favicon/large_icon_cache.cc
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/ios/chrome/browser/favicon/large_icon_cache.h
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/ios/chrome/browser/snapshots/lru_cache.h
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/ios/chrome/browser/snapshots/lru_cache.mm
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/ios/chrome/browser/snapshots/lru_cache_unittest.mm
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/net/ssl/ssl_client_session_cache_openssl.cc
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/net/ssl/ssl_client_session_cache_openssl.h
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/ui/ozone/platform/drm/gpu/drm_overlay_validator.h
[modify] https://crrev.com/aaab4d14f3b0266d774592136a1f097cd75c923c/ui/ozone/platform/drm/host/drm_overlay_manager.h

Project Member

Comment 2 by bugdroid1@chromium.org, Mar 11 2016

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

commit 61c1b9da83fd9783d23421735c6a777899c6b127
Author: vmpstr <vmpstr@chromium.org>
Date: Fri Mar 11 23:55:38 2016

cc: ImageDecodes: Remove ref counting from SIDC::DecodedImage.

This patch removes ref counting from DecodedImage class in
SoftwareImageDecodeController.

BUG= 592823 
R=enne, ericrk
CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel

Review URL: https://codereview.chromium.org/1778673005

Cr-Commit-Position: refs/heads/master@{#380789}

[modify] https://crrev.com/61c1b9da83fd9783d23421735c6a777899c6b127/cc/tiles/software_image_decode_controller.cc
[modify] https://crrev.com/61c1b9da83fd9783d23421735c6a777899c6b127/cc/tiles/software_image_decode_controller.h

Comment 3 by ajha@chromium.org, Mar 14 2016

Cc: nyerramilli@chromium.org ajha@chromium.org ligim...@chromium.org
Stack trace:
=============
go/crash/92a69bb400000000

Thread 4 CRASHED [EXCEPTION_BREAKPOINT @ 0x00007ffa4085b1dd ] MAGIC SIGNATURE THREAD
0x00007ffa4085b1dd	(chrome_child.dll -logging.cc:737 )	logging::LogMessage::~LogMessage()
0x00007ffa4133db4d	(chrome_child.dll -memory.cc:19 )	base::`anonymous namespace'::OnNoMemory
0x00007ffa4238b1ad	(chrome_child.dll -child_discardable_shared_memory_manager.cc:311 )	content::ChildDiscardableSharedMemoryManager::AllocateLockedDiscardableSharedMemory(unsigned __int64,int)
0x00007ffa4238adca	(chrome_child.dll -child_discardable_shared_memory_manager.cc:186 )	content::ChildDiscardableSharedMemoryManager::AllocateLockedDiscardableMemory(unsigned __int64)
0x00007ffa413ec761	(chrome_child.dll -software_image_decode_controller.cc:344 )	cc::SoftwareImageDecodeController::DecodeImageInternal(cc::ImageDecodeControllerKey const &,cc::DrawImage const &)
0x00007ffa413ed4d2	(chrome_child.dll -software_image_decode_controller.cc:509 )	cc::SoftwareImageDecodeController::GetDecodedImageForDrawInternal(cc::ImageDecodeControllerKey const &,cc::DrawImage const &)
0x00007ffa413eca5d	(chrome_child.dll -software_image_decode_controller.cc:387 )	cc::SoftwareImageDecodeController::DecodeImageInternal(cc::ImageDecodeControllerKey const &,cc::DrawImage const &)
0x00007ffa413ec372	(chrome_child.dll -software_image_decode_controller.cc:286 )	cc::SoftwareImageDecodeController::DecodeImage(cc::ImageDecodeControllerKey const &,cc::DrawImage const &)
0x00007ffa413eb339	(chrome_child.dll -software_image_decode_controller.cc:54 )	cc::`anonymous namespace'::ImageDecodeTaskImpl::RunOnWorkerThread
0x00007ffa424a11c7	(chrome_child.dll -raster_worker_pool.cc:364 )	content::RasterWorkerPool::RunTaskInCategoryWithLockAcquired(cc::TaskCategory)
0x00007ffa424a12b3	(chrome_child.dll -raster_worker_pool.cc:339 )	content::RasterWorkerPool::RunTaskWithLockAcquired(std::vector<cc::TaskCategory,std::allocator<cc::TaskCategory> > const &)
0x00007ffa424a1098	(chrome_child.dll -raster_worker_pool.cc:233 )	content::RasterWorkerPool::Run(std::vector<cc::TaskCategory,std::allocator<cc::TaskCategory> > const &,base::ConditionVariable *)
0x00007ffa4088385f	(chrome_child.dll -simple_thread.cc:66 )	base::SimpleThread::ThreadMain()
0x00007ffa4087572f	(chrome_child.dll -platform_thread_win.cc:84 )	base::`anonymous namespace'::ThreadFunc
0x00007ffa893dc901	(KERNEL32.DLL + 0x0000c901 )	BaseThreadInitThunk
0x00007ffa8b97bf93	(ntdll.dll + 0x0004bf93 )	RtlUserThreadStart

vmpstr@: Could you please confirm if this issue is working towards fixing the [Out of Memory] cc::SoftwareImageDecodeController::DecodeImageInternal.

Seeing three digit crash instances of this crash on all the M-51 channel builds since chrome version: 51.0.2666.0.

Link to the list of the builds with this crash can be seen here:
=================================================================
https://crash.corp.google.com/browse?q=custom_data.ChromeCrashProto.ptype%3D%27renderer%27%20AND%20custom_data.ChromeCrashProto.magic_signature_1.name%3D%27%5BOut%20of%20Memory%5D%20cc%3A%3ASoftwareImageDecodeController%3A%3ADecodeImageInternal%27%20AND%20product.name%3D%27Chrome%27&ignore_case=false&enable_rewrite=true&omit_field_name=&omit_field_value=&omit_field_opt=%3D#-samplereports:5,productversion:30

Note: Not marking this Blocker as of now, due to [Out of memory] in the magic signature.



Comment 4 by ajha@chromium.org, Mar 16 2016

vmpstr@: Can we get an update if this OOM can be ignored.

Crash with magic signature: [Out of Memory] cc::SoftwareImageDecodeController::DecodeImageInternal is the 5th top crasher on the latest dev(51.0.2679.0) now.

Comment 5 by vmp...@chromium.org, Mar 16 2016

Hi, this bug is about tracking removing ref counting from SoftwareImageDecodeController. I don't think the patches here are affecting the crash rate in any way. 

There is a bug here https://bugs.chromium.org/p/chromium/issues/detail?id=577786 that is/was tracking the out of memory issues.

Comment 6 by vmp...@chromium.org, Mar 16 2016

Status: Fixed (was: Assigned)
How to fix this crash, You can find in attachmenet 
chrome_crash_trace.txt
3.6 KB View Download
From the log it seems like your system is running out of memory,increase the system memory/ exit from the programs which you are not using.

Sign in to add a comment