DCHECK in pipeline_impl.cc when opening an embed YouTube in a new tab |
|||||||
Issue descriptionThis happens to me on trunk today (2 out of 3 times I tried). 1. Open http://avayvod.github.io/mediaplaybacktest.html 2. Click on the YouTube video at the bottom to play 3. Click on the YouTube button in the video controls to open the video in a new tab in the main frame. 4. Wait. The logs show the following: [1:10:1202/144147.632493:FATAL:pipeline_impl.cc(547)] Check failed: !renderer_ended_. #0 0x7f84a2e0385e base::debug::StackTrace::StackTrace() #1 0x7f84a2e7059f logging::LogMessage::~LogMessage() #2 0x7f849a060562 media::PipelineImpl::RendererWrapper::OnEnded() #3 0x7f8499ea71dd media::RendererImpl::RunEndedCallbackIfNeeded() #4 0x7f8499ea6fb8 media::RendererImpl::OnRendererEnded() #5 0x7f8499ea872f media::RendererImpl::RendererClientInternal::OnEnded() #6 0x7f8499eb7a21 media::VideoRendererImpl::OnPlaybackEnded() #7 0x7f8499d82977 _ZN4base8internal13FunctorTraitsIMN5media13DecoderStreamILNS2_13DemuxerStream4TypeE1EEEFvvEvE6InvokeIRKNS_7WeakPtrIS6_EEJEEEvS8_OT_DpOT0_ #8 0x7f8499ebb6aa _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN5media17VideoRendererImplEFvvERKNS_7WeakPtrIS5_EEJEEEvOT_OT0_DpOT1_ #9 0x7f8499ebb632 _ZN4base8internal7InvokerINS0_9BindStateIMN5media17VideoRendererImplEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #10 0x7f8499ebb57c _ZN4base8internal7InvokerINS0_9BindStateIMN5media17VideoRendererImplEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE #11 0x7f84a2e09671 _ZNO4base8internal8RunMixinINS_8CallbackIFvvELNS0_8CopyModeE0ELNS0_10RepeatModeE0EEEE3RunEv #12 0x7f84a2e09042 base::debug::TaskAnnotator::RunTask() #13 0x7f84a2e997ba base::MessageLoop::RunTask() #14 0x7f84a2e99a44 base::MessageLoop::DeferOrRunPendingTask() #15 0x7f84a2e99d2e base::MessageLoop::DoWork() #16 0x7f84a2eb1683 base::MessagePumpDefault::Run() #17 0x7f84a2e9933a base::MessageLoop::RunHandler() #18 0x7f84a2f45f12 base::RunLoop::Run() #19 0x7f84a2fedfa8 base::Thread::Run() #20 0x7f84a2fee8ea base::Thread::ThreadMain() #21 0x7f84a2fd5c3a base::(anonymous namespace)::ThreadFunc() #22 0x7f84a324d184 start_thread #23 0x7f848f8f537d clone Received signal 6 #0 0x7f84a2e0385e base::debug::StackTrace::StackTrace() #1 0x7f84a2e0339f base::debug::(anonymous namespace)::StackDumpSignalHandler() #2 0x7f84a3255330 <unknown> #3 0x7f848f831c37 gsignal #4 0x7f848f835028 abort #5 0x7f84a2dffc76 base::debug::(anonymous namespace)::DebugBreak() #6 0x7f84a2dffc58 base::debug::BreakDebugger() #7 0x7f84a2e708ed logging::LogMessage::~LogMessage() #8 0x7f849a060562 media::PipelineImpl::RendererWrapper::OnEnded() #9 0x7f8499ea71dd media::RendererImpl::RunEndedCallbackIfNeeded() #10 0x7f8499ea6fb8 media::RendererImpl::OnRendererEnded() #11 0x7f8499ea872f media::RendererImpl::RendererClientInternal::OnEnded() #12 0x7f8499eb7a21 media::VideoRendererImpl::OnPlaybackEnded() #13 0x7f8499d82977 _ZN4base8internal13FunctorTraitsIMN5media13DecoderStreamILNS2_13DemuxerStream4TypeE1EEEFvvEvE6InvokeIRKNS_7WeakPtrIS6_EEJEEEvS8_OT_DpOT0_ #14 0x7f8499ebb6aa _ZN4base8internal12InvokeHelperILb1EvE8MakeItSoIRKMN5media17VideoRendererImplEFvvERKNS_7WeakPtrIS5_EEJEEEvOT_OT0_DpOT1_ #15 0x7f8499ebb632 _ZN4base8internal7InvokerINS0_9BindStateIMN5media17VideoRendererImplEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE7RunImplIRKS6_RKSt5tupleIJS8_EEJLm0EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #16 0x7f8499ebb57c _ZN4base8internal7InvokerINS0_9BindStateIMN5media17VideoRendererImplEFvvEJNS_7WeakPtrIS4_EEEEEFvvEE3RunEPNS0_13BindStateBaseE #17 0x7f84a2e09671 _ZNO4base8internal8RunMixinINS_8CallbackIFvvELNS0_8CopyModeE0ELNS0_10RepeatModeE0EEEE3RunEv #18 0x7f84a2e09042 base::debug::TaskAnnotator::RunTask() #19 0x7f84a2e997ba base::MessageLoop::RunTask() #20 0x7f84a2e99a44 base::MessageLoop::DeferOrRunPendingTask() #21 0x7f84a2e99d2e base::MessageLoop::DoWork() #22 0x7f84a2eb1683 base::MessagePumpDefault::Run() #23 0x7f84a2e9933a base::MessageLoop::RunHandler() #24 0x7f84a2f45f12 base::RunLoop::Run() #25 0x7f84a2fedfa8 base::Thread::Run() #26 0x7f84a2fee8ea base::Thread::ThreadMain() #27 0x7f84a2fd5c3a base::(anonymous namespace)::ThreadFunc() #28 0x7f84a324d184 start_thread #29 0x7f848f8f537d clone r8: 00007f847af431a0 r9: 00007f848f94ba00 r10: 0000000000000008 r11: 0000000000000202 r12: 0000000000000000 r13: 0000000000000000 r14: 00007f847af479c0 r15: 00007f847af47700 di: 0000000000000001 si: 000000000000000a bp: 00007f847af43570 bx: 0000000000000000 dx: 0000000000000006 ax: 0000000000000000 cx: ffffffffffffffff sp: 00007f847af43438 ip: 00007f848f831c37 efl: 0000000000000202 cgf: 0000000000000033 erf: 0000000000000000 trp: 0000000000000000 msk: 0000000000000000 cr2: 0000000000000000 [end of stack trace]
,
Dec 5 2016
I am unable to reproduce this with the YouTube embed documentation page (provided test case is not valid anymore). Actual observable effects of receiving OnEnded() twice are probably minimal. I'd like to get a reproduction before patching around the issue so that I can understand it better.
,
Dec 5 2016
,
Dec 6 2016
I can reproduce now by opening the http://avayvod.github.io/mediaplaybacktest.html and some other tab (e.g. chrome://flags) and then switching back and forth between the two tabs - the mediaplaybacktest.html crashes after switching away from it for the second time. Switching between Chrome and another app so Chrome becomes invisible doesn't seem to reproduce. And I can only reproduce with --enable-features=BackgroundVideoTrackOptimization now.
,
Dec 7 2016
Seems like it's a "race" issue when I background the video twice fast and it doesn't reset renderer_ended_ while it's in the foreground.
,
Dec 7 2016
Actually, not a race issue. Logging shows that Resume() is not called for the PipelineImpl when the video is foregrounded even though visually it starts playing again when the video track is selected. OnPlaybackEnded() is called though when the video is backgrounded and we deselect the video track.
,
Oct 18 2017
Assigning all my bugs to Mounir for him to triage and close/reassign later.
,
Oct 30 2017
,
Oct 30 2017
Doesn't reproduce; feel free to reopen if someone sees this again. |
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by dalecur...@chromium.org
, Dec 2 2016Owner: sande...@chromium.org
Status: Assigned (was: Untriaged)