New issue
Advanced search Search tips

Issue 850909 link

Starred by 2 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 2
Type: Bug



Sign in to add a comment

WebRTC video encoding init DCHECK hit: Waiting on a //base sync primitive on disallowed thread

Project Member Reported by grunell@chromium.org, Jun 8 2018

Issue description

DCHECKs were enabled on Chromium WebRTC bots in this CL: https://chromium-review.googlesource.com/c/chromium/src/+/1065733

It caused the following failure:

[1548:2000:0608/040235.241:FATAL:thread_restrictions.cc(105)] Check failed: !g_base_sync_primitives_disallowed.Get().Get(). Waiting on a //base sync primitive is not allowed on this thread to prevent jank and deadlock. If waiting on a //base sync primitive is unavoidable, do it within the scope of a ScopedAllowBaseSyncPrimitives. If in a test, use ScopedAllowBaseSyncPrimitivesForTesting.

Backtrace:
base::debug::StackTrace::StackTrace [0x036808A0+32]
base::debug::StackTrace::StackTrace [0x0368005D+13]
logging::LogMessage::~LogMessage [0x0369A6C3+83]
base::internal::AssertBaseSyncPrimitivesAllowed [0x036E5FB9+105]
base::WaitableEvent::Wait [0x036DDC32+34]
content::RTCVideoEncoder::InitEncode [0x06A186F3+833]
webrtc::VideoEncoderSoftwareFallbackWrapper::InitEncode [0x06A1B775+145]
webrtc::VCMGenericEncoder::InitEncode [0x073B314B+315]
webrtc::VCMEncoderDataBase::SetSendCodec [0x073B4B01+477]
webrtc::vcm::VideoSender::RegisterSendCodec [0x07373243+87]
webrtc::VideoStreamEncoder::ReconfigureEncoder [0x072B2344+1084]
webrtc::VideoStreamEncoder::MaybeEncodeVideoFrame [0x072B2F21+409]
webrtc::VideoStreamEncoder::VideoSourceProxy::ResetPixelFpsCount [0x072B56D1+697]
rtc::TaskQueue::Impl::RunTask [0x0289F079+101]
base::internal::FunctorTraits<void (__thiscall media::cast::LogEventDispatcher::Impl::*)(std::unique_ptr<media::cast::FrameEvent,std::default_delete<media::cast::FrameEvent> >)const ,void>::Invoke<void (__thiscall media::cast::LogEventDispatcher::Impl::*) [0x02317305+47]
base::internal::Invoker<base::internal::BindState<void (__thiscall rtc::TaskQueue::Impl::*)(std::unique_ptr<rtc::QueuedTask,std::default_delete<rtc::QueuedTask> >),scoped_refptr<rtc::TaskQueue::Impl>,base::internal::PassedWrapper<std::unique_ptr<rtc::Queu [0x0289F4BD+53]
base::debug::TaskAnnotator::RunTask [0x036810C4+308]
base::internal::TaskTracker::RunOrSkipTask [0x0461B66E+670]
base::internal::TaskTracker::RunAndPopNextTask [0x0461AB8D+413]
base::internal::SchedulerWorker::RunWorker [0x0635EC49+409]
base::internal::SchedulerWorker::RunPooledWorker [0x0635E98C+28]
base::PlatformThread::GetCurrentThreadPriority [0x036E2C35+469]
BaseThreadInitThunk [0x75177C04+36]
RtlInitializeExceptionChain [0x7705B54F+143]
RtlInitializeExceptionChain [0x7705B51A+90]

https://chromium-swarm.appspot.com/task?id=3df78ceb95aca510
https://chromium-swarm.appspot.com/task?id=3df7deb5bb925e10

Erik, can you re-assign as appropriate?
 
Description: Show this description

Comment 2 by sprang@chromium.org, Jun 12 2018

Cc: sprang@chromium.org
Owner: emir...@chromium.org
I don't know this code very well. emircan@ can you have a look or reassign?
 Issue 918043  has been merged into this issue.

Sign in to add a comment