New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 614445 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug



Sign in to add a comment

tile manager change failed dr memory on windows

Project Member Reported by isheriff@chromium.org, May 24 2016

Issue description

https://codereview.chromium.org/1998393002 broke a bunch of tests

https://build.chromium.org/p/chromium.memory.fyi/builders/Windows%20Content%20Browser%20%28DrMemory%20full%29%20%281%29/builds/7930

HANDLE LEAK: KERNEL handle 0x00000418 and 3 similar handle(s) were opened but not closed:
# 0 system call NtDuplicateObject
# 1 KERNELBASE.dll!DuplicateHandle                                            +0x68     (0x7750c4e7 <KERNELBASE.dll+0xc4e7>)
# 2 KERNEL32.dll!DuplicateHandle                                              +0x4b     (0x756a18b2 <KERNEL32.dll+0x118b2>)
# 3 base.dll!`anonymous namespace'::CreateFileMappingWithReducedPermissions    [base\memory\shared_memory_win.cc:116]
# 4 base.dll!base::SharedMemory::Create                                        [base\memory\shared_memory_win.cc:265]
# 5 content.dll!content::ChildThreadImpl::AllocateSharedMemory                 [content\child\child_thread_impl.cc:599]
# 6 content.dll!content::ChildSharedBitmapManager::AllocateSharedMemoryBitmap  [content\child\child_shared_bitmap_manager.cc:117]
# 7 content.dll!content::ChildSharedBitmapManager::AllocateSharedBitmap        [content\child\child_shared_bitmap_manager.cc:90]
# 8 cc.dll!cc::ResourceProvider::CreateBitmap                                  [cc\resources\resource_provider.cc:555]
# 9 cc.dll!cc::ResourceProvider::CreateResource                                [cc\resources\resource_provider.cc:504]
#10 cc.dll!cc::ScopedResource::Allocate                                        [cc\resources\scoped_resource.cc:25]
#11 cc.dll!cc::ResourcePool::AcquireResource                                   [cc\resources\resource_pool.cc:130]
#12 cc.dll!cc::TileManager::CreateRasterTask                                   [cc\tiles\tile_manager.cc:873]
#13 cc.dll!cc::TileManager::ScheduleTasks                                      [cc\tiles\tile_manager.cc:787]
#14 cc.dll!cc::TileManager::PrepareTiles                                       [cc\tiles\tile_manager.cc:477]
#15 cc.dll!cc::LayerTreeHostImpl::PrepareTiles                                 [cc\trees\layer_tree_host_impl.cc:486]
#16 cc.dll!cc::ProxyImpl::ScheduledActionCommit                                [cc\trees\proxy_impl.cc:573]
#17 cc.dll!cc::Scheduler::ProcessScheduledActions                              [cc\scheduler\scheduler.cc:683]
#18 cc.dll!cc::Scheduler::NotifyReadyToCommit                                  [cc\scheduler\scheduler.cc:179]
#19 cc.dll!cc::ProxyImpl::StartCommitOnImpl                                    [cc\trees\proxy_impl.cc:281]
#20 cc.dll!base::internal::Invoker<>::Run                                      [base\bind_internal.h:362]
#21 base.dll!base::debug::TaskAnnotator::RunTask                               [base\debug\task_annotator.cc:51]
#22 base.dll!base::MessageLoop::RunTask                                        [base\message_loop\message_loop.cc:478]
#23 base.dll!base::MessageLoop::DeferOrRunPendingTask                          [base\message_loop\message_loop.cc:487]
#24 base.dll!base::MessageLoop::DoWork                                         [base\message_loop\message_loop.cc:604]
#25 base.dll!base::MessagePumpDefault::Run                                     [base\message_loop\message_pump_default.cc:33]
#26 base.dll!base::MessageLoop::RunHandler                                     [base\message_loop\message_loop.cc:442]
#27 base.dll!base::MessageLoop::Run                                            [base\message_loop\message_loop.cc:294]
#28 base.dll!base::Thread::Run                                                 [base\threading\thread.cc:202]
#29 base.dll!base::Thread::ThreadMain                                          [base\threading\thread.cc:254]
#30 base.dll!base::`anonymous namespace'::ThreadFunc                           [base\threading\platform_thread_win.cc:84]
#31 KERNEL32.dll!BaseThreadInitThunk                                          +0x11     (0x756a337a <KERNEL32.dll+0x1337a>)
Note: @0:02:22.900 in thread 3176
Note: handles created with the same callstack are closed here:
Note: # 0 system call NtClose
Note: # 1 KERNELBASE.dll!CloseHandle                                                +0x2c     (0x7750c463 <KERNELBASE.dll+0xc463>)
Note: # 2 KERNEL32.dll!CloseHandle                                                  +0x27     (0x756a1418 <KERNEL32.dll+0x11418>)
Note: # 3 base.dll!base::SharedMemory::Close                                         [base\memory\shared_memory_win.cc:383]
Note: # 4 base.dll!base::SharedMemory::~SharedMemory                                 [base\memory\shared_memory_win.cc:170]
Note: # 5 content.dll!content::`anonymous namespace'::ChildSharedBitmap::~ChildSharedBitmap [content\child\child_shared_bitmap_manager.cc:43]
Note: # 6 content.dll!content::`anonymous namespace'::ChildSharedBitmap::`scalar deleting destructor'
Note: # 7 cc.dll!cc::ResourceProvider::DeleteResourceInternal                        [cc\resources\resource_provider.cc:717]
Note: # 8 cc.dll!cc::ResourceProvider::DeleteResource                                [cc\resources\resource_provider.cc:645]
Note: # 9 cc.dll!cc::ScopedResource::Free                                            [cc\resources\scoped_resource.cc:51]
Note: #10 cc.dll!cc::ResourcePool::DeleteResource                                    [cc\resources\resource_pool.cc:264]
Note: #11 cc.dll!cc::ResourcePool::EvictResourcesNotUsedSince                        [cc\resources\resource_pool.cc:328]
Note: #12 cc.dll!cc::ResourcePool::EvictExpiredResources                             [cc\resources\resource_pool.cc:306]
Note: #13 cc.dll!base::internal::Invoker<>::Run                                      [base\bind_internal.h:362]
Note: #14 base.dll!base::debug::TaskAnnotator::RunTask                               [base\debug\task_annotator.cc:51]
Note: #15 base.dll!base::MessageLoop::RunTask                                        [base\message_loop\message_loop.cc:478]
Note: #16 base.dll!base::MessageLoop::DeferOrRunPendingTask                          [base\message_loop\message_loop.cc:487]
Note: #17 base.dll!base::MessageLoop::DoDelayedWork                                  [base\message_loop\message_loop.cc:642]
Note: #18 base.dll!base::MessagePumpDefault::Run                                     [base\message_loop\message_pump_default.cc:37]
Note: #19 base.dll!base::MessageLoop::RunHandler                                     [base\message_loop\message_loop.cc:442]
Note: #20 base.dll!base::MessageLoop::Run                                            [base\message_loop\message_loop.cc:294]
Note: #21 base.dll!base::Thread::Run                                                 [base\threading\thread.cc:202]
Note: #22 base.dll!base::Thread::ThreadMain                                          [base\threading\thread.cc:254]
Note: #23 base.dll!base::`anonymous namespace'::ThreadFunc                           [base\threading\platform_thread_win.cc:84]
Note: #24 KERNEL32.dll!BaseThreadInitThunk                                          +0x11     (0x756a337a <KERNEL32.dll+0x1337a>)
The report came from the `RenderFrameHostManagerTest.SwapProcessWithRelNopenerAndTargetBlank` test.
Suppression (error hash=#829A7EAFA1485EBF#):
For more info on using suppressions see http://dev.chromium.org/developers/how-tos/using-drmemory#TOC-Suppressing-error-reports-from-the-
{
HANDLE LEAK
name=<insert_a_suppression_name_here>
system call NtDuplicateObject
KERNELBASE.dll!DuplicateHandle
KERNEL32.dll!DuplicateHandle
base.dll!`anonymous namespace'::CreateFileMappingWithReducedPermissions
base.dll!base::SharedMemory::Create
content.dll!content::ChildThreadImpl::AllocateSharedMemory
content.dll!content::ChildSharedBitmapManager::AllocateSharedMemoryBitmap
content.dll!content::ChildSharedBitmapManager::AllocateSharedBitmap
cc.dll!cc::ResourceProvider::CreateBitmap
cc.dll!cc::ResourceProvider::CreateResource
cc.dll!cc::ScopedResource::Allocate
cc.dll!cc::ResourcePool::AcquireResource
cc.dll!cc::TileManager::CreateRasterTask
cc.dll!cc::TileManager::ScheduleTasks
cc.dll!cc::TileManager::PrepareTiles
cc.dll!cc::LayerTreeHostImpl::PrepareTiles
cc.dll!cc::ProxyImpl::ScheduledActionCommit
cc.dll!cc::Scheduler::ProcessScheduledActions
cc.dll!cc::Scheduler::NotifyReadyToCommit
cc.dll!cc::ProxyImpl::StartCommitOnImpl
cc.dll!base::internal::Invoker<>::Run
base.dll!base::debug::TaskAnnotator::RunTask
base.dll!base::MessageLoop::RunTask
base.dll!base::MessageLoop::DeferOrRunPendingTask
base.dll!base::MessageLoop::DoWork
base.dll!base::MessagePumpDefault::Run
base.dll!base::MessageLoop::RunHandler
base.dll!base::MessageLoop::Run
base.dll!base::Thread::Run
base.dll!base::Thread::ThreadMain
base.dll!base::`anonymous namespace'::ThreadFunc
KERNEL32.dll!BaseThreadInitThunk
}

 
Summary: tile manager change failed dr memory on windows (was: tile manager change broke dr memory on windows)

Comment 2 by vmp...@chromium.org, May 24 2016

Cc: enne@chromium.org jbau...@chromium.org ericrk@chromium.org
Components: Internals>Compositing>Rasterization
Labels: -Pri-3 OS-Windows Pri-1
I'm kind of suspicious about that stack and the fact that the change in question had any impact on it. I'm ok with a revert, but let's keep an eye on it so that we're sure that fixes the problem. 

+jbauman, since some of the patches in the range touch ResourceProvider as well. 
Ping. Should this be Pri-1? If so please assign a milestone.

Comment 4 by vmp...@chromium.org, Jun 18 2016

Status: Fixed (was: Untriaged)
This was reverted/changed/relanded. Please reopen if this is still an issue. 

Sign in to add a comment