WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
228171
REGRESSION: [iOS] ASSERTION FAILED: !m_useCount in WebKit::SandboxExtension::~SandboxExtension()
https://bugs.webkit.org/show_bug.cgi?id=228171
Summary
REGRESSION: [iOS] ASSERTION FAILED: !m_useCount in WebKit::SandboxExtension::...
ayumi_kojima
Reported
2021-07-21 16:54:35 PDT
media/media-usage-state-private-browsing.html Is crashing on iOS 14 E Simulator wk2 Debug History:
https://results.webkit.org/?suite=layout-tests&test=media%2Fmedia-usage-state-private-browsing.html
It seems the crash started on around 6/8/21. I was not able to reproduce the crash on a simulator (iOS 15) on my local machine using run-webkit-tests --iterations 50 --exit-after-n-failures 2 --exit-after-n-crashes-or-timeouts 2 --debug --iphone-simulator -f media/media-usage-state-private-browsing.html The test timed out instead and it hanged with --no-timeout flag. Crash log: ASSERTION FAILED: !m_useCount /Volumes/Data/worker/ios-simulator-14-debug/build/Source/WebKit/Shared/Cocoa/SandboxExtensionCocoa.mm(452) : WebKit::SandboxExtension::~SandboxExtension() 1 0x123f4ba19 WTFCrash 2 0x1128e5e3b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x11354de98 WebKit::SandboxExtension::~SandboxExtension() 4 0x11354df25 WebKit::SandboxExtension::~SandboxExtension() 5 0x112930eab std::__1::default_delete<WebKit::SandboxExtension>::operator()(WebKit::SandboxExtension*) const 6 0x112930e6c WTF::RefCounted<WebKit::SandboxExtension, std::__1::default_delete<WebKit::SandboxExtension> >::deref() const 7 0x112930e21 WTF::DefaultRefDerefTraits<WebKit::SandboxExtension>::derefIfNotNull(WebKit::SandboxExtension*) 8 0x112930de9 WTF::RefPtr<WebKit::SandboxExtension, WTF::RawPtrTraits<WebKit::SandboxExtension>, WTF::DefaultRefDerefTraits<WebKit::SandboxExtension> >::~RefPtr() 9 0x112930b15 WTF::RefPtr<WebKit::SandboxExtension, WTF::RawPtrTraits<WebKit::SandboxExtension>, WTF::DefaultRefDerefTraits<WebKit::SandboxExtension> >::~RefPtr() 10 0x1134c096c WebKit::RemoteMediaPlayerProxy::~RemoteMediaPlayerProxy() 11 0x1134c0d55 WebKit::RemoteMediaPlayerProxy::~RemoteMediaPlayerProxy() 12 0x1134da40b std::__1::default_delete<WebKit::RemoteMediaPlayerProxy>::operator()(WebKit::RemoteMediaPlayerProxy*) const 13 0x1134da38f std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> >::reset(WebKit::RemoteMediaPlayerProxy*) 14 0x1134da329 std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> >::~unique_ptr() 15 0x1134bef75 std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> >::~unique_ptr() 16 0x1134d044e WTF::KeyValuePair<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> > >::~KeyValuePair() 17 0x1134d03b5 WTF::KeyValuePair<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> > >::~KeyValuePair() 18 0x1134d02d1 WTF::HashTable<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, WTF::KeyValuePair<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> > > >, WTF::DefaultHash<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> >, WTF::HashMap<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> >, WTF::DefaultHash<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> >, WTF::HashTraits<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> >, WTF::HashTraits<std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> > >, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> > >::deallocateTable(WTF::KeyValuePair<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> > >*) 19 0x1134d01a6 WTF::HashTable<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, WTF::KeyValuePair<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> > > >, WTF::DefaultHash<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> >, WTF::HashMap<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> >, WTF::DefaultHash<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> >, WTF::HashTraits<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> >, WTF::HashTraits<std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> > >, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> > >::~HashTable() 20 0x1134d0165 WTF::HashTable<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, WTF::KeyValuePair<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> > > >, WTF::DefaultHash<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> >, WTF::HashMap<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> >, WTF::DefaultHash<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> >, WTF::HashTraits<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> >, WTF::HashTraits<std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> > >, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> > >::~HashTable() 21 0x1134d0145 WTF::HashMap<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> >, WTF::DefaultHash<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> >, WTF::HashTraits<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> >, WTF::HashTraits<std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> > >, WTF::HashTableTraits>::~HashMap() 22 0x1134beb85 WTF::HashMap<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType>, std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> >, WTF::DefaultHash<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> >, WTF::HashTraits<WTF::ObjectIdentifier<WebCore::MediaPlayerIdentifierType> >, WTF::HashTraits<std::__1::unique_ptr<WebKit::RemoteMediaPlayerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerProxy> > >, WTF::HashTableTraits>::~HashMap() 23 0x1134beb59 WebKit::RemoteMediaPlayerManagerProxy::~RemoteMediaPlayerManagerProxy() 24 0x1134beba5 WebKit::RemoteMediaPlayerManagerProxy::~RemoteMediaPlayerManagerProxy() 25 0x1134bebcc WebKit::RemoteMediaPlayerManagerProxy::~RemoteMediaPlayerManagerProxy() 26 0x1133eb1bf std::__1::default_delete<WebKit::RemoteMediaPlayerManagerProxy>::operator()(WebKit::RemoteMediaPlayerManagerProxy*) const 27 0x1133eb13f std::__1::unique_ptr<WebKit::RemoteMediaPlayerManagerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerManagerProxy> >::reset(WebKit::RemoteMediaPlayerManagerProxy*) 28 0x1133eb0d9 std::__1::unique_ptr<WebKit::RemoteMediaPlayerManagerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerManagerProxy> >::~unique_ptr() 29 0x1133eb0b5 std::__1::unique_ptr<WebKit::RemoteMediaPlayerManagerProxy, std::__1::default_delete<WebKit::RemoteMediaPlayerManagerProxy> >::~unique_ptr() 30 0x1133eb095 WTF::UniqueRef<WebKit::RemoteMediaPlayerManagerProxy>::~UniqueRef() 31 0x1133d5485 WTF::UniqueRef<WebKit::RemoteMediaPlayerManagerProxy>::~UniqueRef()
Attachments
Patch
(3.17 KB, patch)
2021-07-26 14:11 PDT
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Patch
(2.17 KB, patch)
2021-07-26 14:37 PDT
,
Jer Noble
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2021-07-21 16:54:57 PDT
<
rdar://problem/80926509
>
ayumi_kojima
Comment 2
2021-07-21 17:24:45 PDT
Updated test expectations
https://trac.webkit.org/changeset/280169/webkit
Jer Noble
Comment 3
2021-07-26 14:11:51 PDT
Created
attachment 434237
[details]
Patch
Darin Adler
Comment 4
2021-07-26 14:17:30 PDT
Comment on
attachment 434237
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=434237&action=review
> Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:59 > + ProxyMap proxies; > + proxies.swap(m_proxies);
This is old fashioned. New way to do it would be std::exchange instead.
Jer Noble
Comment 5
2021-07-26 14:29:32 PDT
(In reply to Darin Adler from
comment #4
)
> Comment on
attachment 434237
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=434237&action=review
> > > Source/WebKit/GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:59 > > + ProxyMap proxies; > > + proxies.swap(m_proxies); > > This is old fashioned. New way to do it would be std::exchange instead.
Fantastic, then it turns into an `auto` declaration, and I don't need the change to the header. Thanks!
Jer Noble
Comment 6
2021-07-26 14:37:15 PDT
Created
attachment 434243
[details]
Patch
EWS
Comment 7
2021-07-26 17:02:37 PDT
Committed
r280326
(
239973@main
): <
https://commits.webkit.org/239973@main
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 434243
[details]
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug