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: | Platform | Assignee: | 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
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 | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Philippe Normand
Pull request: https://github.com/WebKit/WebKit/pull/65575
Philippe Normand
(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
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
<rdar://problem/177871935>