Chrome Version: 72.0.3593.0 (Developer Build (64-bit)
OS: Linux
What steps will reproduce the problem?
(1) Go to https://beaufortfrancois.github.io/sandbox/media/picture-in-picture-playground with surfaces enabled.
(2) Spam the "Toggle Media Streams" Button
What is the expected result?
Playback should switch between the two videos.
What happens instead?
One of two things will happen. Either eventually neither video will show up, and one will just see a blank space, or we will get a crash (I believe it happens when we go from Media Stream to Video, but not too sure)
[1:15:1026/144842.086265:FATAL:lock_impl_posix.cc(103)] Check failed: rv == 0 (35 vs. 0). Resource deadlock avoided.
#0 0x7fdedc199b7d base::debug::StackTrace::StackTrace()
#1 0x7fdedbe9c71a base::debug::StackTrace::StackTrace()
#2 0x7fdedbf0888e logging::LogMessage::~LogMessage()
#3 0x7fdedc1c4882 base::internal::LockImpl::Lock()
#4 0x7fded306b8d3 base::Lock::Acquire()
#5 0x7fded306b863 base::AutoLock::AutoLock()
#6 0x7fded62f1651 content::WebMediaPlayerMSCompositor::GetCurrentFrame()
#7 0x7fdeb1b357d4 blink::VideoFrameSubmitter::SubmitSingleFrame()
#8 0x7fdeb1b3516e blink::VideoFrameSubmitter::UpdateSubmissionStateInternal()
#9 0x7fdeb1b350e3 blink::VideoFrameSubmitter::SetIsOpaque()
#10 0x7fded62f2f96 content::WebMediaPlayerMSCompositor::CheckForFrameChanges()
#11 0x7fded62f29a5 content::WebMediaPlayerMSCompositor::SetCurrentFrame()
#12 0x7fded62f2aa0 content::WebMediaPlayerMSCompositor::RenderWithoutAlgorithmOnCompositor()
#13 0x7fded42ce20f _ZN4base8internal13FunctorTraitsIMN7content19AppCacheInternalsUI5ProxyEFvRK13scoped_refptrINS2_21ChromeAppCacheServiceEEEvE6InvokeISB_S5_IS4_EJS7_EEEvT_OT0_DpOT1_
#14 0x7fded42cf8df _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIMN7content19AppCacheInternalsUI5ProxyEFvRKNS6_15ResponseEnquiryEEJ13scoped_refptrIS6_ES7_EEEvOT_DpOT0_
#15 0x7fded62f6abd _ZN4base8internal7InvokerINS0_9BindStateIMN7content26WebMediaPlayerMSCompositorEFvRK13scoped_refptrIN5media10VideoFrameEEEJS5_IS4_ES8_EEEFvvEE7RunImplISC_NSt3__15tupleIJSD_S8_EEEJLm0ELm1EEEEvOT_OT0_NSI_16integer_sequenceImJXspT1_EEEE
#16 0x7fded62f69c9 _ZN4base8internal7InvokerINS0_9BindStateIMN7content26WebMediaPlayerMSCompositorEFvRK13scoped_refptrIN5media10VideoFrameEEEJS5_IS4_ES8_EEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#17 0x7fdedbe4e57e _ZNO4base12OnceCallbackIFvvEE3RunEv
#18 0x7fdedbe9dc4a base::debug::TaskAnnotator::RunTask()
#19 0x7fdedc0c035d base::internal::TaskTracker::RunOrSkipTask()
#20 0x7fdedc1cf2b5 base::internal::TaskTrackerPosix::RunOrSkipTask()
#21 0x7fdedc0be1cd base::internal::TaskTracker::RunAndPopNextTask()
#22 0x7fdedc0a43f4 base::internal::SchedulerWorker::RunWorker()
#23 0x7fdedc0a3bdc base::internal::SchedulerWorker::RunSharedWorker()
#24 0x7fdedc0a3add base::internal::SchedulerWorker::ThreadMain()
#25 0x7fdedc1d050d base::(anonymous namespace)::ThreadFunc()
#26 0x7fdeabc32494 start_thread
#27 0x7fdeaa427a8f clone
Comment 1 by mlamouri@chromium.org
, Nov 1