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

Issue 628485 link

Starred by 2 users

Issue metadata

Status: WontFix
Owner: ----
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug



Sign in to add a comment

DrMemory handle leak in vp8cx_create_encoder_threads

Project Member Reported by thestig@chromium.org, Jul 15 2016

Issue description

Seen all over:
https://build.chromium.org/p/chromium.memory.fyi/builders/Windows%20Content%20Browser%20%28DrMemory%20full%29%20%285%29/builds/8556
https://build.chromium.org/p/chromium.memory.fyi/builders/Windows%20Content%20Browser%20%28DrMemory%20full%29%20%283%29/builds/7994
https://build.chromium.org/p/chromium.memory.fyi/builders/Windows%20Content%20Browser%20%28DrMemory%20full%29%20%282%29/builds/4109
https://build.chromium.org/p/chromium.memory.fyi/builders/Windows%20Content%20Browser%20%28DrMemory%20full%29%20%281%29/builds/8265

HANDLE LEAK: KERNEL handle 0x00000588 and 2 similar handle(s) were opened but not closed:
# 0 system call NtCreateSemaphore
# 1 KERNELBASE.dll!CreateSemaphoreExW                                         +0x5d     (0x76320eac <KERNELBASE.dll+0x10eac>)
# 2 KERNEL32.dll!CreateSemaphoreW                                             +0x1c     (0x760eca4f <KERNEL32.dll+0x2ca4f>)
# 3 content.dll!vp8cx_create_encoder_threads                                   [third_party\libvpx\source\libvpx\vp8\encoder\ethreading.c:572]
# 4 content.dll!vp8_create_compressor                                          [third_party\libvpx\source\libvpx\vp8\encoder\onyx_if.c:2111]
# 5 content.dll!vp8e_init                                                      [third_party\libvpx\source\libvpx\vp8\vp8_cx_iface.c:705]
# 6 content.dll!vpx_codec_enc_init_ver                                         [third_party\libvpx\source\libvpx\vpx\src\vpx_encoder.c:54]
# 7 content.dll!content::`anonymous namespace'::VpxEncoder::ConfigureEncoderOnEncodingTaskRunner [content\renderer\media\video_track_recorder.cc:750]
# 8 content.dll!content::`anonymous namespace'::VpxEncoder::EncodeOnEncodingTaskRunner [content\renderer\media\video_track_recorder.cc:625]
# 9 content.dll!base::internal::Invoker<>::Run                                 [base\bind_internal.h:324]
#10 base.dll!base::debug::TaskAnnotator::RunTask                               [base\debug\task_annotator.cc:51]
#11 base.dll!base::MessageLoop::RunTask                                        [base\message_loop\message_loop.cc:494]
#12 base.dll!base::MessageLoop::DeferOrRunPendingTask                          [base\message_loop\message_loop.cc:503]
#13 base.dll!base::MessageLoop::DoWork                                         [base\message_loop\message_loop.cc:627]
#14 base.dll!base::MessagePumpDefault::Run                                     [base\message_loop\message_pump_default.cc:35]
#15 base.dll!base::MessageLoop::RunHandler                                     [base\message_loop\message_loop.cc:457]
#16 base.dll!base::Thread::Run                                                 [base\threading\thread.cc:205]
#17 base.dll!base::Thread::ThreadMain                                          [base\threading\thread.cc:256]
#18 base.dll!base::`anonymous namespace'::ThreadFunc                           [base\threading\platform_thread_win.cc:83]
#19 KERNEL32.dll!BaseThreadInitThunk                                          +0x11     (0x760d337a <KERNEL32.dll+0x1337a>)
Note: @0:06:03.813 in thread 3008
Note: handles created with the same callstack are closed here:
Note: # 0 system call NtClose
Note: # 1 KERNELBASE.dll!CloseHandle                                               +0x2c     (0x7631c463 <KERNELBASE.dll+0xc463>)
Note: # 2 KERNEL32.dll!CloseHandle                                                 +0x27     (0x760d1418 <KERNEL32.dll+0x11418>)
Note: # 3 content.dll!vp8cx_remove_encoder_threads                                  [third_party\libvpx\source\libvpx\vp8\encoder\ethreading.c:660]
Note: # 4 content.dll!vp8_remove_compressor                                         [third_party\libvpx\source\libvpx\vp8\encoder\onyx_if.c:2496]
Note: # 5 content.dll!vp8e_destroy                                                  [third_party\libvpx\source\libvpx\vp8\vp8_cx_iface.c:727]
Note: # 6 content.dll!vpx_codec_destroy                                             [third_party\libvpx\source\libvpx\vpx\src\vpx_codec.c:91]
Note: # 7 content.dll!content::`anonymous namespace'::VpxCodecDeleter::operator()   [content\renderer\media\video_track_recorder.cc:221]
Note: # 8 content.dll!content::`anonymous namespace'::VpxEncoder::ShutdownEncoder   [content\renderer\media\video_track_recorder.cc:597]
Note: # 9 content.dll!base::internal::Invoker<>::RunImpl<>                          [base\bind_internal.h:346]
Note: #10 content.dll!base::internal::Invoker<>::Run                                [base\bind_internal.h:324]
Note: #11 base.dll!base::debug::TaskAnnotator::RunTask                              [base\debug\task_annotator.cc:51]
Note: #12 scheduler.dll!scheduler::TaskQueueManager::ProcessTaskFromWorkQueue       [components\scheduler\base\task_queue_manager.cc:315]
Note: #13 scheduler.dll!scheduler::TaskQueueManager::DoWork                         [components\scheduler\base\task_queue_manager.cc:218]
Note: #14 scheduler.dll!base::internal::Invoker<>::RunImpl<>                        [base\bind_internal.h:346]
Note: #15 scheduler.dll!base::internal::Invoker<>::Run                              [base\bind_internal.h:324]
Note: #16 base.dll!base::debug::TaskAnnotator::RunTask                              [base\debug\task_annotator.cc:51]
Note: #17 base.dll!base::MessageLoop::RunTask                                       [base\message_loop\message_loop.cc:494]
Note: #18 base.dll!base::MessageLoop::DeferOrRunPendingTask                         [base\message_loop\message_loop.cc:503]
Note: #19 base.dll!base::MessageLoop::DoWork                                        [base\message_loop\message_loop.cc:627]
Note: #20 base.dll!base::MessagePumpDefault::Run                                    [base\message_loop\message_pump_default.cc:35]
Note: #21 base.dll!base::MessageLoop::RunHandler                                    [base\message_loop\message_loop.cc:457]
Note: #22 content.dll!content::RendererMain                                         [content\renderer\renderer_main.cc:198]
Note: #23 content.dll!content::RunNamedProcessTypeMain                              [content\app\content_main_runner.cc:418]
Note: #24 content.dll!content::ContentMainRunnerImpl::Run                           [content\app\content_main_runner.cc:785]
Note: #25 content.dll!content::ContentMain                                          [content\app\content_main.cc:20]
Note: #26 content::LaunchTests                                                      [content\public\test\test_launcher.cc:523]
Note: #27 main                                                                      [content\test\content_test_launcher.cc:131]
The report came from the `WebRtcCaptureFromElementBrowserTest.CaptureFromMediaElement/2` test.
Suppression (error hash=#2879E53FD12E6576#):
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 NtCreateSemaphore
KERNELBASE.dll!CreateSemaphoreExW
KERNEL32.dll!CreateSemaphoreW
content.dll!vp8cx_create_encoder_threads
content.dll!vp8_create_compressor
content.dll!vp8e_init
content.dll!vpx_codec_enc_init_ver
content.dll!content::`anonymous namespace'::VpxEncoder::ConfigureEncoderOnEncodingTaskRunner
content.dll!content::`anonymous namespace'::VpxEncoder::EncodeOnEncodingTaskRunner
content.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::Thread::Run
base.dll!base::Thread::ThreadMain
base.dll!base::`anonymous namespace'::ThreadFunc
KERNEL32.dll!BaseThreadInitThunk
}

 
Project Member

Comment 1 by bugdroid1@chromium.org, Jul 15 2016

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

commit 414327a29421fb95c1bf7987eac723bbb896e4a3
Author: thestig <thestig@chromium.org>
Date: Fri Jul 15 04:22:53 2016

DrMemory: Suppress a leak in vp8cx_create_encoder_threads().

BUG= 628485 
NOTRY=true
TBR=isheriff@chromium.org

Review-Url: https://codereview.chromium.org/2155593002
Cr-Commit-Position: refs/heads/master@{#405695}

[modify] https://crrev.com/414327a29421fb95c1bf7987eac723bbb896e4a3/tools/valgrind/drmemory/suppressions_full.txt

Comment 2 by mcasas@chromium.org, Jul 29 2016

Cc: mcasas@chromium.org tomfinegan@chromium.org
Components: -Blink>WebRTC Blink>MediaStream>Recording
tomfinegan@ does this ring a bell (sounds vaguely familiar).
Cc: johannkoenig@chromium.org jzern@chromium.org
mcasas: not specifically, no. There was a non-specific warning about possible issues with the 1.6 roll into chromium... So:

+cc jzern,johannkoenig

Is this what I was warned about re possible issues with the 1.6 release being rolled into chromium?
Cc: jimbankoski@chromium.org yaowu@chromium.org
Hmm that's weird. But no, not a known issues from the release notes. When exactly did this show up?

Jim and Yaowu, there have been some changes to the vp8 threading. Anything that might cause this?

Comment 5 by jzern@chromium.org, Aug 4 2016

I didn't check, but it's possible it's related to the revert that webrtc pushed for:
https://chromium-review.googlesource.com/#/c/360630/

Comment 6 by guidou@chromium.org, Nov 16 2016

Status: WontFix (was: Untriaged)
I'm closing assuming this is no longer valid. Please reopen if necessary.

Comment 7 by mcasas@chromium.org, Jan 18 2017

Components: Blink>MediaRecording

Comment 8 by mcasas@chromium.org, Jan 18 2017

Components: -Blink>MediaStream>Recording

Sign in to add a comment