commit 43dc6edd12441bfced44da357f1d491fda363d85
parent 17813ea7400ecfdb9adc275a0929d5f033028ec1
Author: Dan Baker <dbaker@mozilla.com>
Date: Mon, 27 Oct 2025 16:45:42 -0600
Bug 1995393 - Vendor libwebrtc from 166e65669b
Upstream commit: https://webrtc.googlesource.com/src/+/166e65669ba4edf0986f4758c6136236da4f465d
Add checks to track down flake
Add explicit checks for scalability_mode presence
This is to help with identifying the source of flakiness:
gen/third_party/libc++/src/include/optional:874: libc++ Hardening
assertion this->has_value() failed: optional operator* called on a
disengaged value *** SIGABRT received at time=1756631788 on cpu 3 ***
PC: @ 0x7ffff709eb1c (unknown) pthread_kill
@ 0x555557ef1364 256 absl::AbslFailureSignalHandler()
@ 0x555555d5169e 64 SignalAction()
@ 0x7ffff7045320 157537360 (unknown)
@ 0x7ffff704526e 32 raise
@ 0x7ffff70288ff 192 abort
@ 0x55555b0c8552 624 std::__Cr::__libcpp_verbose_abort()
@ 0x55555654b2ff 2656 webrtc::PeerConnectionEncodingsIntegrationParameterizedTest_Simulcast_Test::TestBody()
@ 0x5555580ec194 80 testing::Test::Run()
@ 0x5555580eec8c 144 testing::TestInfo::Run()
@ 0x5555580f1687 288 testing::TestSuite::Run()
@ 0x555558126a25 608 testing::internal::UnitTestImpl::RunAllTests()
@ 0x555558124fb1 96 testing::UnitTest::Run()
@ 0x55555826a970 1024 webrtc::(anonymous namespace)::TestMainImpl::Run()
@ 0x555557e3d081 272 main
@ 0x7ffff702a1ca 160 (unknown)
@ 0x7ffff702a28b 96 __libc_start_main
@ 0x555555cd32fa (unknown) _start
To help diagnose the intermittent failures, this change adds explicit
`EXPECT_TRUE` assertions to verify that `scalability_mode.has_value()`
before checking the mode's string content. These more granular checks
will help pinpoint the root cause of the test flake.
Bug: none
Change-Id: Ia3d846cde1a28ec397a20573b929dad3bf0636fa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/407340
Commit-Queue: Henrik Boström <hbos@webrtc.org>
Auto-Submit: Tomas Gunnarsson <tommi@webrtc.org>
Reviewed-by: Henrik Boström <hbos@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#45502}
Diffstat:
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/third_party/libwebrtc/README.mozilla.last-vendor b/third_party/libwebrtc/README.mozilla.last-vendor
@@ -1,4 +1,4 @@
# ./mach python dom/media/webrtc/third_party_build/vendor-libwebrtc.py --from-local /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc --commit mozpatches libwebrtc
-libwebrtc updated from /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-27T22:43:23.367791+00:00.
+libwebrtc updated from /Users/danielbaker/elm/.moz-fast-forward/moz-libwebrtc commit mozpatches on 2025-10-27T22:45:31.363062+00:00.
# base of lastest vendoring
-3de01cf99a
+166e65669b
diff --git a/third_party/libwebrtc/pc/peer_connection_encodings_integrationtest.cc b/third_party/libwebrtc/pc/peer_connection_encodings_integrationtest.cc
@@ -2489,10 +2489,14 @@ TEST_P(PeerConnectionEncodingsIntegrationParameterizedTest, Simulcast) {
// GetParameters() does not report any fallback.
parameters = sender->GetParameters();
ASSERT_THAT(parameters.encodings, SizeIs(3));
+
+ EXPECT_TRUE(parameters.encodings[0].scalability_mode.has_value());
EXPECT_THAT(parameters.encodings[0].scalability_mode,
Optional(std::string("L1T3")));
+ EXPECT_TRUE(parameters.encodings[1].scalability_mode.has_value());
EXPECT_THAT(parameters.encodings[1].scalability_mode,
Optional(std::string("L1T3")));
+ EXPECT_TRUE(parameters.encodings[2].scalability_mode.has_value());
EXPECT_THAT(parameters.encodings[2].scalability_mode,
Optional(std::string("L1T3")));