<html>
    <head>
      <base href="https://bugs.webkit.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [GTK] WebKitWebProcess at 100% CPU loading hyphenation dictionaries (ASSERTION FAILED: xPos + prefixWidth &lt;= availableWidth)"
   href="https://bugs.webkit.org/show_bug.cgi?id=165601#c8">Comment # 8</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - [GTK] WebKitWebProcess at 100% CPU loading hyphenation dictionaries (ASSERTION FAILED: xPos + prefixWidth &lt;= availableWidth)"
   href="https://bugs.webkit.org/show_bug.cgi?id=165601">bug 165601</a>
              from <span class="vcard"><a class="email" href="mailto:mcatanzaro&#64;igalia.com" title="Michael Catanzaro &lt;mcatanzaro&#64;igalia.com&gt;"> <span class="fn">Michael Catanzaro</span></a>
</span></b>
        <pre>Zan, can the problem you identified result in this assertion failure? I guess the assertion is a separate issue that just coincidentally is related to hyphenation and occurs on the same page?

(In reply to <a href="show_bug.cgi?id=165601#c5">comment #5</a>)
<span class="quote">&gt; With the 'en' locale, loading the Python PEP page, only three
&gt; HyphenDictionary objects are created, with the underlying hyph_en_*.dic file
&gt; opened and processed.</span >

My locale is en_US.UTF-8. But I have 23 hyph_en_*.dic dictionaries installed, of which all except hyph_en_US.dic itself are symlinks to hyph_en_US.dic.

<span class="quote">&gt; With the 'es' locale, loading the same page, 1723 HyphenDictionary objects
&gt; are created, loading each hyph_es_*.dic file 82 times. It still doesn't spin
&gt; the CPU usage of the WebProcess to 100% on my system, but it's obviously a
&gt; problem.</span >

Thanks for debugging. :)

<span class="quote">&gt; While the TinyLRUCache capacity could be bumped, it should be noted that at
&gt; least in Debian packages a lot of these locale variations for one specific
&gt; locale under /usr/share/hyphen are simply symbolic links to that one master
&gt; dict file. For instance, there's 21 different Spanish locales under
&gt; /usr/share/hyphen, from Bolivian to Venezuelan, but it's 20 files just
&gt; linking to the master hyphen_es_ES.dic file.
&gt; 
&gt; Same for the English locales -- hyph_en_AU.dic and hyph_en_ZA.dic link to
&gt; hyph_en_GB.dic.
&gt; 
&gt; So we should maybe also look into detecting symlinks when storing these
&gt; filepaths in the availableLocales() HashMap.</span >

I guess we really ought to do both. A class named TinyLRUCache seems appropriate here, but I would never have assumed the capacity was as low as 4....</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>