<?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>224381</bug_id>
          
          <creation_ts>2021-04-09 11:23:44 -0700</creation_ts>
          <short_desc>Reduce maximum HashTable entry size to 128 bytes</short_desc>
          <delta_ts>2021-04-19 07:00:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=224567</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>lmoura</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>rbuis</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1748794</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-09 11:23:44 -0700</bug_when>
    <thetext>Reduce maximum HashTable entry size to 128 bytes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748796</commentid>
    <comment_count>1</comment_count>
      <attachid>425636</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-09 11:26:43 -0700</bug_when>
    <thetext>Created attachment 425636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748803</commentid>
    <comment_count>2</comment_count>
      <attachid>425636</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-09 11:34:53 -0700</bug_when>
    <thetext>Comment on attachment 425636
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1748806</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-09 11:41:16 -0700</bug_when>
    <thetext>Could someone working on Linux fix the GTK/WPE build with this change?  It should be straightforward to just use UniqueRef and you&apos;ll probably need makeUniqueRefWithoutFastMallocCheck for ANGLE types, but that&apos;s more than is reasonable to do with blind EWS iteration.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750150</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-14 09:16:49 -0700</bug_when>
    <thetext>After cc&apos;ing several Linux developers on this who have made commits since then, then waiting a few days, then asking on an active slack channel with other people asking for reviews and getting them, then waiting a few days, and still no response, I feel I have done my due diligence in trying to not break the Linux build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750154</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-14 09:19:51 -0700</bug_when>
    <thetext>r275948</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750255</commentid>
    <comment_count>6</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-14 11:42:39 -0700</bug_when>
    <thetext>r275954</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750281</commentid>
    <comment_count>7</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2021-04-14 12:30:45 -0700</bug_when>
    <thetext>GLIB fixes before r275954 are about to be landed in bug224567 (through fast-cq)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750731</commentid>
    <comment_count>8</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-15 12:42:39 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750732</commentid>
    <comment_count>9</comment_count>
      <attachid>426126</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-15 12:42:41 -0700</bug_when>
    <thetext>Created attachment 426126
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751167</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-16 11:24:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/76769402&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751170</commentid>
    <comment_count>11</comment_count>
      <attachid>426126</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-04-16 11:28:33 -0700</bug_when>
    <thetext>Comment on attachment 426126
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751183</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-16 12:23:05 -0700</bug_when>
    <thetext>Committed r276154 (236645@main): &lt;https://commits.webkit.org/236645@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 426126.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751274</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-04-16 15:03:27 -0700</bug_when>
    <thetext>Currently trying to wrap my head around these new inscrutable (and very verbose) warnings:

[2920/5456] Building CXX object Source/WebCore/CMakeFiles...vedSources/unified-sources/UnifiedSource-f74e0903-7.cpp.o
In file included from ../../Source/WebCore/page/SecurityOriginData.h:28,
                 from ../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:30,
                 from ../../Source/WebCore/workers/service/server/SWScriptStorage.cpp:32,
                 from WebCore/DerivedSources/unified-sources/UnifiedSource-f74e0903-7.cpp:1:
In member function ‘WTF::URL&amp; WTF::URL::operator=(WTF::URL&amp;&amp;)’,
    inlined from ‘void WebCore::ServiceWorkerRegistrationKey::setScope(WTF::URL&amp;&amp;)’ at ../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:52:44,
    inlined from ‘static void WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;::constructDeletedValue(WebCore::ServiceWorkerRegistrationKey&amp;)’ at ../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:109:99,
    inlined from ‘typename std::enable_if&lt;(! WTF::HashTraitHasCustomDelete&lt;Traits, T&gt;::value)&gt;::type WTF::hashTraitsDeleteBucket(T&amp;) [with Traits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;; T = WebCore::ServiceWorkerRegistrationKey]’ at WTF/Headers/wtf/HashTraits.h:305:34,
    inlined from ‘static void WTF::KeyValuePairHashTraits&lt;KeyTraitsArg, ValueTraitsArg&gt;::customDeleteBucket(WTF::KeyValuePairHashTraits&lt;KeyTraitsArg, ValueTraitsArg&gt;::TraitType&amp;) [with KeyTraitsArg = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;; ValueTraitsArg = WTF::HashTraits&lt;WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;]’ at WTF/Headers/wtf/HashTraits.h:378:42,
    inlined from ‘typename std::enable_if&lt;WTF::HashTraitHasCustomDelete&lt;Traits, T&gt;::value&gt;::type WTF::hashTraitsDeleteBucket(T&amp;) [with Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; T = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;]’ at WTF/Headers/wtf/HashTraits.h:297:31,
    inlined from ‘static void WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::deleteBucket(WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::ValueType&amp;) [with Key = WebCore::ServiceWorkerRegistrationKey; Value = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;; Extractor = WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt; &gt;; HashFunctions = WTF::DefaultHash&lt;WebCore::ServiceWorkerRegistrationKey&gt;; Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; KeyTraits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;]’ at WTF/Headers/wtf/HashTable.h:549:85,
    inlined from ‘void WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::remove(WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::ValueType*) [with Key = WebCore::ServiceWorkerRegistrationKey; Value = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;; Extractor = WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt; &gt;; HashFunctions = WTF::DefaultHash&lt;WebCore::ServiceWorkerRegistrationKey&gt;; Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; KeyTraits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;]’ at WTF/Headers/wtf/HashTable.h:1127:21:
