secondlife / secondlife/viewer
WebRTC crash on vivox under debug
Open
Nobody has claimed this yet.
bug
team:viewer
webrtc
- Dominant language
- C++
- Stars
- 299
- Forks
- 146
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 88
Description
Environment
Local build.
Description
llwebrtc.dll!rtc::webrtc_checks_impl::WriteFatalLog(std::basic_string_view<char,std::char_traits<char>> output) Line 88 C++
llwebrtc.dll!rtc::webrtc_checks_impl::WriteFatalLog(const char * file, int line, std::basic_string_view<char,std::char_traits<char>> output) Line 102 C++
llwebrtc.dll!rtc::webrtc_checks_impl::FatalLog(const char * file, int line, const char * message, const rtc::webrtc_checks_impl::CheckArgType * fmt, ...) Line 197 C++
> [Inline Frame] llwebrtc.dll!rtc::webrtc_checks_impl::LogStreamer<>::CallCheckOp(const char * file, const int line, const char * message, const rtc::webrtc_checks_impl::Val<3,long long> & args, const rtc::webrtc_checks_impl::Val<1,int> & args, const rtc::webrtc_checks_impl::Val<9,const char *> & args) Line 323 C++
[Inline Frame] llwebrtc.dll!rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<3,long long>>::CallCheckOp(const char * file, const int line, const char * message, const rtc::webrtc_checks_impl::Val<1,int> & args, const rtc::webrtc_checks_impl::Val<9,const char *> & args) Line 265 C++
[Inline Frame] llwebrtc.dll!rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<1,int>,rtc::webrtc_checks_impl::Val<3,long long>>::CallCheckOp(const char * file, const int line, const char * message, const rtc::webrtc_checks_impl::Val<9,const char *> & args) Line 265 C++
[Inline Frame] llwebrtc.dll!rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<9,const char *>,rtc::webrtc_checks_impl::Val<1,int>,rtc::webrtc_checks_impl::Val<3,long long>>::CallCheckOp(const char * file, const int line, const char * message) Line 265 C++
[Inline Frame] llwebrtc.dll!rtc::webrtc_checks_impl::FatalLogCall<1>::operator&(const rtc::webrtc_checks_impl::LogStreamer<rtc::webrtc_checks_impl::Val<9,const char *>,rtc::webrtc_checks_impl::Val<1,int>,rtc::webrtc_checks_impl::Val<3,long long>> & streamer) Line 345 C++
llwebrtc.dll!webrtc::AudioDeviceBuffer::LogStats(webrtc::AudioDeviceBuffer::LogState state) Line 496 C++
llwebrtc.dll!webrtc::AudioDeviceBuffer::LogStats::<lambda_4>::operator()() Line 497 C++
[External Code]
llwebrtc.dll!absl::internal_any_invocable::InvokeR<void,`lambda at ../../webrtc/webrtc/src/modules/audio_device/audio_device_buffer.cc:497:7',void>(webrtc::AudioDeviceBuffer::LogStats::<lambda_4> && f) Line 133 C++
llwebrtc.dll!absl::internal_any_invocable::LocalInvoker<0,void,`lambda at ../../webrtc/webrtc/src/modules/audio_device/audio_device_buffer.cc:497:7' &&>(absl::internal_any_invocable::TypeErasedState * const state) Line 302 C++
llwebrtc.dll!absl::internal_any_invocable::Impl<void () &&>::operator()() Line 867 C++
llwebrtc.dll!webrtc::`anonymous namespace'::DelayedTaskInfo::Run() Line 98 C++
llwebrtc.dll!webrtc::`anonymous namespace'::TaskQueueWin::RunDueTasks() Line 363 C++
llwebrtc.dll!webrtc::`anonymous namespace'::TaskQueueWin::RunThreadMain() Line 286 C++
llwebrtc.dll!webrtc::`anonymous namespace'::TaskQueueWin::TaskQueueWin::<lambda_0>::operator()() Line 202 C++
# Fatal error in: ..\..\webrtc\webrtc\src\modules\audio_device\audio_device_buffer.cc, line 493
# last system error: 0
# Check failed: time_to_wait_ms > 0 (-59226 vs. 0)
# Invalid timer interval
Reproduction steps
Was testing p2p calls on vivox1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the crash stack and the referenced WebRTC audio_device_buffer.cc lines 493-497, then reproduce the debug build failure while testing p2p calls on vivox1. Done means identifying and fixing the invalid timer interval without introducing a crash, and verifying the same scenario no longer triggers the fatal check.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- audio-video-rtc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100