WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
221119
[GLIB] Many API tests are asserting in debug mode when destroying WebProcessPool
https://bugs.webkit.org/show_bug.cgi?id=221119
Summary
[GLIB] Many API tests are asserting in debug mode when destroying WebProcessPool
Lauro Moura
Reported
2021-01-28 20:47:55 PST
About 40 tests are crashing in debug builds with the same trace. For example: WebKitBuild/WPE/Debug/bin/TestWebKitAPI/WPE/TestConsoleMessage /webkit/WebKitConsoleMessage/js-exception This issue happens when running together with other test cases, as running the test (function, not the program) isolated it works. Trace: ASSERTION FAILED: !m_deletionHasBegun DerivedSources/ForwardingHeaders/wtf/ThreadSafeRefCounted.h(58) : void WTF::ThreadSafeRefCountedBase::ref() const 1 0x557660b7f47f WTFCrash 2 0x557660b7f495 WTFIsDebuggerAttached 3 0x55765f2274ce WTF::ThreadSafeRefCountedBase::ref() const 4 0x7fae2fc545f2 WTF::DefaultRefDerefTraits<WebKit::WebProcessPool>::refIfNotNull(WebKit::WebProcessPool*) 5 0x7fae2fc491bb WTF::RefPtr<WebKit::WebProcessPool, WTF::RawPtrTraits<WebKit::WebProcessPool>, WTF::DefaultRefDerefTraits<WebKit::WebProcessPool> >::RefPtr(WebKit::WebProcessPool*) 6 0x7fae2fc3c979 WTF::RefPtr<WebKit::WebProcessPool, WTF::RawPtrTraits<WebKit::WebProcessPool>, WTF::DefaultRefDerefTraits<WebKit::WebProcessPool> >::operator=(WebKit::WebProcessPool*) 7 0x7fae2fc2db2e WebKit::WebProcessProxy::WeakOrStrongPtr<WebKit::WebProcessPool>::updateStrongReference() 8 0x7fae2fc1dfdc WebKit::WebProcessProxy::WeakOrStrongPtr<WebKit::WebProcessPool>::setIsWeak(WebKit::WebProcessProxy::IsWeak) 9 0x7fae2fbec6b8 WebKit::WebProcessProxy::setIsInProcessCache(bool) 10 0x7fae2fbe07c8 WebKit::WebProcessCache::CachedProcess::~CachedProcess() 11 0x7fae2fc23f14 std::default_delete<WebKit::WebProcessCache::CachedProcess>::operator()(WebKit::WebProcessCache::CachedProcess*) const 12 0x7fae2fc141dc std::unique_ptr<WebKit::WebProcessCache::CachedProcess, std::default_delete<WebKit::WebProcessCache::CachedProcess> >::~unique_ptr() 13 0x7fae2fc23cbe WTF::KeyValuePair<WebCore::RegistrableDomain, std::unique_ptr<WebKit::WebProcessCache::CachedProcess, std::default_delete<WebKit::WebProcessCache::CachedProcess> > >::~KeyValuePair() 14 0x7fae2fc23d2c WTF::HashTable<WebCore::RegistrableDomain, WTF::KeyValuePair<WebCore::RegistrableDomain, std::unique_ptr<WebKit::WebProcessCache::CachedProcess, std::default_delete<WebKit::WebProcessCache::CachedProcess> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::RegistrableDomain, std::unique_ptr<WebKit::WebProcessCache::CachedProcess, std::default_delete<WebKit::WebProcessCache::CachedProcess> > > >, WTF::DefaultHash<WebCore::RegistrableDomain>, WTF::HashMap<WebCore::RegistrableDomain, std::unique_ptr<WebKit::WebProcessCache::CachedProcess, std::default_delete<WebKit::WebProcessCache::CachedProcess> >, WTF::DefaultHash<WebCore::RegistrableDomain>, WTF::HashTraits<WebCore::RegistrableDomain>, WTF::HashTraits<std::unique_ptr<WebKit::WebProcessCache::CachedProcess, std::default_delete<WebKit::WebProcessCache::CachedProcess> > > >::KeyValuePairTraits, WTF::HashTraits<WebCore::RegistrableDomain> >::deallocateTable(WTF::KeyValuePair<WebCore::RegistrableDomain, std::unique_ptr<WebKit::WebProcessCache::CachedProcess, std::default_delete<WebKit::WebProcessCache::CachedProcess> > >*) 15 0x7fae2fc24d50 WTF::HashTable<WebCore::RegistrableDomain, WTF::KeyValuePair<WebCore::RegistrableDomain, std::unique_ptr<WebKit::WebProcessCache::CachedProcess, std::default_delete<WebKit::WebProcessCache::CachedProcess> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::RegistrableDomain, std::unique_ptr<WebKit::WebProcessCache::CachedProcess, std::default_delete<WebKit::WebProcessCache::CachedProcess> > > >, WTF::DefaultHash<WebCore::RegistrableDomain>, WTF::HashMap<WebCore::RegistrableDomain, std::unique_ptr<WebKit::WebProcessCache::CachedProcess, std::default_delete<WebKit::WebProcessCache::CachedProcess> >, WTF::DefaultHash<WebCore::RegistrableDomain>, WTF::HashTraits<WebCore::RegistrableDomain>, WTF::HashTraits<std::unique_ptr<WebKit::WebProcessCache::CachedProcess, std::default_delete<WebKit::WebProcessCache::CachedProcess> > > >::KeyValuePairTraits, WTF::HashTraits<WebCore::RegistrableDomain> >::clear() 16 0x7fae2fc14b18 WTF::HashMap<WebCore::RegistrableDomain, std::unique_ptr<WebKit::WebProcessCache::CachedProcess, std::default_delete<WebKit::WebProcessCache::CachedProcess> >, WTF::DefaultHash<WebCore::RegistrableDomain>, WTF::HashTraits<WebCore::RegistrableDomain>, WTF::HashTraits<std::unique_ptr<WebKit::WebProcessCache::CachedProcess, std::default_delete<WebKit::WebProcessCache::CachedProcess> > > >::clear() 17 0x7fae2fbdfb33 WebKit::WebProcessCache::clear() 18 0x7fae2fbe1ca7 WebKit::WebProcessPool::~WebProcessPool() 19 0x7fae2fbe2352 WebKit::WebProcessPool::~WebProcessPool() 20 0x7fae2ee20c06 WTF::ThreadSafeRefCounted<API::Object, (WTF::DestructionThread)0>::deref() const::{lambda()#1}::operator()() const 21 0x7fae2ee20c4d WTF::ThreadSafeRefCounted<API::Object, (WTF::DestructionThread)0>::deref() const 22 0x7fae2f252e24 WTF::Ref<WebKit::WebProcessPool, WTF::RawPtrTraits<WebKit::WebProcessPool> >::~Ref() 23 0x7fae2fbde9aa /app/webkit/WebKitBuild/Debug/lib/libWPEWebKit-1.0.so.3(+0x104d19aa) [0x7fae2fbde9aa] 24 0x7fae2fc0266a /app/webkit/WebKitBuild/Debug/lib/libWPEWebKit-1.0.so.3(+0x104f566a) [0x7fae2fc0266a] 25 0x7fae2fc02692 /app/webkit/WebKitBuild/Debug/lib/libWPEWebKit-1.0.so.3(+0x104f5692) [0x7fae2fc02692] 26 0x7fae2ee84144 std::default_delete<WTF::Detail::CallableWrapperBase<void, bool> >::operator()(WTF::Detail::CallableWrapperBase<void, bool>*) const 27 0x7fae2ee834a2 std::unique_ptr<WTF::Detail::CallableWrapperBase<void, bool>, std::default_delete<WTF::Detail::CallableWrapperBase<void, bool> > >::~unique_ptr() 28 0x7fae2ee82a00 WTF::Function<void (bool)>::~Function() 29 0x7fae2f4549d8 WTF::CompletionHandler<void (bool)>::operator()(bool) 30 0x7fae2fbf2f71 WebKit::WebProcessProxy::didReceiveMainThreadPing() 31 0x7fae2f258109 void IPC::callMemberFunctionImpl<WebKit::WebProcessProxy, void (WebKit::WebProcessProxy::*)(), std::tuple<>>(WebKit::WebProcessProxy*, void (WebKit::WebProcessProxy::*)(),
Attachments
Add attachment
proposed patch, testcase, etc.
Vitaly Dyackhov
Comment 1
2024-05-30 01:31:20 PDT
Fixed in
245040@main
.
Vitaly Dyackhov
Comment 2
2024-05-30 01:46:45 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/29294
EWS
Comment 3
2024-05-30 07:42:01 PDT
Committed
279514@main
(a4e1fcab19f9): <
https://commits.webkit.org/279514@main
> Reviewed commits have been landed. Closing PR #29294 and removing active labels.
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