WTF/Headers/wtf/URL.h:56:7: warning: ‘*(long unsigned int*)((char*)&amp;&lt;unnamed&gt; + offsetof(WTF::URL, WTF::URL::m_isValid))’ is used uninitialized [-Wuninitialized]
   56 | class URL {
      |       ^~~
In file included from ../../Source/WebCore/workers/service/server/SWScriptStorage.cpp:32,
                 from WebCore/DerivedSources/unified-sources/UnifiedSource-f74e0903-7.cpp:1:
../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h: In member function ‘void WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::remove(WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::ValueType*) [with Key = WebCore::ServiceWorkerRegistrationKey; Value = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;; Extractor = WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt; &gt;; HashFunctions = WTF::DefaultHash&lt;WebCore::ServiceWorkerRegistrationKey&gt;; Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; KeyTraits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;]’:
../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:109:125: note: ‘&lt;anonymous&gt;’ declared here
  109 |     static void constructDeletedValue(WebCore::ServiceWorkerRegistrationKey&amp; slot) { slot.setScope(URL(HashTableDeletedValue)); }
      |                                                                                                                             ^
In file included from ../../Source/WebCore/page/SecurityOriginData.h:28,
                 from ../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:30,
                 from ../../Source/WebCore/workers/service/server/SWScriptStorage.cpp:32,
                 from WebCore/DerivedSources/unified-sources/UnifiedSource-f74e0903-7.cpp:1:
In member function ‘WTF::URL&amp; WTF::URL::operator=(WTF::URL&amp;&amp;)’,
    inlined from ‘void WebCore::ServiceWorkerRegistrationKey::setScope(WTF::URL&amp;&amp;)’ at ../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:52:44,
    inlined from ‘static void WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;::constructDeletedValue(WebCore::ServiceWorkerRegistrationKey&amp;)’ at ../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:109:99,
    inlined from ‘typename std::enable_if&lt;(! WTF::HashTraitHasCustomDelete&lt;Traits, T&gt;::value)&gt;::type WTF::hashTraitsDeleteBucket(T&amp;) [with Traits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;; T = WebCore::ServiceWorkerRegistrationKey]’ at WTF/Headers/wtf/HashTraits.h:305:34,
    inlined from ‘static void WTF::KeyValuePairHashTraits&lt;KeyTraitsArg, ValueTraitsArg&gt;::customDeleteBucket(WTF::KeyValuePairHashTraits&lt;KeyTraitsArg, ValueTraitsArg&gt;::TraitType&amp;) [with KeyTraitsArg = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;; ValueTraitsArg = WTF::HashTraits&lt;WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;]’ at WTF/Headers/wtf/HashTraits.h:378:42,
    inlined from ‘typename std::enable_if&lt;WTF::HashTraitHasCustomDelete&lt;Traits, T&gt;::value&gt;::type WTF::hashTraitsDeleteBucket(T&amp;) [with Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; T = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;]’ at WTF/Headers/wtf/HashTraits.h:297:31,
    inlined from ‘static void WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::deleteBucket(WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::ValueType&amp;) [with Key = WebCore::ServiceWorkerRegistrationKey; Value = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;; Extractor = WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt; &gt;; HashFunctions = WTF::DefaultHash&lt;WebCore::ServiceWorkerRegistrationKey&gt;; Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; KeyTraits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;]’ at WTF/Headers/wtf/HashTable.h:549:85,
    inlined from ‘void WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::remove(WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::ValueType*) [with Key = WebCore::ServiceWorkerRegistrationKey; Value = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;; Extractor = WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt; &gt;; HashFunctions = WTF::DefaultHash&lt;WebCore::ServiceWorkerRegistrationKey&gt;; Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; KeyTraits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;]’ at WTF/Headers/wtf/HashTable.h:1127:21:
WTF/Headers/wtf/URL.h:56:7: warning: ‘*(long unsigned int*)((char*)&amp;&lt;unnamed&gt; + offsetof(WTF::URL, WTF::URL::m_userEnd))’ is used uninitialized [-Wuninitialized]
   56 | class URL {
      |       ^~~
In file included from ../../Source/WebCore/workers/service/server/SWScriptStorage.cpp:32,
                 from WebCore/DerivedSources/unified-sources/UnifiedSource-f74e0903-7.cpp:1:
../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h: In member function ‘void WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::remove(WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::ValueType*) [with Key = WebCore::ServiceWorkerRegistrationKey; Value = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;; Extractor = WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt; &gt;; HashFunctions = WTF::DefaultHash&lt;WebCore::ServiceWorkerRegistrationKey&gt;; Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; KeyTraits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;]’:
../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:109:125: note: ‘&lt;anonymous&gt;’ declared here
  109 |     static void constructDeletedValue(WebCore::ServiceWorkerRegistrationKey&amp; slot) { slot.setScope(URL(HashTableDeletedValue)); }
      |                                                                                                                             ^
In file included from ../../Source/WebCore/page/SecurityOriginData.h:28,
                 from ../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:30,
                 from ../../Source/WebCore/workers/service/server/SWScriptStorage.cpp:32,
                 from WebCore/DerivedSources/unified-sources/UnifiedSource-f74e0903-7.cpp:1:
In member function ‘WTF::URL&amp; WTF::URL::operator=(WTF::URL&amp;&amp;)’,
    inlined from ‘void WebCore::ServiceWorkerRegistrationKey::setScope(WTF::URL&amp;&amp;)’ at ../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:52:44,
    inlined from ‘static void WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;::constructDeletedValue(WebCore::ServiceWorkerRegistrationKey&amp;)’ at ../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:109:99,
    inlined from ‘typename std::enable_if&lt;(! WTF::HashTraitHasCustomDelete&lt;Traits, T&gt;::value)&gt;::type WTF::hashTraitsDeleteBucket(T&amp;) [with Traits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;; T = WebCore::ServiceWorkerRegistrationKey]’ at WTF/Headers/wtf/HashTraits.h:305:34,
    inlined from ‘static void WTF::KeyValuePairHashTraits&lt;KeyTraitsArg, ValueTraitsArg&gt;::customDeleteBucket(WTF::KeyValuePairHashTraits&lt;KeyTraitsArg, ValueTraitsArg&gt;::TraitType&amp;) [with KeyTraitsArg = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;; ValueTraitsArg = WTF::HashTraits&lt;WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;]’ at WTF/Headers/wtf/HashTraits.h:378:42,
    inlined from ‘typename std::enable_if&lt;WTF::HashTraitHasCustomDelete&lt;Traits, T&gt;::value&gt;::type WTF::hashTraitsDeleteBucket(T&amp;) [with Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; T = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;]’ at WTF/Headers/wtf/HashTraits.h:297:31,
    inlined from ‘static void WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::deleteBucket(WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::ValueType&amp;) [with Key = WebCore::ServiceWorkerRegistrationKey; Value = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;; Extractor = WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt; &gt;; HashFunctions = WTF::DefaultHash&lt;WebCore::ServiceWorkerRegistrationKey&gt;; Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; KeyTraits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;]’ at WTF/Headers/wtf/HashTable.h:549:85,
    inlined from ‘void WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::remove(WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::ValueType*) [with Key = WebCore::ServiceWorkerRegistrationKey; Value = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;; Extractor = WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt; &gt;; HashFunctions = WTF::DefaultHash&lt;WebCore::ServiceWorkerRegistrationKey&gt;; Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; KeyTraits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;]’ at WTF/Headers/wtf/HashTable.h:1127:21:
WTF/Headers/wtf/URL.h:56:7: warning: ‘*(long unsigned int*)((char*)&amp;&lt;unnamed&gt; + offsetof(WTF::URL, WTF::URL::m_hostEnd))’ is used uninitialized [-Wuninitialized]
   56 | class URL {
      |       ^~~
In file included from ../../Source/WebCore/workers/service/server/SWScriptStorage.cpp:32,
                 from WebCore/DerivedSources/unified-sources/UnifiedSource-f74e0903-7.cpp:1:
../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h: In member function ‘void WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::remove(WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::ValueType*) [with Key = WebCore::ServiceWorkerRegistrationKey; Value = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;; Extractor = WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt; &gt;; HashFunctions = WTF::DefaultHash&lt;WebCore::ServiceWorkerRegistrationKey&gt;; Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; KeyTraits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;]’:
../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:109:125: note: ‘&lt;anonymous&gt;’ declared here
  109 |     static void constructDeletedValue(WebCore::ServiceWorkerRegistrationKey&amp; slot) { slot.setScope(URL(HashTableDeletedValue)); }
      |                                                                                                                             ^
In file included from ../../Source/WebCore/page/SecurityOriginData.h:28,
                 from ../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:30,
                 from ../../Source/WebCore/workers/service/server/SWScriptStorage.cpp:32,
                 from WebCore/DerivedSources/unified-sources/UnifiedSource-f74e0903-7.cpp:1:
In member function ‘WTF::URL&amp; WTF::URL::operator=(WTF::URL&amp;&amp;)’,
    inlined from ‘void WebCore::ServiceWorkerRegistrationKey::setScope(WTF::URL&amp;&amp;)’ at ../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:52:44,
    inlined from ‘static void WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;::constructDeletedValue(WebCore::ServiceWorkerRegistrationKey&amp;)’ at ../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:109:99,
    inlined from ‘typename std::enable_if&lt;(! WTF::HashTraitHasCustomDelete&lt;Traits, T&gt;::value)&gt;::type WTF::hashTraitsDeleteBucket(T&amp;) [with Traits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;; T = WebCore::ServiceWorkerRegistrationKey]’ at WTF/Headers/wtf/HashTraits.h:305:34,
    inlined from ‘static void WTF::KeyValuePairHashTraits&lt;KeyTraitsArg, ValueTraitsArg&gt;::customDeleteBucket(WTF::KeyValuePairHashTraits&lt;KeyTraitsArg, ValueTraitsArg&gt;::TraitType&amp;) [with KeyTraitsArg = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;; ValueTraitsArg = WTF::HashTraits&lt;WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;]’ at WTF/Headers/wtf/HashTraits.h:378:42,
    inlined from ‘typename std::enable_if&lt;WTF::HashTraitHasCustomDelete&lt;Traits, T&gt;::value&gt;::type WTF::hashTraitsDeleteBucket(T&amp;) [with Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; T = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;]’ at WTF/Headers/wtf/HashTraits.h:297:31,
    inlined from ‘static void WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::deleteBucket(WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::ValueType&amp;) [with Key = WebCore::ServiceWorkerRegistrationKey; Value = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;; Extractor = WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt; &gt;; HashFunctions = WTF::DefaultHash&lt;WebCore::ServiceWorkerRegistrationKey&gt;; Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; KeyTraits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;]’ at WTF/Headers/wtf/HashTable.h:549:85,
    inlined from ‘void WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::remove(WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::ValueType*) [with Key = WebCore::ServiceWorkerRegistrationKey; Value = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;; Extractor = WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt; &gt;; HashFunctions = WTF::DefaultHash&lt;WebCore::ServiceWorkerRegistrationKey&gt;; Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; KeyTraits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;]’ at WTF/Headers/wtf/HashTable.h:1127:21:
WTF/Headers/wtf/URL.h:56:7: warning: ‘*(long unsigned int*)((char*)&amp;&lt;unnamed&gt; + offsetof(WTF::URL, WTF::URL::m_pathEnd))’ is used uninitialized [-Wuninitialized]
   56 | class URL {
      |       ^~~
In file included from ../../Source/WebCore/workers/service/server/SWScriptStorage.cpp:32,
                 from WebCore/DerivedSources/unified-sources/UnifiedSource-f74e0903-7.cpp:1:
../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h: In member function ‘void WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::remove(WTF::HashTable&lt;Key, Value, Extractor, HashFunctions, Traits, KeyTraits&gt;::ValueType*) [with Key = WebCore::ServiceWorkerRegistrationKey; Value = WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;; Extractor = WTF::KeyValuePairKeyExtractor&lt;WTF::KeyValuePair&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt; &gt;; HashFunctions = WTF::DefaultHash&lt;WebCore::ServiceWorkerRegistrationKey&gt;; Traits = WTF::HashMap&lt;WebCore::ServiceWorkerRegistrationKey, WTF::WeakPtr&lt;WebCore::SWServerRegistration&gt; &gt;::KeyValuePairTraits; KeyTraits = WTF::HashTraits&lt;WebCore::ServiceWorkerRegistrationKey&gt;]’:
../../Source/WebCore/workers/service/ServiceWorkerRegistrationKey.h:109:125: note: ‘&lt;anonymous&gt;’ declared here
  109 |     static void constructDeletedValue(WebCore::ServiceWorkerRegistrationKey&amp; slot) { slot.setScope(URL(HashTableDeletedValue)); }
      |                                                                                                                             ^</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751385</commentid>
    <comment_count>14</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-16 21:09:49 -0700</bug_when>
    <thetext>Very interesting, although unrelated to this change.  It looks like it&apos;s complaining that URL::URL(HashTableDeletedValueType) doesn&apos;t initialize any members but m_string.  That&apos;s fine because only m_string is used for hash-table-deleted-entry-URLs and probably preferred because it does fewer write operations.
Maybe there&apos;s a way to silence those warnings or initialize all the members only in builds that would see those warnings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751414</commentid>
    <comment_count>15</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-04-17 06:31:14 -0700</bug_when>
    <thetext>OK sorry, I commented here because I incorrectly assumed it was caused by this change.

(In reply to Alex Christensen from comment #14)
&gt; Very interesting, although unrelated to this change.  It looks like it&apos;s
&gt; complaining that URL::URL(HashTableDeletedValueType) doesn&apos;t initialize any
&gt; members but m_string.  That&apos;s fine because only m_string is used for
&gt; hash-table-deleted-entry-URLs and probably preferred because it does fewer
&gt; write operations.
&gt; Maybe there&apos;s a way to silence those warnings or initialize all the members
&gt; only in builds that would see those warnings.

Hmm, I can silence it, sure, but initializing variables is cheap and more robust. In theory, the warning is only supposed to print if uninitialized data is actually used, but I&apos;m losing confidence in GCC&apos;s ability to avoid false positives....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751762</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2021-04-19 07:00:37 -0700</bug_when>
    <thetext>I&apos;ve created bug #224755 so we can continue discussion there instead of further polluting this issue. Sorry for commenting in the wrong place.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425636</attachid>
            <date>2021-04-09 11:26:43 -0700</date>
            <delta_ts>2021-04-15 12:42:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224381-20210409112642.patch</filename>
            <type>text/plain</type>
            <size>6185</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGZhZTNiN2Y3YzcxMzM0ZTU0NTQ4MGJj
NmMxNWM2MTI1OGFiMzQ0NzIuLjkyODZmZWZlY2VhYzdhYzUxN2FiZDdmMjE3MGEzYjY4YmRkZmZk
YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDQtMDkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZWR1Y2UgbWF4aW11bSBIYXNoVGFi
bGUgZW50cnkgc2l6ZSB0byAxMjggYnl0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNDM4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEl0IHR1cm5zIG91dCB0aGF0IEhhc2hNYXBzIHVzZSBIYXNoVGFi
bGU6OlZhbHVlIGFzIEtleVZhbHVlUGFpciwgc28gc2l6ZW9mKEtleSkgKyBzaXplb2YoVmFsdWUp
IHdhcyBkb3VibGUgY291bnRpbmcgdGhlIGtleSBzaXplLgorICAgICAgICBUaGlzIGNhdXNlZCBG
b250Q2FzY2FkZUNhY2hlIHRvIGJlIGEgZmFsc2UgcG9zaXRpdmUuICBJdCBoYXMgYSBrZXkgc2l6
ZSBvZiBhIGxpdHRsZSBvdmVyIDEwMCBieXRlcy4gIE9ubHkgY291bnRpbmcgaXQgb25jZSByZWZs
ZWN0cyB3aGF0IGlzIGludGVuZGVkLgorICAgICAgICBBbHNvLCB0aGUgVVNFKEFOR0xFKSBleGNl
cHRpb24gd2FzIGNvbnZlbmllbnQgZm9yIGEgZG93bnN0cmVhbSBicmFuY2gsIGJ1dCBpc24ndCBu
ZWVkZWQuICBOZXh0IHRpbWUgdGhleSByZWJhc2UgdGhleSB3aWxsIHVzZSBVbmlxdWVSZWYuCisK
KyAgICAgICAgKiB3dGYvSGFzaFRhYmxlLmg6CisgICAgICAgIChXVEY6OktleVRyYWl0cz46Omlu
bGluZUxvb2t1cCk6CisKIDIwMjEtMDQtMDggIFN0ZXBoYW4gU3phYm8gIDxzdGVwaGFuLnN6YWJv
QHNvbnkuY29tPgogCiAgICAgICAgIFtSdW5Mb29wR2VuZXJpY10gT25lU2hvdFRpbWVyIHNob3Vs
ZCBub3QgcmVtYWluICJpc0FjdGl2ZSIgYWZ0ZXIgZmlyZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZjdlMGFkM2Jk
OTc4ZThiYjBhNmVhNmZkNjdkMThkMWM0MzRkOGE2NS4uMjUxOTFmY2RjMmY2MDlmYzUwOTIxZmU2
MDU0YWMyZTAxNzM4ZmU5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wNC0wOSAg
QWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJl
ZHVjZSBtYXhpbXVtIEhhc2hUYWJsZSBlbnRyeSBzaXplIHRvIDEyOCBieXRlcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0MzgxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvVmlld1VwZGF0ZURpc3BhdGNoZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpWaWV3VXBkYXRl
RGlzcGF0Y2hlcjo6dmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlKToKKyAgICAgICAgKFdlYktpdDo6
Vmlld1VwZGF0ZURpc3BhdGNoZXI6OmRpc3BhdGNoVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvVmlld1VwZGF0ZURpc3BhdGNoZXIuaDoKKyAg
ICAgICAgKFdlYktpdDo6Vmlld1VwZGF0ZURpc3BhdGNoZXI6OlVwZGF0ZURhdGE6OlVwZGF0ZURh
dGEpOgorCiAyMDIxLTA0LTA5ICBBZGl0eWEgS2VlcnRoaSAgPGFrZWVydGhpQGFwcGxlLmNvbT4K
IAogICAgICAgICBbaU9TXVtGQ1JdIFVzZSBjb250ZXh0IG1lbnVzIGZvciB0ZXh0IGlucHV0IGRh
dGFsaXN0IGRyb3Bkb3ducwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvSGFzaFRhYmxlLmgg
Yi9Tb3VyY2UvV1RGL3d0Zi9IYXNoVGFibGUuaAppbmRleCAxMmRkODQ4MjJhYTUzMDY4YzM4ZGM5
Zjg0OTY2YmFkNGE0MGIzZDMxLi42MzI2MjUyYzE4OTg1ZDYxODk2YjAwZDE2MjFmM2I4MDFmM2E1
YzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoVGFibGUuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9IYXNoVGFibGUuaApAQCAtNjY1LDEyICs2NjUsNyBAQCBERUNMQVJFX0FMTE9DQVRP
Ul9XSVRIX0hFQVBfSURFTlRJRklFUihIYXNoVGFibGUpOwogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IEhhc2hUcmFuc2xhdG9yLCB0eXBlbmFtZSBUPgogICAgIEFMV0FZU19JTkxJTkUgYXV0byBIYXNo
VGFibGU8S2V5LCBWYWx1ZSwgRXh0cmFjdG9yLCBIYXNoRnVuY3Rpb25zLCBUcmFpdHMsIEtleVRy
YWl0cz46OmlubGluZUxvb2t1cChjb25zdCBUJiBrZXkpIC0+IFZhbHVlVHlwZSoKICAgICB7Ci0j
aWYgVVNFKEFOR0xFKQotICAgICAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihLZXkpICsgc2l6ZW9m
KFZhbHVlKSA8IDI1MCwgIllvdXIgSGFzaFRhYmxlIHR5cGVzIGFyZSB0b28gYmlnIHRvIGVmZmlj
aWVudGx5IG1vdmUgd2hlbiByZWhhc2hpbmcuICBDb25zaWRlciB1c2luZyBVbmlxdWVSZWYgaW5z
dGVhZCIpOwotI2Vsc2UKLSAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjM2MzcKLSAgICAgICAgc3RhdGljX2Fzc2VydChzaXplb2YoS2V5
KSArIHNpemVvZihWYWx1ZSkgPCA0MDAsICJZb3VyIEhhc2hUYWJsZSB0eXBlcyBhcmUgdG9vIGJp
ZyB0byBlZmZpY2llbnRseSBtb3ZlIHdoZW4gcmVoYXNoaW5nLiAgQ29uc2lkZXIgdXNpbmcgVW5p
cXVlUmVmIGluc3RlYWQiKTsKLSNlbmRpZgorICAgICAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihW
YWx1ZSkgPD0gMTI4LCAiWW91ciBIYXNoVGFibGUgdHlwZXMgYXJlIHRvbyBiaWcgdG8gZWZmaWNp
ZW50bHkgbW92ZSB3aGVuIHJlaGFzaGluZy4gIENvbnNpZGVyIHVzaW5nIFVuaXF1ZVJlZiBpbnN0
ZWFkIik7CiAgICAgICAgIGNoZWNrS2V5PEhhc2hUcmFuc2xhdG9yPihrZXkpOwogCiAgICAgICAg
IHVuc2lnbmVkIGsgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvVmlld1VwZGF0ZURpc3BhdGNoZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvVmlld1VwZGF0ZURpc3BhdGNoZXIuY3BwCmluZGV4IDY0YTAxMmUwMTEwZmEyOTg2
NTg1ZWVhZjcyODA4OTA4M2I4MzQxOTcuLmU5YTEzOTQ4M2RjYzQ1NGE2MmQ4ZmE5MzUxNzBkZGE3
ODE4NWFlMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1Zp
ZXdVcGRhdGVEaXNwYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9WaWV3VXBkYXRlRGlzcGF0Y2hlci5jcHAKQEAgLTY0LDkgKzY0LDkgQEAgdm9pZCBWaWV3
VXBkYXRlRGlzcGF0Y2hlcjo6dmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlKFdlYkNvcmU6OlBhZ2VJ
ZGVudGlmaWVyIHBhZ2UKICAgICAgICAgdXBkYXRlTGlzdFdhc0VtcHR5ID0gbV9sYXRlc3RVcGRh
dGUuaXNFbXB0eSgpOwogICAgICAgICBhdXRvIGl0ZXJhdG9yID0gbV9sYXRlc3RVcGRhdGUuZmlu
ZChwYWdlSUQpOwogICAgICAgICBpZiAoaXRlcmF0b3IgPT0gbV9sYXRlc3RVcGRhdGUuZW5kKCkp
Ci0gICAgICAgICAgICBtX2xhdGVzdFVwZGF0ZS5zZXQ8VXBkYXRlRGF0YT4ocGFnZUlELCB7IHZp
c2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8sIHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8u
dGltZXN0YW1wKCkgfSk7CisgICAgICAgICAgICBtX2xhdGVzdFVwZGF0ZS5zZXQocGFnZUlELCBt
YWtlVW5pcXVlUmVmPFVwZGF0ZURhdGE+KHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8sIHZp
c2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8udGltZXN0YW1wKCkpKTsKICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgaXRlcmF0b3ItPnZhbHVlLnZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8g
PSB2aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvOworICAgICAgICAgICAgaXRlcmF0b3ItPnZh
bHVlLmdldCgpLnZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm8gPSB2aXNpYmxlQ29udGVudFJl
Y3RVcGRhdGVJbmZvOwogICAgIH0KICAgICBpZiAodXBkYXRlTGlzdFdhc0VtcHR5KSB7CiAgICAg
ICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRo
aXMpXSgpIG11dGFibGUgewpAQCAtNzcsMTUgKzc3LDE1IEBAIHZvaWQgVmlld1VwZGF0ZURpc3Bh
dGNoZXI6OnZpc2libGVDb250ZW50UmVjdFVwZGF0ZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBw
YWdlCiAKIHZvaWQgVmlld1VwZGF0ZURpc3BhdGNoZXI6OmRpc3BhdGNoVmlzaWJsZUNvbnRlbnRS
ZWN0VXBkYXRlKCkKIHsKLSAgICBIYXNoTWFwPFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBVcGRh
dGVEYXRhPiB1cGRhdGU7CisgICAgSGFzaE1hcDxXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgVW5p
cXVlUmVmPFVwZGF0ZURhdGE+PiB1cGRhdGU7CiAgICAgewogICAgICAgICBMb2NrSG9sZGVyIGxv
Y2tlcigmbV9kYXRhTXV0ZXgpOwotICAgICAgICB1cGRhdGUgPSBXVEZNb3ZlKG1fbGF0ZXN0VXBk
YXRlKTsKKyAgICAgICAgdXBkYXRlID0gc3RkOjpleGNoYW5nZShtX2xhdGVzdFVwZGF0ZSwgeyB9
KTsKICAgICB9CiAKICAgICBmb3IgKGF1dG8mIHNsb3QgOiB1cGRhdGUpIHsKICAgICAgICAgaWYg
KFdlYlBhZ2UqIHdlYlBhZ2UgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJQYWdlKHNsb3Qu
a2V5KSkKLSAgICAgICAgICAgIHdlYlBhZ2UtPnVwZGF0ZVZpc2libGVDb250ZW50UmVjdHMoc2xv
dC52YWx1ZS52aXNpYmxlQ29udGVudFJlY3RVcGRhdGVJbmZvLCBzbG90LnZhbHVlLm9sZGVzdFRp
bWVzdGFtcCk7CisgICAgICAgICAgICB3ZWJQYWdlLT51cGRhdGVWaXNpYmxlQ29udGVudFJlY3Rz
KHNsb3QudmFsdWUuZ2V0KCkudmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbywgc2xvdC52YWx1
ZS5nZXQoKS5vbGRlc3RUaW1lc3RhbXApOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvVmlld1VwZGF0ZURpc3BhdGNoZXIuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1ZpZXdVcGRhdGVEaXNwYXRjaGVyLmgKaW5kZXgg
MWExYzE2M2Y2MDhiYjc1YjRiNWVmY2Q1MjEwNTY0NDE1MWM4NzI5Ny4uMDU2ZTUzNzg0M2JjNzU1
OTM2NmFkYjNmYjFhMDI1NTcwMDNiZmQxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvVmlld1VwZGF0ZURpc3BhdGNoZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9WaWV3VXBkYXRlRGlzcGF0Y2hlci5oCkBAIC01NCwxMyArNTQs
MTggQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpc3BhdGNoVmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRl
KCk7CiAKICAgICBzdHJ1Y3QgVXBkYXRlRGF0YSB7CisgICAgICAgIFdURl9NQUtFX1NUUlVDVF9G
QVNUX0FMTE9DQVRFRDsKKyAgICAgICAgVXBkYXRlRGF0YShjb25zdCBWaXNpYmxlQ29udGVudFJl
Y3RVcGRhdGVJbmZvJiBpbmZvLCBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCkKKyAgICAgICAgICAg
IDogdmlzaWJsZUNvbnRlbnRSZWN0VXBkYXRlSW5mbyhpbmZvKQorICAgICAgICAgICAgLCBvbGRl
c3RUaW1lc3RhbXAodGltZXN0YW1wKSB7IH0KKwogICAgICAgICBWaXNpYmxlQ29udGVudFJlY3RV
cGRhdGVJbmZvIHZpc2libGVDb250ZW50UmVjdFVwZGF0ZUluZm87CiAgICAgICAgIE1vbm90b25p
Y1RpbWUgb2xkZXN0VGltZXN0YW1wOwogICAgIH07CiAKICAgICBSZWY8V29ya1F1ZXVlPiBtX3F1
ZXVlOwogICAgIExvY2sgbV9kYXRhTXV0ZXg7Ci0gICAgSGFzaE1hcDxXZWJDb3JlOjpQYWdlSWRl
bnRpZmllciwgVXBkYXRlRGF0YT4gbV9sYXRlc3RVcGRhdGU7CisgICAgSGFzaE1hcDxXZWJDb3Jl
OjpQYWdlSWRlbnRpZmllciwgVW5pcXVlUmVmPFVwZGF0ZURhdGE+PiBtX2xhdGVzdFVwZGF0ZTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426126</attachid>
            <date>2021-04-15 12:42:41 -0700</date>
            <delta_ts>2021-04-16 12:23:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224381-20210415124240.patch</filename>
            <type>text/plain</type>
            <size>5841</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MDMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDFkYWI3YjIzM2Q2NWEyMGFmMTNlZjBj
YTBhMzE1NGVjZDVhNWU0NjUuLmQ5NzM2NjMyY2NlYTlkNTIxODA3MzU4NTA3YWM2NzZjMjMwMWZm
YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDQtMTUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZWR1Y2UgbWF4aW11bSBIYXNoVGFi
bGUgZW50cnkgc2l6ZSB0byAxMjggYnl0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyNDM4MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogd3RmL0hhc2hUYWJsZS5oOgorICAgICAgICAoV1RGOjpLZXlU
cmFpdHM+OjppbmxpbmVMb29rdXApOgorCiAyMDIxLTA0LTE1ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXNlIFdURjo6RnVuY3Rpb24gaW5z
dGVhZCBvZiBzdGQ6OmZ1bmN0aW9uIGluIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjphdHRy
aWJ1dGVBbmltYXRvckNyZWF0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5ZjA1NGNkMmVjMmU1M2QwZjE0NmQ4
YjU5MjA1OWQ2ZGI0MzE0ODNkLi5mNWJjYWZlYjIyMGFmOGVjYTYwZWNiNmUyZWI2MjQ2OGJjOGNj
OWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDQtMTUgIEFsZXggQ2hyaXN0
ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBSZWR1Y2UgbWF4aW11
bSBIYXNoVGFibGUgZW50cnkgc2l6ZSB0byAxMjggYnl0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDM4MQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JB
bmltYXRpb25BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JBbmltYXRpb25B
Z2VudDo6d2lsbEFwcGx5S2V5ZnJhbWVFZmZlY3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yQW5pbWF0aW9uQWdlbnQ6OnN0b3BUcmFja2luZ0RlY2xhcmF0aXZlQW5pbWF0aW9uKToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFuaW1hdGlvbkFnZW50Lmg6CisKIDIw
MjEtMDQtMTUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBVc2UgV1RGOjpGdW5jdGlvbiBpbnN0ZWFkIG9mIHN0ZDo6ZnVuY3Rpb24gaW4gU1ZH
UHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmF0dHJpYnV0ZUFuaW1hdG9yQ3JlYXRvcgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvSGFzaFRhYmxlLmggYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoVGFi
bGUuaAppbmRleCA0ZjUyMjZkNTRhNDVmNzFjMWI1MmNmMGFjM2ZkYzUxYWNhY2RhOGY1Li42MzI2
MjUyYzE4OTg1ZDYxODk2YjAwZDE2MjFmM2I4MDFmM2E1YzNmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9IYXNoVGFibGUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoVGFibGUuaApAQCAt
NjY1LDcgKzY2NSw3IEBAIERFQ0xBUkVfQUxMT0NBVE9SX1dJVEhfSEVBUF9JREVOVElGSUVSKEhh
c2hUYWJsZSk7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFzaFRyYW5zbGF0b3IsIHR5cGVuYW1l
IFQ+CiAgICAgQUxXQVlTX0lOTElORSBhdXRvIEhhc2hUYWJsZTxLZXksIFZhbHVlLCBFeHRyYWN0
b3IsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cywgS2V5VHJhaXRzPjo6aW5saW5lTG9va3VwKGNvbnN0
IFQmIGtleSkgLT4gVmFsdWVUeXBlKgogICAgIHsKLSAgICAgICAgc3RhdGljX2Fzc2VydChzaXpl
b2YoVmFsdWUpIDw9IDI1MCwgIllvdXIgSGFzaFRhYmxlIHR5cGVzIGFyZSB0b28gYmlnIHRvIGVm
ZmljaWVudGx5IG1vdmUgd2hlbiByZWhhc2hpbmcuICBDb25zaWRlciB1c2luZyBVbmlxdWVSZWYg
aW5zdGVhZCIpOworICAgICAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihWYWx1ZSkgPD0gMTI4LCAi
WW91ciBIYXNoVGFibGUgdHlwZXMgYXJlIHRvbyBiaWcgdG8gZWZmaWNpZW50bHkgbW92ZSB3aGVu
IHJlaGFzaGluZy4gIENvbnNpZGVyIHVzaW5nIFVuaXF1ZVJlZiBpbnN0ZWFkIik7CiAgICAgICAg
IGNoZWNrS2V5PEhhc2hUcmFuc2xhdG9yPihrZXkpOwogCiAgICAgICAgIHVuc2lnbmVkIGsgPSAw
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JB
bmltYXRpb25BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckFuaW1hdGlvbkFnZW50LmNwcAppbmRleCBlNzc3NGFjYzg0YTdmMzE5ZDIwZjE3ZGZmZTEx
MDRjZGU5YTgwODFlLi45ZTdhZDk5NTA5NmM5YWFmOTY4ODRlNzQxODU0YTEzZGFhYjM5Y2UyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckFuaW1h
dGlvbkFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckFuaW1hdGlvbkFnZW50LmNwcApAQCAtMzc4LDEwICszNzgsMTAgQEAgdm9pZCBJbnNwZWN0
b3JBbmltYXRpb25BZ2VudDo6d2lsbEFwcGx5S2V5ZnJhbWVFZmZlY3QoRWxlbWVudCYgdGFyZ2V0
LCBLZXlmcmFtZUUKICAgICBpZiAoIWlzPERlY2xhcmF0aXZlQW5pbWF0aW9uPihhbmltYXRpb24p
KQogICAgICAgICByZXR1cm47CiAKLSAgICBhdXRvIGVuc3VyZVJlc3VsdCA9IG1fdHJhY2tlZERl
Y2xhcmF0aXZlQW5pbWF0aW9uRGF0YS5lbnN1cmUoZG93bmNhc3Q8RGVjbGFyYXRpdmVBbmltYXRp
b24+KGFuaW1hdGlvbiksIFsmXSAoKSAtPiBUcmFja2VkRGVjbGFyYXRpdmVBbmltYXRpb25EYXRh
IHsKLSAgICAgICAgcmV0dXJuIHsgbWFrZVN0cmluZygiYW5pbWF0aW9uOiJfcywgSWRlbnRpZmll
cnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCkpLCBjb21wdXRlZFRpbWluZyB9OworICAgIGF1
dG8gZW5zdXJlUmVzdWx0ID0gbV90cmFja2VkRGVjbGFyYXRpdmVBbmltYXRpb25EYXRhLmVuc3Vy
ZShkb3duY2FzdDxEZWNsYXJhdGl2ZUFuaW1hdGlvbj4oYW5pbWF0aW9uKSwgWyZdICgpIC0+IFVu
aXF1ZVJlZjxUcmFja2VkRGVjbGFyYXRpdmVBbmltYXRpb25EYXRhPiB7CisgICAgICAgIHJldHVy
biBtYWtlVW5pcXVlUmVmPFRyYWNrZWREZWNsYXJhdGl2ZUFuaW1hdGlvbkRhdGE+KFRyYWNrZWRE
ZWNsYXJhdGl2ZUFuaW1hdGlvbkRhdGEgeyBtYWtlU3RyaW5nKCJhbmltYXRpb246Il9zLCBJZGVu
dGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSksIGNvbXB1dGVkVGltaW5nIH0pOwog
ICAgIH0pOwotICAgIGF1dG8mIHRyYWNraW5nRGF0YSA9IGVuc3VyZVJlc3VsdC5pdGVyYXRvci0+
dmFsdWU7CisgICAgYXV0byYgdHJhY2tpbmdEYXRhID0gZW5zdXJlUmVzdWx0Lml0ZXJhdG9yLT52
YWx1ZS5nZXQoKTsKIAogICAgIE9wdGlvbmFsPFByb3RvY29sOjpBbmltYXRpb246OkFuaW1hdGlv
blN0YXRlPiBhbmltYXRpb25BbmltYXRpb25TdGF0ZTsKIApAQCAtNjAwLDE5ICs2MDAsMTcgQEAg
dm9pZCBJbnNwZWN0b3JBbmltYXRpb25BZ2VudDo6cmVzZXQoKQogCiB2b2lkIEluc3BlY3RvckFu
aW1hdGlvbkFnZW50OjpzdG9wVHJhY2tpbmdEZWNsYXJhdGl2ZUFuaW1hdGlvbihEZWNsYXJhdGl2
ZUFuaW1hdGlvbiYgYW5pbWF0aW9uKQogewotICAgIGF1dG8gaXQgPSBtX3RyYWNrZWREZWNsYXJh
dGl2ZUFuaW1hdGlvbkRhdGEuZmluZCgmYW5pbWF0aW9uKTsKLSAgICBpZiAoaXQgPT0gbV90cmFj
a2VkRGVjbGFyYXRpdmVBbmltYXRpb25EYXRhLmVuZCgpKQorICAgIGF1dG8gZGF0YSA9IG1fdHJh
Y2tlZERlY2xhcmF0aXZlQW5pbWF0aW9uRGF0YS50YWtlKCZhbmltYXRpb24pOworICAgIGlmICgh
ZGF0YSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGl0LT52YWx1ZS5sYXN0Q29tcHV0ZWRU
aW1pbmcucGhhc2UgIT0gQW5pbWF0aW9uRWZmZWN0UGhhc2U6OkFmdGVyICYmIGl0LT52YWx1ZS5s
YXN0Q29tcHV0ZWRUaW1pbmcucGhhc2UgIT0gQW5pbWF0aW9uRWZmZWN0UGhhc2U6OklkbGUpIHsK
KyAgICBpZiAoZGF0YS0+bGFzdENvbXB1dGVkVGltaW5nLnBoYXNlICE9IEFuaW1hdGlvbkVmZmVj
dFBoYXNlOjpBZnRlciAmJiBkYXRhLT5sYXN0Q29tcHV0ZWRUaW1pbmcucGhhc2UgIT0gQW5pbWF0
aW9uRWZmZWN0UGhhc2U6OklkbGUpIHsKICAgICAgICAgYXV0byBldmVudCA9IFByb3RvY29sOjpB
bmltYXRpb246OlRyYWNraW5nVXBkYXRlOjpjcmVhdGUoKQotICAgICAgICAgICAgLnNldFRyYWNr
aW5nQW5pbWF0aW9uSWQoaXQtPnZhbHVlLnRyYWNraW5nQW5pbWF0aW9uSWQpCisgICAgICAgICAg
ICAuc2V0VHJhY2tpbmdBbmltYXRpb25JZChkYXRhLT50cmFja2luZ0FuaW1hdGlvbklkKQogICAg
ICAgICAgICAgLnNldEFuaW1hdGlvblN0YXRlKFByb3RvY29sOjpBbmltYXRpb246OkFuaW1hdGlv
blN0YXRlOjpDYW5jZWxlZCkKICAgICAgICAgICAgIC5yZWxlYXNlKCk7CiAgICAgICAgIG1fZnJv
bnRlbmREaXNwYXRjaGVyLT50cmFja2luZ1VwZGF0ZShtX2Vudmlyb25tZW50LmV4ZWN1dGlvblN0
b3B3YXRjaCgpLmVsYXBzZWRUaW1lKCkuc2Vjb25kcygpLCBXVEZNb3ZlKGV2ZW50KSk7CiAgICAg
fQotCi0gICAgbV90cmFja2VkRGVjbGFyYXRpdmVBbmltYXRpb25EYXRhLnJlbW92ZShpdCk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQW5pbWF0aW9uQWdlbnQuaAppbmRleCAwNjRhYzQw
NjNjMzA5ZmRiNDFjNzFiZmNmNmNiZDllYTY0ZWQ5MzE2Li5iMzkwOGMzZDI4ZDEzNjlkZjZlYzA5
YjI0ZTMyZDhlNDlmMTI3ZjNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvckFuaW1hdGlvbkFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2FnZW50cy9JbnNwZWN0b3JBbmltYXRpb25BZ2VudC5oCkBAIC05NCwxMCArOTQsMTEg
QEAgcHJpdmF0ZToKICAgICBUaW1lciBtX2FuaW1hdGlvbkRlc3Ryb3llZFRpbWVyOwogCiAgICAg
c3RydWN0IFRyYWNrZWREZWNsYXJhdGl2ZUFuaW1hdGlvbkRhdGEgeworICAgICAgICBXVEZfTUFL
RV9TVFJVQ1RfRkFTVF9BTExPQ0FURUQ7CiAgICAgICAgIFN0cmluZyB0cmFja2luZ0FuaW1hdGlv
bklkOwogICAgICAgICBDb21wdXRlZEVmZmVjdFRpbWluZyBsYXN0Q29tcHV0ZWRUaW1pbmc7CiAg
ICAgfTsKLSAgICBIYXNoTWFwPERlY2xhcmF0aXZlQW5pbWF0aW9uKiwgVHJhY2tlZERlY2xhcmF0
aXZlQW5pbWF0aW9uRGF0YT4gbV90cmFja2VkRGVjbGFyYXRpdmVBbmltYXRpb25EYXRhOworICAg
IEhhc2hNYXA8RGVjbGFyYXRpdmVBbmltYXRpb24qLCBVbmlxdWVSZWY8VHJhY2tlZERlY2xhcmF0
aXZlQW5pbWF0aW9uRGF0YT4+IG1fdHJhY2tlZERlY2xhcmF0aXZlQW5pbWF0aW9uRGF0YTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>