WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
REOPENED
245334
[GTK] ASSERTS in FontCache
https://bugs.webkit.org/show_bug.cgi?id=245334
Summary
[GTK] ASSERTS in FontCache
Philippe Normand
Reported
2022-09-18 04:29:47 PDT
Specially in imported/w3c/web-platform-tests/html/canvas/offscreen/ tests: STDERR: ASSERTION FAILED: m_clients.contains(&client) STDERR: /app/webkit/Source/WebCore/platform/graphics/FontCache.cpp(381) : void WebCore::FontCache::removeClient(WebCore::FontSelector&) STDERR: ASSERTION FAILED: m_clients.contains(&client) STDERR: /app/webkit/Source/WebCore/platform/graphics/FontCache.cpp(381) : void WebCore::FontCache::removeClient(WebCore::FontSelector&) STDERR: ASSERTION FAILED: m_clients.contains(&client) STDERR: /app/webkit/Source/WebCore/platform/graphics/FontCache.cpp(381) : void WebCore::FontCache::removeClient(WebCore::FontSelector&) STDERR: ASSERTION FAILED: m_clients.contains(&client) STDERR: /app/webkit/Source/WebCore/platform/graphics/FontCache.cpp(381) : void WebCore::FontCache::removeClient(WebCore::FontSelector&) STDERR: ASSERTION FAILED: m_clients.contains(&client) STDERR: /app/webkit/Source/WebCore/platform/graphics/FontCache.cpp(381) : void WebCore::FontCache::removeClient(WebCore::FontSelector&)
Attachments
Add attachment
proposed patch, testcase, etc.
Philippe Normand
Comment 1
2022-09-18 05:39:30 PDT
run-webkit-tests --gtk --debug --no-retry-failures --exit-after-n-crashes-or-timeouts=2 imported/w3c/web-platform-tests/html/canvas/offscreen/text (gdb) bt #0 0x00007f28e269fc0e in WTFCrash() () at /app/webkit/Source/WTF/wtf/Assertions.cpp:328 #1 0x00007f28e993113b in WTFCrashWithInfo(int, char const*, char const*, int) () at WTF/Headers/wtf/Assertions.h:754 #2 0x00007f28eed973e9 in WebCore::FontCache::removeClient(WebCore::FontSelector&) (this=0x7f28d02d80e0, client=...) at /app/webkit/Source/WebCore/platform/graphics/FontCache.cpp:386 #3 0x00007f28ed9d4911 in WebCore::CSSFontSelector::~CSSFontSelector() (this=0x7f28d0388960) at /app/webkit/Source/WebCore/css/CSSFontSelector.cpp:102 #4 0x00007f28ed9d4a89 in WebCore::CSSFontSelector::~CSSFontSelector() (this=0x7f28d0388960) at /app/webkit/Source/WebCore/css/CSSFontSelector.cpp:96 #5 0x00007f28ed5b55ec in std::default_delete<WebCore::FontSelector>::operator()(WebCore::FontSelector*) const (this=0x7f286d7fd7d0, __ptr=0x7f28d0388960) at /usr/lib/gcc/x86_64-unknown-linux-gnu/11.3.0/../../../../include/c++/11.3.0/bits/unique_ptr.h:85 #6 0x00007f28ed5b55b7 in WTF::RefCounted<WebCore::FontSelector, std::default_delete<WebCore::FontSelector> >::deref() const (this=0x7f28d0388968) at WTF/Headers/wtf/RefCounted.h:190 #7 0x00007f28ed5b5542 in WTF::DefaultRefDerefTraits<WebCore::FontSelector>::derefIfNotNull(WebCore::FontSelector*) (ptr=0x7f28d0388960) at WTF/Headers/wtf/RefPtr.h:42 #8 0x00007f28ed5b5439 in WTF::RefPtr<WebCore::FontSelector, WTF::RawPtrTraits<WebCore::FontSelector>, WTF::DefaultRefDerefTraits<WebCore::FontSelector> >::~RefPtr() (this=0x7f28d0344988) at WTF/Headers/wtf/RefPtr.h:74 #9 0x00007f28eed9f6c0 in WebCore::FontCascadeFonts::~FontCascadeFonts() (this=0x7f28d0344900) at /app/webkit/Source/WebCore/platform/graphics/FontCascadeFonts.cpp:122 #10 0x00007f28eb108adb in std::default_delete<WebCore::FontCascadeFonts>::operator()(WebCore::FontCascadeFonts*) const (this=0x7f286d7fd890, __ptr=0x7f28d0344900) at /usr/lib/gcc/x86_64-unknown-linux-gnu/11.3.0/../../../../include/c++/11.3.0/bits/unique_ptr.h:85 #11 0x00007f28eb108aa3 in WTF::RefCounted<WebCore::FontCascadeFonts, std::default_delete<WebCore::FontCascadeFonts> >::deref() const (this=0x7f28d0344900) at WTF/Headers/wtf/RefCounted.h:190 #12 0x00007f28eeda67c9 in WTF::Ref<WebCore::FontCascadeFonts, WTF::RawPtrTraits<WebCore::FontCascadeFonts> >::~Ref() (this=0x7f28d03959d8) at WTF/Headers/wtf/Ref.h:61 #13 0x00007f28eeda88bd in WebCore::FontCascadeCacheEntry::~FontCascadeCacheEntry() (this=0x7f28d0395980) at /app/webkit/Source/WebCore/platform/graphics/FontCascadeCache.h:225 #14 0x00007f28eedb617b in std::default_delete<WebCore::FontCascadeCacheEntry>::operator()(WebCore::FontCascadeCacheEntry*) const (this=0x7f28d02ad748, __ptr=0x7f28d0395980) at /usr/lib/gcc/x86_64-unknown-linux-gnu/11.3.0/../../../../include/c++/11.3.0/bits/unique_ptr.h:85 #15 0x00007f28eeda888d in std::unique_ptr<WebCore::FontCascadeCacheEntry, std::default_delete<WebCore::FontCascadeCacheEntry> >::~unique_ptr() (this=0x7f28d02ad748) at /usr/lib/gcc/x86_64-unknown-linux-gnu/11.3.0/../../../../include/c++/11.3.0/bits/unique_ptr.h:361 #16 0x00007f28eedabd3d in WTF::KeyValuePair<WebCore::FontCascadeCacheKey, std::unique_ptr<WebCore::FontCascadeCacheEntry, std::default_delete<WebCore::FontCascadeCacheEntry> > >::~KeyValuePair() (this=0x7f28d02ad6f0) at WTF/Headers/wtf/KeyValuePair.h:33 #17 0x00007f28eedabcc7 in WTF::HashTable<WebCore::FontCascadeCacheKey, WTF::KeyValuePair<WebCore::FontCascadeCacheKey, std::unique_ptr<WebCore::FontCascadeCacheEntry, std::default_delete<WebCore::FontCascadeCacheEntry> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::FontCascadeCacheKey, std::unique_ptr<WebCore::FontCascadeCacheEntry, std::default_delete<WebCore::FontCascadeCacheEntry> > > >, WebCore::FontCascadeCacheKeyHash, WTF::HashMap<WebCore::FontCascadeCacheKey, std::unique_ptr<WebCore::FontCascadeCacheEntry, std::default_delete<WebCore::FontCascadeCacheEntry> >, WebCore::FontCascadeCacheKeyHash, WebCore::FontCascadeCacheKeyHashTraits, WTF::HashTraits<std::unique_ptr<WebCore::FontCascadeCacheEntry, std::default_delete<WebCore::FontCascadeCacheEntry> > >, WTF::HashTableTraits>::KeyValuePairTraits, WebCore::FontCascadeCacheKeyHashTraits>::deallocateTable(WTF::KeyValuePair<WebCore::FontCascadeCacheKey, std::unique_ptr<WebCore::FontCascadeCacheEntry, std::default_delete<WebCore::FontCascadeCacheEntry> > >*) (table=0x7f28d02ad450) at WTF/Headers/wtf/HashTable.h:1179 #18 0x00007f28eedabbb3 in WTF::HashTable<WebCore::FontCascadeCacheKey, WTF::KeyValuePair<WebCore::FontCascadeCacheKey, std::unique_ptr<WebCore::FontCascadeCacheEntry, std::default_delete<WebCore::FontCascadeCacheEntry> > >, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WebCore::FontCascadeCacheKey, std::unique_ptr<WebCore::FontCascadeCacheEntry, std::default_delete<WebCore::FontCascadeCacheEntry> > > >, WebCore::FontCascadeCacheKeyHash, WTF::HashMap<WebCore::FontCascadeCacheKey, std::unique_ptr<WebCore::FontCascadeCacheEntry, std::default_delete<WebCore::FontCascadeCacheEntry> >, WebCore::FontCascadeCacheKeyHash, WebCore::FontCascadeCacheKeyHashTraits, WTF::HashTraits<std::unique_ptr<WebCore::FontCascadeCacheEntry, std::default_delete<WebCore::FontCascadeCacheEntry> > >, WTF::HashTableTraits>::KeyValuePairTraits, WebCore::FontCascadeCacheKeyHashTraits>::~HashTable() (this=0x7f28d02d8e58) at WTF/Headers/wtf/HashTable.h:435 #19 0x00007f28eedabb75 in WTF::HashMap<WebCore::FontCascadeCacheKey, std::unique_ptr<WebCore::FontCascadeCacheEntry, std::default_delete<WebCore::FontCascadeCacheEntry> >, WebCore::FontCascadeCacheKeyHash, WebCore::FontCascadeCacheKeyHashTraits, WTF::HashTraits<std::unique_ptr<WebCore::FontCascadeCacheEntry, std::default_delete<WebCore::FontCascadeCacheEntry> > >, WTF::HashTableTraits>::~HashMap() (this=0x7f28d02d8e58) at WTF/Headers/wtf/HashMap.h:35 #20 0x00007f28eeda5935 in WebCore::FontCascadeCache::~FontCascadeCache() (this=0x7f28d02d8e58) at /app/webkit/Source/WebCore/platform/graphics/FontCascadeCache.h:244 #21 0x00007f28eed95c9a in WebCore::FontCache::~FontCache() (this=0x7f28d02d8e00) at /app/webkit/Source/WebCore/platform/graphics/FontCache.cpp:152 #22 0x00007f28eec45fdb in std::default_delete<WebCore::FontCache>::operator()(WebCore::FontCache*) const (this=0x7f28d0341068, __ptr=0x7f28d02d8e00) at /usr/lib/gcc/x86_64-unknown-linux-gnu/11.3.0/../../../../include/c++/11.3.0/bits/unique_ptr.h:85 #23 0x00007f28eec419ad in std::unique_ptr<WebCore::FontCache, std::default_delete<WebCore::FontCache> >::~unique_ptr() (this=0x7f28d0341068) at /usr/lib/gcc/x86_64-unknown-linux-gnu/11.3.0/../../../../include/c++/11.3.0/bits/unique_ptr.h:361 #24 0x00007f28eec3eb0b in WebCore::ThreadGlobalData::~ThreadGlobalData() (this=0x7f28d0341020) at /app/webkit/Source/WebCore/platform/ThreadGlobalData.cpp:50 #25 0x00007f28eec3eb79 in WebCore::ThreadGlobalData::~ThreadGlobalData() (this=0x7f28d0341020) at /app/webkit/Source/WebCore/platform/ThreadGlobalData.cpp:50 #26 0x00007f28e29f90ff in WTF::ThreadSafeRefCounted<WTF::Thread::ClientData, (WTF::DestructionThread)0>::deref() const::{lambda()#1}::operator()() const (this=0x7f286d7fdaf0) at /app/webkit/Source/WTF/wtf/ThreadSafeRefCounted.h:117 #27 0x00007f28e29f90c7 in WTF::ThreadSafeRefCounted<WTF::Thread::ClientData, (WTF::DestructionThread)0>::deref() const (this=0x7f28d0341028) at /app/webkit/Source/WTF/wtf/ThreadSafeRefCounted.h:129 #28 0x00007f28e29f9052 in WTF::DefaultRefDerefTraits<WTF::Thread::ClientData>::derefIfNotNull(WTF::Thread::ClientData*) (ptr=0x7f28d0341020) at /app/webkit/Source/WTF/wtf/RefPtr.h:42 #29 0x00007f28e29f8d61 in WTF::RefPtr<WTF::Thread::ClientData, WTF::RawPtrTraits<WTF::Thread::ClientData>, WTF::DefaultRefDerefTraits<WTF::Thread::ClientData> >::operator=(decltype(nullptr)) (this=0x7f28d000fff0) at /app/webkit/Source/WTF/wtf/RefPtr.h:163 #30 0x00007f28e29f8439 in WTF::Thread::destructTLS(void*) (data=0x7f28d000ff60) at /app/webkit/Source/WTF/wtf/posix/ThreadingPOSIX.cpp:562 #31 0x00007f28e311a450 in __nptl_deallocate_tsd () at pthread_create.c:311 #32 0x00007f28e311b3c4 in __nptl_deallocate_tsd () at pthread_create.c:481 #33 start_thread (arg=0x7f286d7fe640) at pthread_create.c:492 #34 0x00007f28dc5237a3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 (gdb) info threads Id Target Id Frame * 1 Thread 0x7f286d7fe640 (LWP 300) 0x00007f28e269fc0e in WTFCrash () at /app/webkit/Source/WTF/wtf/Assertions.cpp:328 2 Thread 0x7f28da16a9c0 (LWP 283) 0x00007f28ea0e1bc2 in WTF::isValidEnum<IPC::MessageName, void> (underlyingType=1443) at DerivedSources/WebKit/MessageNames.cpp:12172 3 Thread 0x7f288d7fa640 (LWP 290) __libc_sendmsg (flags=16384, msg=0x7f288d7f9608, fd=10) at ../sysdeps/unix/sysv/linux/sendmsg.c:28 4 Thread 0x7f28d1c4d640 (LWP 285) 0x00007f28e3127e1d in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x7f28d1c5c690, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x7f28d1c4cad8, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74 5 Thread 0x7f287d7fe640 (LWP 294) 0x00007f28dc5171fd in __GI___poll (fds=0x6c09b0, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 6 Thread 0x7f288dffb640 (LWP 288) 0x00007f28dc5171fd in __GI___poll (fds=0x7f2884005000, nfds=2, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 7 Thread 0x7f286dfff640 (LWP 298) 0x00007f28e3127e1d in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x7f28d02044e4, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x7f286dffe7c0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74 8 Thread 0x7f287cffd640 (LWP 297) 0x00007f28e3127e1d in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x7f28d0090764, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x7f287cffc7c0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74 9 Thread 0x7f288e7fc640 (LWP 287) 0x00007f28dc5171fd in __GI___poll (fds=0x7f2880003f70, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 10 Thread 0x7f287dfff640 (LWP 293) 0x00007f28dc5171fd in __GI___poll (fds=0xb27eb0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 11 Thread 0x7f288effd640 (LWP 286) 0x00007f28dc5171fd in __GI___poll (fds=0x7f2888005020, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 (gdb)
Philippe Normand
Comment 2
2022-09-18 06:47:21 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/4458
EWS
Comment 3
2022-09-18 06:50:51 PDT
Committed
254606@main
(aa47ef76a7eb): <
https://commits.webkit.org/254606@main
> Reviewed commits have been landed. Closing PR #4458 and removing active labels.
Philippe Normand
Comment 4
2022-09-18 07:01:34 PDT
reopening, needs patch
EWS
Comment 5
2022-09-18 08:39:41 PDT
Committed
254612@main
(54b769e4acf3): <
https://commits.webkit.org/254612@main
> Reviewed commits have been landed. Closing PR #4459 and removing active labels.
Philippe Normand
Comment 6
2022-09-18 08:54:27 PDT
reopening, needs patch
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