Handle leak in content::BrowserGpuMemoryBufferManager. |
||||
Issue descriptionDr. Memory reports that content::BrowserGpuMemoryBufferManager is leaking handles allocate through content::GpuMemoryBufferImplSharedMemory::Create: https://build.chromium.org/p/chromium.memory.fyi/builders/Windows%20Browser%20%28DrMemory%20full%29%20%288%29/builds/5164 HANDLE LEAK: KERNEL handle 0x00000d98 and 3 similar handle(s) were opened but not closed: # 0 system call NtDuplicateObject # 1 KERNELBASE.dll!DuplicateHandle +0x68 (0x750dc4e7 <KERNELBASE.dll+0xc4e7>) # 2 KERNEL32.dll!DuplicateHandle +0x4b (0x768a18b2 <KERNEL32.dll+0x118b2>) # 3 base.dll!`anonymous namespace'::CreateFileMappingWithReducedPermissions [base\memory\shared_memory_win.cc:92] # 4 base.dll!base::SharedMemory::Create [base\memory\shared_memory_win.cc:225] # 5 base.dll!base::SharedMemory::CreateAndMapAnonymous [base\memory\shared_memory_win.cc:183] # 6 content.dll!content::GpuMemoryBufferImplSharedMemory::Create [content\common\gpu\client\gpu_memory_buffer_impl_shared_memory.cc:52] # 7 content.dll!content::BrowserGpuMemoryBufferManager::HandleCreateGpuMemoryBufferOnIO [content\browser\gpu\browser_gpu_memory_buffer_manager.cc:501] # 8 content.dll!base::internal::Invoker<>::Run [base\bind_internal.h:352] # 9 base.dll!base::debug::TaskAnnotator::RunTask [base\debug\task_annotator.cc:51] #10 base.dll!base::MessageLoop::RunTask [base\message_loop\message_loop.cc:476] #11 base.dll!base::MessageLoop::DeferOrRunPendingTask [base\message_loop\message_loop.cc:485] #12 base.dll!base::MessageLoop::DoWork [base\message_loop\message_loop.cc:597] #13 base.dll!base::MessagePumpForIO::DoRunLoop [base\message_loop\message_pump_win.cc:485] #14 base.dll!base::MessageLoop::RunHandler [base\message_loop\message_loop.cc:440] #15 base.dll!base::MessageLoop::Run [base\message_loop\message_loop.cc:293] #16 base.dll!base::Thread::Run [base\threading\thread.cc:202] #17 content.dll!content::BrowserThreadImpl::IOThreadRun [content\browser\browser_thread_impl.cc:215] #18 content.dll!content::BrowserThreadImpl::Run [content\browser\browser_thread_impl.cc:251] #19 base.dll!base::Thread::ThreadMain [base\threading\thread.cc:254] #20 base.dll!base::`anonymous namespace'::ThreadFunc [base\threading\platform_thread_win.cc:84] #21 KERNEL32.dll!BaseThreadInitThunk +0x11 (0x768a337a <KERNEL32.dll+0x1337a>) Note: @0:05:49.327 in thread 2696 Note: handles created with the same callstack are closed here: Note: # 0 system call NtClose Note: # 1 KERNELBASE.dll!CloseHandle +0x2c (0x750dc463 <KERNELBASE.dll+0xc463>) Note: # 2 KERNEL32.dll!CloseHandle +0x27 (0x768a1418 <KERNEL32.dll+0x11418>) Note: # 3 base.dll!base::SharedMemory::Close [base\memory\shared_memory_win.cc:339] Note: # 4 cc.dll!cc::OneCopyTileTaskWorkerPool::StagingBuffer::~StagingBuffer [cc\raster\one_copy_tile_task_worker_pool.cc:125] Note: # 5 cc.dll!cc::OneCopyTileTaskWorkerPool::ReduceMemoryUsage [cc\raster\one_copy_tile_task_worker_pool.cc:693] Note: # 6 cc.dll!base::internal::Invoker<>::Run [base\bind_internal.h:352] Note: # 7 base.dll!base::debug::TaskAnnotator::RunTask [base\debug\task_annotator.cc:51] Note: # 8 base.dll!base::MessageLoop::RunTask [base\message_loop\message_loop.cc:476] Note: # 9 base.dll!base::MessageLoop::DeferOrRunPendingTask [base\message_loop\message_loop.cc:485] Note: #10 base.dll!base::MessageLoop::DoDelayedWork [base\message_loop\message_loop.cc:635] Note: #11 base.dll!base::MessagePumpForUI::DoRunLoop [base\message_loop\message_pump_win.cc:172] Note: #12 base.dll!base::MessageLoop::RunHandler [base\message_loop\message_loop.cc:440] Note: #13 content::RunThisRunLoop [content\public\test\test_utils.cc:137] Note: #14 content::RunAllPendingInMessageLoop [content\public\test\test_utils.cc:146] Note: #15 InProcessBrowserTest::RunTestOnMainThreadLoop [chrome\test\base\in_process_browser_test.cc:514] Note: #16 content::BrowserTestBase::ProxyRunTestOnMainThreadLoop [content\public\test\browser_test_base.cc:309] Note: #17 ChromeBrowserMainParts::PreMainMessageLoopRunImpl [chrome\browser\chrome_browser_main.cc:1770] Note: #18 ChromeBrowserMainParts::PreMainMessageLoopRun [chrome\browser\chrome_browser_main.cc:1144] Note: #19 content.dll!content::BrowserMainLoop::PreMainMessageLoopRun [content\browser\browser_main_loop.cc:941] Note: #20 content.dll!base::internal::Invoker<>::Run [base\bind_internal.h:352] Note: #21 content.dll!content::StartupTaskRunner::RunAllTasksNow [content\browser\startup_task_runner.cc:45] Note: #22 content.dll!content::BrowserMainLoop::CreateStartupTasks [content\browser\browser_main_loop.cc:816] Note: #23 content.dll!content::BrowserMainRunnerImpl::Initialize [content\browser\browser_main_runner.cc:137] Note: #24 content.dll!content::BrowserMain [content\browser\browser_main.cc:40] Note: #25 content.dll!content::RunNamedProcessTypeMain [content\app\content_main_runner.cc:398] Note: #26 content.dll!content::ContentMainRunnerImpl::Run [content\app\content_main_runner.cc:769] Note: #27 content.dll!content::ContentMain [content\app\content_main.cc:19] Note: #28 content::BrowserTestBase::SetUp [content\public\test\browser_test_base.cc:282] Note: #29 InProcessBrowserTest::SetUp [chrome\test\base\in_process_browser_test.cc:255] Note: #30 testing::internal::HandleExceptionsInMethodIfSupported<> [testing\gtest\src\gtest.cc:2458] The report came from the `StreamsPrivateApiTest.NavigateToAnAttachment` test.
,
Nov 2 2016
,
Feb 16 2017
,
Feb 16 2017
reveman@ could you please take a look?
,
Feb 17 2017
hm, there must be some case where we leak StagingBuffers as I can't see how we fail to free this otherwise. |
||||
►
Sign in to add a comment |
||||
Comment 1 by bugdroid1@chromium.org
, Mar 15 2016