Bug 230410

Summary: Crash under RemoteMediaPlayerManager::getSupportedTypes()
Product: WebKit Reporter: Chris Dumez <cdumez>
Component: MediaAssignee: Chris Dumez <cdumez>
Status: RESOLVED FIXED    
Severity: Normal CC: eric.carlson, ews-watchlist, glenn, jer.noble, peng.liu6, philipj, sergio, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=230011
https://bugs.webkit.org/show_bug.cgi?id=230434
Attachments:
Description Flags
Patch
none
Patch none

Description Chris Dumez 2021-09-17 09:16:37 PDT
We see the following flaky crash on the iOS bots:
Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   WebKit                        	       0x6db68e811 WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::keyCount() const + 33 (HashTable.h:586)
1   WebKit                        	       0x6dbad1275 WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::size() const + 21 (HashTable.h:450)
2   WebKit                        	       0x6dcbb310c WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::HashTable(WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> > const&) + 60 (HashTable.h:1388)
3   WebKit                        	       0x6dcbb30bd WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::HashTable(WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> > const&) + 29 (HashTable.h:1387)
4   WebKit                        	       0x6dcbb3075 WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> >::operator=(WTF::HashTable<WTF::String, WTF::String, WTF::IdentityExtractor, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String> > const&) + 37 (HashTable.h:1419)
5   WebKit                        	       0x6dcbaaaf1 WTF::HashSet<WTF::String, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits<WTF::String>, WTF::HashTableTraits>::operator=(WTF::HashSet<WTF::String, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits<WTF::String>, WTF::HashTableTraits> const&) + 33 (HashSet.h:31)
6   WebKit                        	       0x6dcbaaac7 WebKit::RemoteMediaPlayerManager::getSupportedTypes(WebCore::MediaPlayerEnums::MediaEngineIdentifier, WTF::HashSet<WTF::String, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits<WTF::String>, WTF::HashTableTraits>&) + 55 (RemoteMediaPlayerManager.cpp:195)
7   WebKit                        	       0x6dcbd79e7 WebKit::MediaPlayerRemoteFactory::getSupportedTypes(WTF::HashSet<WTF::String, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits<WTF::String>, WTF::HashTableTraits>&) const + 39 (RemoteMediaPlayerManager.cpp:66)
8   WebCore                       	       0x7198e6c27 WebCore::MediaPlayer::getSupportedTypes(WTF::HashSet<WTF::String, WTF::ASCIICaseInsensitiveHash, WTF::HashTraits<WTF::String>, WTF::HashTableTraits>&) + 135 (MediaPlayer.cpp:1087)
9   WebCore                       	       0x7196f6f20 WebCore::MIMETypeRegistry::supportedMediaMIMETypes()::$_1::operator()() const + 48 (MIMETypeRegistry.cpp:231)
10  WebCore                       	       0x7196f6eb2 WebCore::MIMETypeRegistry::supportedMediaMIMETypes() + 34 (MIMETypeRegistry.cpp:228)
11  WebCore                       	       0x7196f8290 WebCore::MIMETypeRegistry::isSupportedMediaMIMEType(WTF::String const&) + 48 (MIMETypeRegistry.cpp:561)
12  WebCore                       	       0x7196f8cd7 WebCore::MIMETypeRegistry::canShowMIMEType(WTF::String const&) + 55 (MIMETypeRegistry.cpp:650)
13  WebKit                        	       0x6dd046b55 WebKit::WebPage::canShowMIMEType(WTF::String const&, WTF::Function<bool (WTF::String const&, WebCore::PluginData::AllowedPluginTypes)> const&) const + 37 (WebPage.cpp:6274)
14  WebKit                        	       0x6dd046b16 WebKit::WebPage::canShowResponse(WebCore::ResourceResponse const&) const + 86 (WebPage.cpp:6260)
15  WebKit                        	       0x6dcdb4037 WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse(WebCore::ResourceResponse const&, WebCore::ResourceRequest const&, WebCore::PolicyCheckIdentifier, WTF::String const&, WebCore::BrowsingContextGroupSwitchDecision, WTF::Function<void (WebCore::PolicyAction, WebCore::PolicyCheckIdentifier)>&&) + 1671 (WebFrameLoaderClient.cpp:847)
16  WebCore                       	       0x7192ca192 WebCore::FrameLoader::checkContentPolicy(WebCore::ResourceResponse const&, WebCore::PolicyCheckIdentifier, WebCore::BrowsingContextGroupSwitchDecision, WTF::Function<void (WebCore::PolicyAction, WebCore::PolicyCheckIdentifier)>&&) + 258 (FrameLoader.cpp:425)
Comment 1 Chris Dumez 2021-09-17 09:18:14 PDT
Created attachment 438482 [details]
Patch
Comment 2 Chris Dumez 2021-09-17 09:33:53 PDT
Created attachment 438483 [details]
Patch
Comment 3 Alexey Proskuryakov 2021-09-17 09:44:53 PDT
Do we have existing radars for this?
Comment 4 Chris Dumez 2021-09-17 09:45:57 PDT
(In reply to Alexey Proskuryakov from comment #3)
> Do we have existing radars for this?

There is this one:
rdar://82829778 ([ iOS EWS ] imported/w3c/web-platform-tests/html/cross-origin-opener-policy/resource-popup.https.html is flaky (230011))

But sadly it tracks both a flaky timeout and this flaky crash.
This patch addresses the flaky crash but not the flaky timeout (which I am still investigating).
Comment 5 EWS 2021-09-17 10:15:21 PDT
Committed r282666 (241807@trunk): <https://commits.webkit.org/241807@trunk>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438483 [details].
Comment 6 Radar WebKit Bug Importer 2021-09-17 10:16:19 PDT
<rdar://problem/83245908>