imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-default-feature-policy.https.html has become a flaky assertion failure on iOS and macOS debug WK2 bots: ASSERTION FAILED: m_private->type() != RealtimeMediaSource::Type::Audio || !PlatformMediaSessionManager::sharedManager().hasAudioCaptureSource(*this) ./Modules/mediastream/MediaStreamTrack.cpp(109) : virtual WebCore::MediaStreamTrack::~MediaStreamTrack() 1 0x2ba79fee9 WTFCrash 2 0x29782fd5b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x2999e6b40 WebCore::MediaStreamTrack::~MediaStreamTrack() 4 0x2999e6d65 WebCore::MediaStreamTrack::~MediaStreamTrack() 5 0x2999e6e0c WebCore::MediaStreamTrack::~MediaStreamTrack() 6 0x297b5ed3f std::__1::default_delete<WebCore::MediaStreamTrack>::operator()(WebCore::MediaStreamTrack*) const 7 0x297b5ed02 WTF::RefCounted<WebCore::MediaStreamTrack, std::__1::default_delete<WebCore::MediaStreamTrack> >::deref() const 8 0x2988a87f7 WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack>::derefIfNotNull(WebCore::MediaStreamTrack*) 9 0x2988a87b9 WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> >::~RefPtr() 10 0x2988a8785 WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> >::~RefPtr() 11 0x2999f0416 WTF::KeyValuePair<WTF::String, WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> > >::~KeyValuePair() 12 0x2999f03d5 WTF::KeyValuePair<WTF::String, WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> > >::~KeyValuePair() 13 0x2999f0341 WTF::HashTable<WTF::String, WTF::KeyValuePair<WTF::String, WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> > > >, WTF::DefaultHash<WTF::String>, WTF::HashMap<WTF::String, WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> >, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> > > >::KeyValuePairTraits, WTF::HashTraits<WTF::String> >::deallocateTable(WTF::KeyValuePair<WTF::String, WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> > >*) 14 0x2999f0206 WTF::HashTable<WTF::String, WTF::KeyValuePair<WTF::String, WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> > > >, WTF::DefaultHash<WTF::String>, WTF::HashMap<WTF::String, WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> >, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> > > >::KeyValuePairTraits, WTF::HashTraits<WTF::String> >::~HashTable() 15 0x2999f01c5 WTF::HashTable<WTF::String, WTF::KeyValuePair<WTF::String, WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> > > >, WTF::DefaultHash<WTF::String>, WTF::HashMap<WTF::String, WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> >, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> > > >::KeyValuePairTraits, WTF::HashTraits<WTF::String> >::~HashTable() 16 0x2999f01a5 WTF::HashMap<WTF::String, WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> >, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> > > >::~HashMap() 17 0x2999e3e85 WTF::HashMap<WTF::String, WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> >, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::RefPtr<WebCore::MediaStreamTrack, WTF::RawPtrTraits<WebCore::MediaStreamTrack>, WTF::DefaultRefDerefTraits<WebCore::MediaStreamTrack> > > >::~HashMap() 18 0x2999e3db6 WebCore::MediaStream::~MediaStream() 19 0x2999e3ef5 WebCore::MediaStream::~MediaStream() 20 0x2999e3f9c WebCore::MediaStream::~MediaStream() 21 0x297b5316f std::__1::default_delete<WebCore::MediaStream>::operator()(WebCore::MediaStream*) const 22 0x297b53132 WTF::RefCounted<WebCore::MediaStream, std::__1::default_delete<WebCore::MediaStream> >::deref() const 23 0x2999eef3e WebCore::MediaStream::derefEventTarget() 24 0x297dd5a4c WebCore::EventTarget::deref() 25 0x297dd59ff WTF::Ref<WebCore::EventTarget, WTF::RawPtrTraits<WebCore::EventTarget> >::~Ref() 26 0x297dd5965 WTF::Ref<WebCore::EventTarget, WTF::RawPtrTraits<WebCore::EventTarget> >::~Ref() 27 0x29829e77e WebCore::JSDOMWrapper<WebCore::EventTarget>::~JSDOMWrapper() 28 0x29829e758 WebCore::JSEventTarget::~JSEventTarget() 29 0x298207175 WebCore::JSEventTarget::~JSEventTarget() 30 0x2981949ed WebCore::JSEventTarget::destroy(JSC::JSCell*) 31 0x2bc17945a JSC::JSDestructibleObjectDestroyFunc::operator()(JSC::VM&, JSC::JSCell*) const https://results.webkit.org/?suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fmediacapture-streams%2FMediaStream-default-feature-policy.https.html
<rdar://problem/73377854>
This started shortly after https://trac.webkit.org/changeset/271488/webkit landed, so that may be the regression point.
Created attachment 417922 [details] crash log
Created attachment 417956 [details] Patch
Committed r271668: <https://trac.webkit.org/changeset/271668> All reviewed patches have been landed. Closing bug and clearing flags on attachment 417956 [details].