<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>245334</bug_id>
          
          <creation_ts>2022-09-18 04:29:47 -0700</creation_ts>
          <short_desc>[GTK] ASSERTS in FontCache</short_desc>
          <delta_ts>2025-12-25 07:27:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">philn</reporter>
          <assigned_to name="Philippe Normand">philn</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>fujii</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1899320</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">philn</who>
    <bug_when>2022-09-18 04:29:47 -0700</bug_when>
    <thetext>Specially in imported/w3c/web-platform-tests/html/canvas/offscreen/ tests:



STDERR: ASSERTION FAILED: m_clients.contains(&amp;client)
STDERR: /app/webkit/Source/WebCore/platform/graphics/FontCache.cpp(381) : void WebCore::FontCache::removeClient(WebCore::FontSelector&amp;)
STDERR: ASSERTION FAILED: m_clients.contains(&amp;client)
STDERR: /app/webkit/Source/WebCore/platform/graphics/FontCache.cpp(381) : void WebCore::FontCache::removeClient(WebCore::FontSelector&amp;)
STDERR: ASSERTION FAILED: m_clients.contains(&amp;client)
STDERR: /app/webkit/Source/WebCore/platform/graphics/FontCache.cpp(381) : void WebCore::FontCache::removeClient(WebCore::FontSelector&amp;)
STDERR: ASSERTION FAILED: m_clients.contains(&amp;client)
STDERR: /app/webkit/Source/WebCore/platform/graphics/FontCache.cpp(381) : void WebCore::FontCache::removeClient(WebCore::FontSelector&amp;)
STDERR: ASSERTION FAILED: m_clients.contains(&amp;client)
STDERR: /app/webkit/Source/WebCore/platform/graphics/FontCache.cpp(381) : void WebCore::FontCache::removeClient(WebCore::FontSelector&amp;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1899327</commentid>
    <comment_count>1</comment_count>
    <who name="Philippe Normand">philn</who>
    <bug_when>2022-09-18 05:39:30 -0700</bug_when>
    <thetext>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&amp;) (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&lt;WebCore::FontSelector&gt;::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&lt;WebCore::FontSelector, std::default_delete&lt;WebCore::FontSelector&gt; &gt;::deref() const (this=0x7f28d0388968) at WTF/Headers/wtf/RefCounted.h:190
#7  0x00007f28ed5b5542 in WTF::DefaultRefDerefTraits&lt;WebCore::FontSelector&gt;::derefIfNotNull(WebCore::FontSelector*) (ptr=0x7f28d0388960) at WTF/Headers/wtf/RefPtr.h:42
#8  0x00007f28ed5b5439 in WTF::RefPtr&lt;WebCore::FontSelector, WTF::RawPtrTraits&lt;WebCore::FontSelector&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::FontSelector&gt; &gt;::~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&lt;WebCore::FontCascadeFonts&gt;::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&lt;WebCore::FontCascadeFonts, std::default_delete&lt;WebCore::FontCascadeFonts&gt; &gt;::deref() const (this=0x7f28d0344900) at WTF/Headers/wtf/RefCounted.h:190
#12 0x00007f28eeda67c9 in WTF::Ref&lt;WebCore::FontCascadeFonts, WTF::RawPtrTraits&lt;WebCore::FontCascadeFonts&gt; &gt;::~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&lt;WebCore::FontCascadeCacheEntry&gt;::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&lt;WebCore::FontCascadeCacheEntry, std::default_delete&lt;WebCore::FontCascadeCacheEntry&gt; &gt;::~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&lt;WebCore::FontCascadeCacheKey, std::unique_ptr&lt;WebCore::FontCascadeCacheEntry, std::default_delete&lt;WebCore::FontCascadeCacheEntry&gt; &gt; &gt;::~KeyValuePair() (this=0x7f28d02ad6f0) at WTF/Headers/wtf/KeyValuePair.h:33
#17 0x00007f28eedabcc7 in WTF::HashTable&lt;WebCore::FontCascadeCacheKey, WTF::KeyValuePair&lt;WebCore::FontCascadeCacheKey, std::unique_ptr&lt;WebCore::FontCascadeCacheEntry, std::default_delete&lt;WebCore::FontCascadeCacheEntry&gt; &gt; &gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::FontCascadeCacheKey, std::unique_ptr&lt;WebCore::FontCascadeCacheEntry, std::default_delete&lt;WebCore::FontCascadeCacheEntry&gt; &gt; &gt; &gt;, WebCore::FontCascadeCacheKeyHash, WTF::HashMap&lt;WebCore::FontCascadeCacheKey, std::unique_ptr&lt;WebCore::FontCascadeCacheEntry, std::default_delete&lt;WebCore::FontCascadeCacheEntry&gt; &gt;, WebCore::FontCascadeCacheKeyHash, WebCore::FontCascadeCacheKeyHashTraits, WTF::HashTraits&lt;std::unique_ptr&lt;WebCore::FontCascadeCacheEntry, std::default_delete&lt;WebCore::FontCascadeCacheEntry&gt; &gt; &gt;, WTF::HashTableTraits&gt;::KeyValuePairTraits, WebCore::FontCascadeCacheKeyHashTraits&gt;::deallocateTable(WTF::KeyValuePair&lt;WebCore::FontCascadeCacheKey, std::unique_ptr&lt;WebCore::FontCascadeCacheEntry, std::default_delete&lt;WebCore::FontCascadeCacheEntry&gt; &gt; &gt;*) (table=0x7f28d02ad450) at WTF/Headers/wtf/HashTable.h:1179
#18 0x00007f28eedabbb3 in WTF::HashTable&lt;WebCore::FontCascadeCacheKey, WTF::KeyValuePair&lt;WebCore::FontCascadeCacheKey, std::unique_ptr&lt;WebCore::FontCascadeCacheEntry, std::default_delete&lt;WebCore::FontCascadeCacheEntry&gt; &gt; &gt;, WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::FontCascadeCacheKey, std::unique_ptr&lt;WebCore::FontCascadeCacheEntry, std::default_delete&lt;WebCore::FontCascadeCacheEntry&gt; &gt; &gt; &gt;, WebCore::FontCascadeCacheKeyHash, WTF::HashMap&lt;WebCore::FontCascadeCacheKey, std::unique_ptr&lt;WebCore::FontCascadeCacheEntry, std::default_delete&lt;WebCore::FontCascadeCacheEntry&gt; &gt;, WebCore::FontCascadeCacheKeyHash, WebCore::FontCascadeCacheKeyHashTraits, WTF::HashTraits&lt;std::unique_ptr&lt;WebCore::FontCascadeCacheEntry, std::default_delete&lt;WebCore::FontCascadeCacheEntry&gt; &gt; &gt;, WTF::HashTableTraits&gt;::KeyValuePairTraits, WebCore::FontCascadeCacheKeyHashTraits&gt;::~HashTable() (this=0x7f28d02d8e58) at WTF/Headers/wtf/HashTable.h:435
#19 0x00007f28eedabb75 in WTF::HashMap&lt;WebCore::FontCascadeCacheKey, std::unique_ptr&lt;WebCore::FontCascadeCacheEntry, std::default_delete&lt;WebCore::FontCascadeCacheEntry&gt; &gt;, WebCore::FontCascadeCacheKeyHash, WebCore::FontCascadeCacheKeyHashTraits, WTF::HashTraits&lt;std::unique_ptr&lt;WebCore::FontCascadeCacheEntry, std::default_delete&lt;WebCore::FontCascadeCacheEntry&gt; &gt; &gt;, WTF::HashTableTraits&gt;::~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&lt;WebCore::FontCache&gt;::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&lt;WebCore::FontCache, std::default_delete&lt;WebCore::FontCache&gt; &gt;::~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&lt;WTF::Thread::ClientData, (WTF::DestructionThread)0&gt;::deref() const::{lambda()#1}::operator()() const (this=0x7f286d7fdaf0) at /app/webkit/Source/WTF/wtf/ThreadSafeRefCounted.h:117
#27 0x00007f28e29f90c7 in WTF::ThreadSafeRefCounted&lt;WTF::Thread::ClientData, (WTF::DestructionThread)0&gt;::deref() const (this=0x7f28d0341028) at /app/webkit/Source/WTF/wtf/ThreadSafeRefCounted.h:129
#28 0x00007f28e29f9052 in WTF::DefaultRefDerefTraits&lt;WTF::Thread::ClientData&gt;::derefIfNotNull(WTF::Thread::ClientData*) (ptr=0x7f28d0341020) at /app/webkit/Source/WTF/wtf/RefPtr.h:42
#29 0x00007f28e29f8d61 in WTF::RefPtr&lt;WTF::Thread::ClientData, WTF::RawPtrTraits&lt;WTF::Thread::ClientData&gt;, WTF::DefaultRefDerefTraits&lt;WTF::Thread::ClientData&gt; &gt;::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&lt;IPC::MessageName, void&gt; (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)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1899331</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2022-09-18 06:47:21 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/4458</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1899332</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-09-18 06:50:51 -0700</bug_when>
    <thetext>Committed 254606@main (aa47ef76a7eb): &lt;https://commits.webkit.org/254606@main&gt;

Reviewed commits have been landed. Closing PR #4458 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1899333</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Normand">philn</who>
    <bug_when>2022-09-18 07:01:34 -0700</bug_when>
    <thetext>reopening, needs patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1899342</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-09-18 08:39:41 -0700</bug_when>
    <thetext>Committed 254612@main (54b769e4acf3): &lt;https://commits.webkit.org/254612@main&gt;

Reviewed commits have been landed. Closing PR #4459 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1899343</commentid>
    <comment_count>6</comment_count>
    <who name="Philippe Normand">philn</who>
    <bug_when>2022-09-18 08:54:27 -0700</bug_when>
    <thetext>reopening, needs patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2168151</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2025-12-25 05:43:16 -0800</bug_when>
    <thetext>No crash these days.
https://results.webkit.org/?suite=layout-tests&amp;suite=layout-tests&amp;suite=layout-tests&amp;test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fcanvas%2Foffscreen%2Fmanual%2Ftransformations%2F2d.transformation.getTransform.html&amp;test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fcanvas%2Foffscreen%2Fconformance-requirements%2F2d.conformance.requirements.missingargs.html&amp;test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fcanvas%2Foffscreen%2F2d.conformance.requirements.missingargs.html&amp;platform=GTK&amp;platform=WPE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2168152</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2025-12-25 05:53:54 -0800</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/55865</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2168160</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-12-25 07:27:55 -0800</bug_when>
    <thetext>Test gardening commit 304934@main (370609b5bd76): &lt;https://commits.webkit.org/304934@main&gt;

Reviewed commits have been landed. Closing PR #55865 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>