Bug 315469

Summary: [GStreamer][WebRTC][Rice] imported/w3c/web-platform-tests/webrtc/RTCDataChannel-send-close-array-buffer.window.html flaky crashes
Product: WebKit Reporter: Philippe Normand <philn>
Component: PlatformAssignee: Philippe Normand <philn>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Philippe Normand
Reported 2026-05-24 12:14:32 PDT
see frame 5 Thread 1 (Thread 0x7f3c69b7ff00 (LWP 608876)): #0 0x00007f3c8eeda13b in WTF::removeIterator<WTF::HashTable<unsigned int, WTF::KeyValuePair<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > > >, WTF::IntHash<unsigned int>, WTF::HashMap<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> >, WTF::IntHash<unsigned int>, WTF::UnsignedWithZeroKeyHashTraits<unsigned int>, WTF::HashTraits<std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >, WTF::HashTableTraits, (WTF::ShouldValidateKey)1, WTF::FastMalloc>::KeyValuePairTraits, WTF::UnsignedWithZeroKeyHashTraits<unsigned int>, WTF::FastMalloc>, unsigned int, WTF::KeyValuePair<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > > >, WTF::IntHash<unsigned int>, WTF::HashMap<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> >, WTF::IntHash<unsigned int>, WTF::UnsignedWithZeroKeyHashTraits<unsigned int>, WTF::HashTraits<std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >, WTF::HashTableTraits, (WTF::ShouldValidateKey)1, WTF::FastMalloc>::KeyValuePairTraits, WTF::UnsignedWithZeroKeyHashTraits<unsigned int> > (it=0x7fff01985ea8) at WTF/Headers/wtf/HashTable.h:1574 locker = {<WTF::AbstractLocker> = {<No data fields>}, m_lock = @0x7f3c5faf1bb0, m_isLocked = true} __PRETTY_FUNCTION__ = "void WTF::removeIterator(HashTableConstIterator<HashTableType, Key, Value, Extractor, HashFunctions, Traits, KeyTraits>*) [with HashTableType = HashTable<unsigned int, KeyValuePair<unsigned int, std::"... #1 0x00007f3c8eed2564 in WTF::HashTableConstIterator<WTF::HashTable<unsigned int, WTF::KeyValuePair<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > > >, WTF::IntHash<unsigned int>, WTF::HashMap<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> >, WTF::IntHash<unsigned int>, WTF::UnsignedWithZeroKeyHashTraits<unsigned int>, WTF::HashTraits<std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >, WTF::HashTableTraits, (WTF::ShouldValidateKey)1, WTF::FastMalloc>::KeyValuePairTraits, WTF::UnsignedWithZeroKeyHashTraits<unsigned int>, WTF::FastMalloc>, unsigned int, WTF::KeyValuePair<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > > >, WTF::IntHash<unsigned int>, WTF::HashMap<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> >, WTF::IntHash<unsigned int>, WTF::UnsignedWithZeroKeyHashTraits<unsigned int>, WTF::HashTraits<std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >, WTF::HashTableTraits, (WTF::ShouldValidateKey)1, WTF::FastMalloc>::KeyValuePairTraits, WTF::UnsignedWithZeroKeyHashTraits<unsigned int> >::~HashTableConstIterator (this=0x7fff01985ea8, __in_chrg=<optimized out>) at WTF/Headers/wtf/HashTable.h:175 No locals. #2 0x00007f3c8eecc0d8 in WTF::HashTableConstIteratorAdapter<WTF::HashTable<unsigned int, WTF::KeyValuePair<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > > >, WTF::IntHash<unsigned int>, WTF::HashMap<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> >, WTF::IntHash<unsigned int>, WTF::UnsignedWithZeroKeyHashTraits<unsigned int>, WTF::HashTraits<std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >, WTF::HashTableTraits, (WTF::ShouldValidateKey)1, WTF::FastMalloc>::KeyValuePairTraits, WTF::UnsignedWithZeroKeyHashTraits<unsigned int>, WTF::FastMalloc>, WTF::KeyValuePair<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > > >::~HashTableConstIteratorAdapter (this=0x7fff01985ea8, __in_chrg=<optimized out>) at WTF/Headers/wtf/HashIterators.h:44 No locals. #3 0x00007f3c8eecc0f8 in WTF::HashTableConstValuesIterator<WTF::HashTable<unsigned int, WTF::KeyValuePair<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > > >, WTF::IntHash<unsigned int>, WTF::HashMap<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> >, WTF::IntHash<unsigned int>, WTF::UnsignedWithZeroKeyHashTraits<unsigned int>, WTF::HashTraits<std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >, WTF::HashTableTraits, (WTF::ShouldValidateKey)1, WTF::FastMalloc>::KeyValuePairTraits, WTF::UnsignedWithZeroKeyHashTraits<unsigned int>, WTF::FastMalloc>, unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >::~HashTableConstValuesIterator (this=0x7fff01985ea8, __in_chrg=<optimized out>) at WTF/Headers/wtf/HashIterators.h:134 No locals. #4 0x00007f3c8eecc12c in WTF::SizedIteratorRange<WTF::HashMap<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> >, WTF::IntHash<unsigned int>, WTF::UnsignedWithZeroKeyHashTraits<unsigned int>, WTF::HashTraits<std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >, WTF::HashTableTraits, (WTF::ShouldValidateKey)1, WTF::FastMalloc>, WTF::HashTableConstValuesIterator<WTF::HashTable<unsigned int, WTF::KeyValuePair<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > > >, WTF::IntHash<unsigned int>, WTF::HashMap<unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> >, WTF::IntHash<unsigned int>, WTF::UnsignedWithZeroKeyHashTraits<unsigned int>, WTF::HashTraits<std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > >, WTF::HashTableTraits, (WTF::ShouldValidateKey)1, WTF::FastMalloc>::KeyValuePairTraits, WTF::UnsignedWithZeroKeyHashTraits<unsigned int>, WTF::FastMalloc>, unsigned int, std::unique_ptr<_WebKitGstRiceStream, std::default_delete<_WebKitGstRiceStream> > > >::~SizedIteratorRange (this=0x7fff01985ea0, __in_chrg=<optimized out>) at WTF/Headers/wtf/IteratorRange.h:67 No locals. #5 0x00007f3c8eecc2bd in findStreamAndApply (streams=..., streamId=0, callback=...) at ../../../Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceAgent.cpp:731 riceStream = std::unique_ptr<_WebKitGstRiceStream> = {get() = 0x0} __for_range = @0x7fff01985ea0: {m_container = @0x5645c0eb91d0, m_begin = {m_impl = {m_impl = {m_position = 0x7f3c5f584100, m_endPosition = 0x7f3c5f584170, m_table = 0x0, m_next = 0x0, m_previous = 0x0}}}, m_end = {m_impl = {m_impl = {m_position = 0x7f3c5f584170, m_endPosition = 0x7f3c5f584170, m_table = 0x0, m_next = 0x0, m_previous = 0x0}}}} __for_begin = {m_impl = {m_impl = {m_position = 0x7f3c5f584100, m_endPosition = 0x7f3c5f584170, m_table = 0x0, m_next = 0x0, m_previous = 0x0}}} __for_end = {m_impl = {m_impl = {m_position = 0x7f3c5f584170, m_endPosition = 0x7f3c5f584170, m_table = 0x0, m_next = 0x0, m_previous = 0x0}}} #6 0x00007f3c8eecc43f in operator() (__closure=0x7f3c5faf1c08, streamId=0, protocol=WebCore::RTCIceProtocol::Udp, from=..., to=..., data=...) at ../../../Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceAgent.cpp:748 self = {m_ptr = 0x5645c0eb9270} weakThis = {m_ref = {priv = {p = 0x5645c0eb9270}}}
Attachments
Philippe Normand
Comment 1 2026-05-24 12:18:01 PDT
Philippe Normand
Comment 2 2026-05-25 03:07:03 PDT
(In reply to Philippe Normand from comment #1) > Pull request: https://github.com/WebKit/WebKit/pull/65575 This introduces new deadlocks, specially when running webrtc/datachannel/multiple-connections.html : Thread 278 (Thread 0x7fd75cfd06c0 (LWP 779966)): #0 __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56 #1 0x00007fdce0f1906c in __internal_syscall_cancel (a1=a1@entry=140586767349712, a2=<optimized out>, a3=<optimized out>, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at cancellation.c:49 #2 0x00007fdce0f193b7 in __futex_abstimed_wait_common64 (private=0, futex_word=0x7fdce853f7d0 <bmalloc_marge_bitfit_page_config_specialized_allocator_try_allocate(pas_bitfit_allocator*, pas_local_allocator*, size_t, size_t, pas_allocation_mode)>, expected=<optimized out>, op=393, abstime=0x0, cancel=true) at futex-internal.c:57 #3 __futex_abstimed_wait_common (futex_word=0x7fdce853f7d0 <bmalloc_marge_bitfit_page_config_specialized_allocator_try_allocate(pas_bitfit_allocator*, pas_local_allocator*, size_t, size_t, pas_allocation_mode)>, expected=<optimized out>, clockid=0, abstime=0x0, private=0, cancel=true) at futex-internal.c:87 #4 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7fd775b78358, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #5 0x00007fdce0f1bc0c in __pthread_cond_wait_common (cond=0x7fd775b78338, mutex=0x7fd775b78310, clockid=0, abstime=0x0) at pthread_cond_wait.c:421 #6 ___pthread_cond_wait (cond=0x7fd775b78338, mutex=0x7fd775b78310) at pthread_cond_wait.c:453 #7 0x00007fdce834e85d in WTF::ThreadCondition::wait (this=0x7fd775b78338, mutex=...) at /var/home/phil/WebKit/Source/WTF/wtf/posix/ThreadingPOSIX.cpp:671 #8 0x00007fdce834e968 in WTF::ThreadCondition::timedWait (this=0x7fd775b78338, mutex=..., absoluteTime=...) at /var/home/phil/WebKit/Source/WTF/wtf/posix/ThreadingPOSIX.cpp:680 #9 0x00007fdce81176ef in WTF::ParkingLot::parkConditionallyImpl (address=0x7fd75cfce6a7, validation=..., beforeSleep=..., timeout=...) at /var/home/phil/WebKit/Source/WTF/wtf/ParkingLot.cpp:593 #10 0x00007fdce6a5cb2a in WTF::ParkingLot::parkConditionally<(lambda at /var/home/phil/WebKit/WebKitBuild/GTK/Debug/WTF/Headers/wtf/Condition.h:194:17), (lambda at /var/home/phil/WebKit/WebKitBuild/GTK/Debug/WTF/Headers/wtf/Condition.h:200:17)>(const void *, const class {...} &, const class {...} &, const WTF::TimeWithDynamicClockType &) (address=0x7fd75cfce6a7, validation=..., beforeSleep=..., timeout=...) at WTF/Headers/wtf/ParkingLot.h:82 #11 0x00007fdce6a5caa4 in WTF::Condition::waitUntilUnchecked<WTF::Lock> (this=0x7fd75cfce6a7, lock=..., timeout=...) at WTF/Headers/wtf/Condition.h:192 #12 0x00007fdce6a5c985 in WTF::Condition::waitUntil (this=0x7fd75cfce6a7, lock=..., timeout=...) at WTF/Headers/wtf/Condition.h:77 #13 0x00007fdce832e762 in WTF::Condition::waitUntilUnchecked<WTF::Lock, (lambda at /var/home/phil/WebKit/Source/WTF/wtf/threads/BinarySemaphore.cpp:41:66)>(WTF::Lock &, const WTF::TimeWithDynamicClockType &, const class {...} &) (this=0x7fd75cfce6a7, lock=..., timeout=..., predicate=...) at /var/home/phil/WebKit/Source/WTF/wtf/Condition.h:213 #14 0x00007fdce832e70d in WTF::Condition::waitUntil<(lambda at /var/home/phil/WebKit/Source/WTF/wtf/threads/BinarySemaphore.cpp:41:66)>(WTF::Lock &, const WTF::TimeWithDynamicClockType &, const class {...} &) (this=0x7fd75cfce6a7, lock=..., timeout=..., predicate=...) at /var/home/phil/WebKit/Source/WTF/wtf/Condition.h:91 #15 0x00007fdce832e6a8 in WTF::BinarySemaphore::waitUntil (this=0x7fd75cfce6a5, absoluteTime=...) at /var/home/phil/WebKit/Source/WTF/wtf/threads/BinarySemaphore.cpp:41 #16 0x00007fdce7849099 in WTF::BinarySemaphore::wait (this=0x7fd75cfce6a5) at WTF/Headers/wtf/threads/BinarySemaphore.h:51 #17 0x00007fdce80fa0f7 in WTF::callOnMainAndWait<0> (function=...) at /var/home/phil/WebKit/Source/WTF/wtf/MainThread.cpp:130 #18 0x00007fdce80fa04d in WTF::callOnMainThreadAndWait (function=...) at /var/home/phil/WebKit/Source/WTF/wtf/MainThread.cpp:140 #19 0x00007fdcf88800ea in WebCore::GStreamerIceTransportBackendObserver::onSelectedCandidatePairChanged (this=0x7fd79ee02080) at /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceTransportBackend.cpp:177 #20 0x00007fdcf88a2939 in operator() (this=0x7fd75cfce777, backend=0x7fd79ee02080) at /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceTransportBackend.cpp:77 #21 0x00007fdcf88a2919 in __invoke (backend=0x7fd79ee02080) at /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceTransportBackend.cpp:77 #25 0x00007fdce8b8ed33 in <emit signal '???' on instance ???> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3624 #22 0x00007fdce8b8eb26 in _g_closure_invoke_va (closure=0x2e4562a0, return_value=0x0, instance=0x7fda7c0846e0, args=0x7fd75cfcea00, n_params=0, param_types=0x0) at ../gobject/gclosure.c:980 #23 signal_emit_valist_unlocked (instance=instance@entry=0x7fda7c0846e0, signal_id=signal_id@entry=122, detail=detail@entry=0, var_args=var_args@entry=0x7fd75cfcea00) at ../gobject/gsignal.c:3465 #24 0x00007fdce8b8ec78 in g_signal_emit_valist (instance=0x7fda7c0846e0, signal_id=122, detail=0, var_args=var_args@entry=0x7fd75cfcea00) at ../gobject/gsignal.c:3304 #26 0x00007fdcf887d497 in webkitGstWebRTCIceTransportNewSelectedPair (transport=0x7fda7c0846e0, pair=...) at /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceTransport.cpp:179 #27 0x00007fdcf887d3db in webkitGstWebRTCIceStreamNewSelectedPair (ice=0x7fda7c0a5bd0, pair=...) at /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceStream.cpp:114 #28 0x00007fdcf887bff0 in operator()<_WebKitGstIceStream> (this=0x7fd775a1c148, stream=0x7fda7c0a5bd0) at /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceAgent.cpp:926 #29 0x00007fdcf887bfc1 in WTF::Detail::CallableWrapper<(lambda at /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceAgent.cpp:925:41), void, const _WebKitGstIceStream *>::call(const _WebKitGstIceStream *) (this=0x7fd775a1c140, in=0x7fda7c0a5bd0) at WTF/Headers/wtf/Function.h:59 #30 0x00007fdcf8865ebd in WTF::Function<void(_WebKitGstIceStream const*)>::operator() (this=0x7fd75cfced10, in=0x7fda7c0a5bd0) at WTF/Headers/wtf/Function.h:103 #31 0x00007fdcf884efad in findStreamAndApply (agent=0x2e429490, streamId=0, callback=...) at /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceAgent.cpp:736 #32 0x00007fdcf884f286 in webkitGstWebRTCIceAgentNewSelectedPairForStream (agent=0x2e429490, streamId=0, selectedPair=...) at /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceAgent.cpp:925 .... Thread 9 (Thread 0x7fdcdd724340 (LWP 777819)): #0 __syscall_cancel_arch () at ../sysdeps/unix/sysv/linux/x86_64/syscall_cancel.S:56 #1 0x00007fdce0f1906c in __internal_syscall_cancel (a1=a1@entry=131072, a2=<optimized out>, a3=<optimized out>, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=4294967295, nr=202) at cancellation.c:49 #2 0x00007fdce0f193b7 in __futex_abstimed_wait_common64 (private=0, futex_word=0x20000, expected=<optimized out>, op=393, abstime=0x0, cancel=true) at futex-internal.c:57 #3 __futex_abstimed_wait_common (futex_word=0x20000, expected=<optimized out>, clockid=0, abstime=0x0, private=0, cancel=true) at futex-internal.c:87 #4 __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7fdcd30401d8, expected=<optimized out>, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #5 0x00007fdce0f1bc0c in __pthread_cond_wait_common (cond=0x7fdcd30401b8, mutex=0x7fdcd3040190, clockid=0, abstime=0x0) at pthread_cond_wait.c:421 #6 ___pthread_cond_wait (cond=0x7fdcd30401b8, mutex=0x7fdcd3040190) at pthread_cond_wait.c:453 #7 0x00007fdce834e85d in WTF::ThreadCondition::wait (this=0x7fdcd30401b8, mutex=...) at /var/home/phil/WebKit/Source/WTF/wtf/posix/ThreadingPOSIX.cpp:671 #8 0x00007fdce834e968 in WTF::ThreadCondition::timedWait (this=0x7fdcd30401b8, mutex=..., absoluteTime=...) at /var/home/phil/WebKit/Source/WTF/wtf/posix/ThreadingPOSIX.cpp:680 #9 0x00007fdce81176ef in WTF::ParkingLot::parkConditionallyImpl (address=0x2e4293f0, validation=..., beforeSleep=..., timeout=...) at /var/home/phil/WebKit/Source/WTF/wtf/ParkingLot.cpp:593 #10 0x00007fdce73e646a in WTF::ParkingLot::parkConditionally<(lambda at /var/home/phil/WebKit/WebKitBuild/GTK/Debug/WTF/Headers/wtf/ParkingLot.h:96:13), (lambda at /var/home/phil/WebKit/WebKitBuild/GTK/Debug/WTF/Headers/wtf/ParkingLot.h:100:13)>(const void *, const class {...} &, const class {...} &, const WTF::TimeWithDynamicClockType &) (address=0x2e4293f0, validation=..., beforeSleep=..., timeout=...) at WTF/Headers/wtf/ParkingLot.h:82 #11 0x00007fdce73e63f5 in WTF::ParkingLot::compareAndPark<unsigned char, unsigned char> (address=0x2e4293f0, expected=3 '\003') at WTF/Headers/wtf/ParkingLot.h:94 #12 0x00007fdce80f5143 in WTF::LockAlgorithm<unsigned char, 1, 2, WTF::EmptyLockHooks<unsigned char> >::lockSlow (lock=...) at /var/home/phil/WebKit/Source/WTF/wtf/LockAlgorithmInlines.h:161 #13 0x00007fdce80f4f96 in WTF::Lock::lockSlow (this=0x2e4293f0) at /var/home/phil/WebKit/Source/WTF/wtf/Lock.cpp:51 #14 0x00007fdcf3467e16 in WTF::Lock::lock (this=0x2e4293f0) at WTF/Headers/wtf/Lock.h:71 #15 0x00007fdcf3467cf4 in WTF::Locker<WTF::Lock>::Locker (this=0x7fff8160fce8, lock=...) at WTF/Headers/wtf/Locker.h:87 #16 0x00007fdcf884eed5 in findStreamAndApply (agent=0x2e429490, streamId=0, callback=...) at /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceAgent.cpp:731 #17 0x00007fdcf8863bf0 in operator() (this=0x7fd775b08838, streamId=0, protocol=WebCore::RTCIceProtocol::Udp, from=..., to=..., data=...) at /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceAgent.cpp:755 #18 0x00007fdcf88637a2 in WTF::Detail::CallableWrapper<(lambda at /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/gstreamer/GStreamerIceAgent.cpp:751:50), void, unsigned int, WebCore::RTCIceProtocol, WTF::String &&, WTF::String &&, WebCore::SharedMemoryHandle &&>::call(unsigned int, WebCore::RTCIceProtocol, WTF::String &&, WTF::String &&, WebCore::SharedMemoryHandle &&) (this=0x7fd775b08830, in=0, in=WebCore::RTCIceProtocol::Udp, in=..., in=..., in=...) at WTF/Headers/wtf/Function.h:59 #19 0x00007fdcf585f3ae in WTF::Function<void(unsigned int, WebCore::RTCIceProtocol, WTF::String&&, WTF::String&&, WebCore::SharedMemoryHandle&&)>::operator() (this=0x7fd79ee01350, in=0, in=WebCore::RTCIceProtocol::Udp, in=..., in=..., in=...) at WTF/Headers/wtf/Function.h:103 #20 0x00007fdcf585c148 in WebCore::RiceBackendClient::notifyIncomingData (this=0x7fd79ee01340, streamId=0, protocol=WebCore::RTCIceProtocol::Udp, from=..., to=..., data=...) at WebCore/PrivateHeaders/WebCore/GStreamerIceAgent.h:72 ...
EWS
Comment 3 2026-05-25 05:18:32 PDT
Committed 313836@main (f9a8c97fce94): <https://commits.webkit.org/313836@main> Reviewed commits have been landed. Closing PR #65575 and removing active labels.
Radar WebKit Bug Importer
Comment 4 2026-05-25 05:19:11 PDT
Note You need to log in before you can comment on or make changes to this bug.