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

Issue 876520 link

Starred by 1 user

Issue metadata

Status: Duplicate
Owner:
Closed: Oct 25
Cc:
Components:
EstimatedDays: ----
NextAction: 2018-10-05
OS: ----
Pri: 1
Type: Bug



Sign in to add a comment

"Unified Plan" Hangouts call causes crash in transceiver_state_surfacer.cc

Project Member Reported by hbos@chromium.org, Aug 21

Issue description

Using --enable-blink-features=RTCUnifiedPlanByDefault, setup a call between two tabs on https://hangouts.google.com/.

The call will not be successful due to Plan B SDP usage:
"Uncaught (in promise) InvalidAccessError: Failed to set remote answer sdp: Media section has more than one track specified with a=ssrc lines which is not supported with Unified Plan."

But it does not just fail, setLocalDescription() crashes:

[0821/145126.472150:FATAL:transceiver_state_surfacer.cc(75)] Check failed: sender_track_ref. 
0   libbase.dylib                       0x0000000105932f4e base::debug::StackTrace::StackTrace(unsigned long) + 174
1   libbase.dylib                       0x000000010593300d base::debug::StackTrace::StackTrace(unsigned long) + 29
2   libbase.dylib                       0x00000001055098fc base::debug::StackTrace::StackTrace() + 28
3   libbase.dylib                       0x000000010558566c logging::LogMessage::~LogMessage() + 460
4   libbase.dylib                       0x0000000105583265 logging::LogMessage::~LogMessage() + 21
5   libcontent.dylib                    0x0000000129bbf99d content::TransceiverStateSurfacer::Initialize(scoped_refptr<content::WebRtcMediaStreamTrackAdapterMap>, std::__1::vector<rtc::scoped_refptr<webrtc::RtpTransceiverInterface>, std::__1::allocator<rtc::scoped_refptr<webrtc::RtpTransceiverInterface> > >) + 2125
6   libcontent.dylib                    0x0000000129c0284f content::WebRtcSetDescriptionObserverHandlerImpl::OnSetDescriptionComplete(webrtc::RTCError) + 2799
7   libcontent.dylib                    0x0000000129c031e4 content::WebRtcSetLocalDescriptionObserverHandler::OnSuccess() + 68
8   libcontent.dylib                    0x000000012b07c0cf webrtc::PeerConnection::OnMessage(rtc::Message*) + 175
9   libcontent.dylib                    0x000000012b46eae5 jingle_glue::JingleThreadWrapper::Dispatch(rtc::Message*) + 341
10  libcontent.dylib                    0x000000012b470217 jingle_glue::JingleThreadWrapper::RunTask(int) + 1303
11  libcontent.dylib                    0x000000012b4749c1 void base::internal::FunctorTraits<void (jingle_glue::JingleThreadWrapper::*)(int), void>::Invoke<void (jingle_glue::JingleThreadWrapper::*)(int), base::WeakPtr<jingle_glue::JingleThreadWrapper> const&, int const&>(void (jingle_glue::JingleThreadWrapper::*)(int), base::WeakPtr<jingle_glue::JingleThreadWrapper> const&&&, int const&&&) + 145
12  libcontent.dylib                    0x000000012b474925 void base::internal::InvokeHelper<true, void>::MakeItSo<void (jingle_glue::JingleThreadWrapper::* const&)(int), base::WeakPtr<jingle_glue::JingleThreadWrapper> const&, int const&>(void (jingle_glue::JingleThreadWrapper::* const&&&)(int), base::WeakPtr<jingle_glue::JingleThreadWrapper> const&&&, int const&&&) + 117
13  libcontent.dylib                    0x000000012b47489d void base::internal::Invoker<base::internal::BindState<void (jingle_glue::JingleThreadWrapper::*)(int), base::WeakPtr<jingle_glue::JingleThreadWrapper>, int>, void ()>::RunImpl<void (jingle_glue::JingleThreadWrapper::* const&)(int), std::__1::tuple<base::WeakPtr<jingle_glue::JingleThreadWrapper>, int> const&, 0ul, 1ul>(void (jingle_glue::JingleThreadWrapper::* const&&&)(int), std::__1::tuple<base::WeakPtr<jingle_glue::JingleThreadWrapper>, int> const&&&, std::__1::integer_sequence<unsigned long, 0ul, 1ul>) + 125
14  libcontent.dylib                    0x000000012b47479c base::internal::Invoker<base::internal::BindState<void (jingle_glue::JingleThreadWrapper::*)(int), base::WeakPtr<jingle_glue::JingleThreadWrapper>, int>, void ()>::Run(base::internal::BindStateBase*) + 44
15  libbase.dylib                       0x00000001054afd7c base::OnceCallback<void ()>::Run() && + 92
16  libbase.dylib                       0x000000010550b4b9 base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask*) + 1033
17  libbase.dylib                       0x00000001055d80cd base::MessageLoop::RunTask(base::PendingTask*) + 877
18  libbase.dylib                       0x00000001055d86bf base::MessageLoop::DeferOrRunPendingTask(base::PendingTask) + 95
19  libbase.dylib                       0x00000001055d8d1a base::MessageLoop::DoWork() + 490
20  libbase.dylib                       0x00000001055e845e base::MessagePumpDefault::Run(base::MessagePump::Delegate*) + 78
21  libbase.dylib                       0x00000001055d788c base::MessageLoop::Run(bool) + 556
22  libbase.dylib                       0x00000001056c674e base::RunLoop::Run() + 606
23  libbase.dylib                       0x000000010582b3f9 base::Thread::Run(base::RunLoop*) + 393
24  libbase.dylib                       0x000000010582c1a7 base::Thread::ThreadMain() + 2631
25  libbase.dylib                       0x00000001059649fa base::(anonymous namespace)::ThreadFunc(void*) + 682
26  libsystem_pthread.dylib             0x00007fff7deab661 _pthread_body + 340
27  libsystem_pthread.dylib             0x00007fff7deab50d _pthread_body + 0
28  libsystem_pthread.dylib             0x00007fff7deaabf9 thread_start + 13

This happened on tip of tree (prior to M-70 cut, master: aeacfe83e5af7718c1b178f6b09a48098d66ad15, local WIP branch: 20a6f6d6e4d9b3c06296c4622c2af2629d165517) but should be reproducible in M-69.
 
Looks like a sender with a track has been created without a corresponding track adapter existing. Perhaps there is some addTrack/SLD mix going on without surfacing or perhaps some operation fails but creates the transceivers anyway and blink doesn't finish its surfacing? Need further investigation
NextAction: 2018-08-28
The NextAction date has arrived: 2018-08-28
Labels: -M-69 M-71
Looking into it now
NextAction: ----
NextAction: 2018-10-05
Status: Assigned (was: Started)
The NextAction date has arrived: 2018-10-05
This or something similar may be related: https://crbug.com/webrtc/8384
Cc: vasanthakumar@chromium.org
Mergedinto: 897251
Status: Duplicate (was: Assigned)

Sign in to add a comment