New issue
Advanced search Search tips

Issue 613711 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

FFmpegDemuxer weak pointer factory hits a DCHECK

Project Member Reported by w...@chromium.org, May 20 2016

Issue description

I saw this on Android, while running a test page that infinitely creates and destroys video elements (http://jsfiddle.net/r7y38zdj/7/). Only saw it once after a lot of testing so it happens super infrequently.

[FATAL:weak_ptr.cc(20)] Check failed: sequence_checker_.CalledOnValidSequencedThread() || HasOneRef(). WeakPtrs must be invalidated on the same sequenced thread.

Stack Trace:
  RELADDR   FUNCTION                                           FILE:LINE
  000e112b  logging::LogMessage::~LogMessage()                 /s/c/src/base/logging.cc:524
  000eae7f  base::internal::WeakReference::Flag::Invalidate()  /s/c/src/base/memory/weak_ptr.cc:20
  000eb103  base::internal::WeakReferenceOwner::Invalidate()   /s/c/src/base/memory/weak_ptr.cc:64

-----------------------------------------------------

     r0 00000000  r1 00005a4e  r2 00000006  r3 a0c9f978
     r4 a0c9f980  r5 a0c9f930  r6 00000002  r7 0000010c
     r8 48c0819d  r9 92e32f90  sl 92e32024  fp a0c9decc
     ip 00000006  sp a0c9d090  lr b6d5db61  pc b6d5ff50

Stack Trace:
  RELADDR   FUNCTION                                                                                                                                                        FILE:LINE
  00041f50  tgkill+12                                                                                                                                                       /system/lib/libc.so
  0003fb5d  pthread_kill+32                                                                                                                                                 /system/lib/libc.so
  0001c30f  raise+10                                                                                                                                                        /system/lib/libc.so
  000194c1  __libc_android_abort+34                                                                                                                                         /system/lib/libc.so
  000174ac  abort+4                                                                                                                                                         /system/lib/libc.so
  000acecd  DebugBreak                                                                                                                                                      /s/c/src/base/debug/debugger_posix.cc:219
  000acee3  base::debug::BreakDebugger()                                                                                                                                    /s/c/src/base/debug/debugger_posix.cc:249
  000e18f7  logging::LogMessage::~LogMessage()                                                                                                                              /s/c/src/base/logging.cc:740
  000eae7d  base::internal::WeakReference::Flag::Invalidate()                                                                                                               /s/c/src/base/memory/weak_ptr.cc:20
  000eb101  base::internal::WeakReferenceOwner::Invalidate()                                                                                                                /s/c/src/base/memory/weak_ptr.cc:64
  000eb06b  base::internal::WeakReferenceOwner::~WeakReferenceOwner()                                                                                                       /s/c/src/base/memory/weak_ptr.cc:51
  000a6f9b  base::WeakPtrFactory<media::CdmAdapter>::~WeakPtrFactory()                                                                                                      /s/c/src/base/memory/weak_ptr.h:285
  0019f2d1  media::FFmpegDemuxer::~FFmpegDemuxer()                                                                                                                          /s/c/src/media/filters/ffmpeg_demuxer.cc:789
  0019f3e7  media::FFmpegDemuxer::~FFmpegDemuxer()                                                                                                                          /s/c/src/media/filters/ffmpeg_demuxer.cc:789
  v------>  std::__1::default_delete<media::Demuxer>::operator()(media::Demuxer*) const                                                                                     /s/c/src/third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2431
  v------>  std::__1::unique_ptr<media::Demuxer, std::__1::default_delete<media::Demuxer> >::reset(media::Demuxer*)                                                         /s/c/src/third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2630
  v------>  std::__1::unique_ptr<media::Demuxer, std::__1::default_delete<media::Demuxer> >::~unique_ptr()                                                                  /s/c/src/third_party/android_tools/ndk/sources/cxx-stl/llvm-libc++/libcxx/include/memory:2598
  00078725  media::WebMediaPlayerImpl::~WebMediaPlayerImpl()                                                                                                                /s/c/src/media/blink/webmediaplayer_impl.cc:232
  000788cf  media::WebMediaPlayerImpl::~WebMediaPlayerImpl()                                                                                                                /s/c/src/media/blink/webmediaplayer_impl.cc:263
  0035ee69  WTF::OwnedPtrDeleter<blink::DOMObjectHolderBase>::deletePtr(blink::DOMObjectHolderBase*)                                                                        /s/c/src/third_party/WebKit/Source/wtf/OwnPtrCommon.h:54
  003c4a8b  WTF::OwnPtr<blink::ThreadDebugger>::clear()                                                                                                                     /s/c/src/third_party/WebKit/Source/wtf/OwnPtr.h:109
  0085dff9  blink::HTMLMediaElement::clearMediaPlayerAndAudioSourceProviderClientWithoutLocking()                                                                           /s/c/src/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp:3123
  0085f445  blink::HTMLMediaElement::resetMediaPlayerAndMediaSource()                                                                                                       /s/c/src/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp:3520
  00854c2b  blink::HTMLMediaElement::invokeLoadAlgorithm()                                                                                                                  /s/c/src/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp:754
  00854087  blink::HTMLMediaElement::parseAttribute(blink::QualifiedName const&, WTF::AtomicString const&, WTF::AtomicString const&)                                        /s/c/src/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp:542
  0089978d  blink::HTMLVideoElement::parseAttribute(blink::QualifiedName const&, WTF::AtomicString const&, WTF::AtomicString const&)                                        /s/c/src/third_party/WebKit/Source/core/html/HTMLVideoElement.cpp:137
  006c4d5b  blink::Element::attributeChanged(blink::QualifiedName const&, WTF::AtomicString const&, WTF::AtomicString const&, blink::Element::AttributeModificationReason)  /s/c/src/third_party/WebKit/Source/core/dom/Element.cpp:1154
  006cc817  blink::Element::didModifyAttribute(blink::QualifiedName const&, WTF::AtomicString const&, WTF::AtomicString const&)                                             /s/c/src/third_party/WebKit/Source/core/dom/Element.cpp:3205
  006c4c59  blink::Element::setAttributeInternal(unsigned int, blink::QualifiedName const&, WTF::AtomicString const&, blink::Element::SynchronizationOfLazyAttribute)       /s/c/src/third_party/WebKit/Source/core/dom/Element.cpp:1132
  006c4af1  blink::Element::setAttribute(blink::QualifiedName const&, WTF::AtomicString const&)                                                                             /s/c/src/third_party/WebKit/Source/core/dom/Element.cpp:1101
  0040060b  srcAttributeSetter                                                                                                                                              /s/c/src/out/a/gen/blink/bindings/core/v8/V8HTMLEmbedElement.cpp:62
  004006bf  srcAttributeSetterCallback                                                                                                                                      /s/c/src/out/a/gen/blink/bindings/core/v8/V8HTMLEmbedElement.cpp:69
  00008964                                                                                                                                                                  <unknown>

 
Cc: jrumm...@chromium.org xhw...@chromium.org
+xhwang, jrummell this is in the cdmadapter's WeakPtr factory.

Comment 2 by xhw...@chromium.org, May 20 2016

I don't see any way for FFmpegDemuxer to call into CdmAdapter. Also we are not using CdmAdapter in prod yet. I suspect the callstack is bogus.
Hmm, I wonder what weakptr might be going wrong here. I don't see anyway for the one in FffmpegDemuxer to go bad.
Project Member

Comment 4 by sheriffbot@chromium.org, May 22 2017

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available. If you change it back, also remove the "Hotlist-Recharge-Cold" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: -xhw...@chromium.org
Labels: Stale
Owner: xhw...@chromium.org
Status: Assigned (was: Untriaged)
this bug has been stale for > one year. 
xhwang@, Do you want to keep it? 
If not, please go ahead resolve it as won't fix. 
thanks
Labels: -Stale StaleAssigned
Labels: StaleClosed
Status: WontFix (was: Assigned)
this bug has been stale for > 1 year. resolve them as won't fix.
StaleClosed label is added. if the bug owner want to keep it, please r-activate an assign appropriately.

Sign in to add a comment