<?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>167576</bug_id>
          
          <creation_ts>2017-01-30 00:20:18 -0800</creation_ts>
          <short_desc>IndexedDB: Several test crash in when destroying a IDBKeyData</short_desc>
          <delta_ts>2018-02-16 09:42:25 -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>WebKit2</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, LayoutTestFailure</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>160306</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>beidson</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>commit-queue</cc>
    
    <cc>csaavedra</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>jsbell</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1271200</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2017-01-30 00:20:18 -0800</bug_when>
    <thetext>I&apos;ve seen this in the GTK+ bots, but it doesn&apos;t look like a GTk+ specific problem. See:

https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r211357%20(20510)/storage/indexeddb/modern/index-3-private-crash-log.txt
https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r211357%20(20510)/imported/w3c/IndexedDB-private-browsing/idbcursor_iterating_index-crash-log.txt
https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r211357%20(20510)/imported/w3c/IndexedDB-private-browsing/idbcursor_iterating-crash-log.txt

Slightly different bts, but all of them end up deleting the IDBKeyData:

Thread 1 (Thread 0x7fbb837ff700 (LWP 1368)):
#0  0x00007fbd23d15478 in void WTF::__destroy_op_table&lt;WTF::Variant&lt;WTF::Vector&lt;WebCore::IDBKeyData, 0ul, WTF::CrashOnOverflow, 16ul&gt;, WTF::String, double, WebCore::ThreadSafeDataBuffer&gt;, WTF::__index_sequence&lt;0l, 1l, 2l, 3l&gt; &gt;::__destroy_func&lt;0l&gt;(WTF::Variant&lt;WTF::Vector&lt;WebCore::IDBKeyData, 0ul, WTF::CrashOnOverflow, 16ul&gt;, WTF::String, double, WebCore::ThreadSafeDataBuffer&gt;*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#1  0x00007fbd24196f14 in std::enable_if&lt;!WTF::HashTraitHasCustomDelete&lt;WebCore::IDBKeyDataHashTraits, WebCore::IDBKeyData&gt;::value, void&gt;::type WTF::hashTraitsDeleteBucket&lt;WebCore::IDBKeyDataHashTraits, WebCore::IDBKeyData&gt;(WebCore::IDBKeyData&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#2  0x00007fbd24195588 in WebCore::IDBServer::IndexValueStore::removeRecord(WebCore::IDBKeyData const&amp;, WebCore::IDBKeyData const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#3  0x00007fbd241a68c0 in WebCore::IDBServer::MemoryIndex::removeRecord(WebCore::IDBKeyData const&amp;, WebCore::IndexKey const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#4  0x00007fbd241ae4f3 in WebCore::IDBServer::MemoryObjectStore::updateIndexesForPutRecord(WebCore::IDBKeyData const&amp;, WebCore::ThreadSafeDataBuffer const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#5  0x00007fbd241af5c3 in WebCore::IDBServer::MemoryObjectStore::addRecord(WebCore::IDBServer::MemoryBackingStoreTransaction&amp;, WebCore::IDBKeyData const&amp;, WebCore::IDBValue const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#6  0x00007fbd241a022c in WebCore::IDBServer::MemoryIDBBackingStore::addRecord(WebCore::IDBResourceIdentifier const&amp;, WebCore::IDBObjectStoreInfo const&amp;, WebCore::IDBKeyData const&amp;, WebCore::IDBValue const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#7  0x00007fbd241d27b0 in WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd(unsigned long, WebCore::IDBResourceIdentifier const&amp;, unsigned long, WebCore::IDBKeyData const&amp;, WebCore::IDBValue const&amp;, WebCore::IndexedDB::ObjectStoreOverwriteMode) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#8  0x00007fbd241d3ead in WTF::Function&lt;void ()&gt;::CallableWrapper&lt;WTF::CrossThreadTask WTF::createCrossThreadTask&lt;WebCore::IDBServer::UniqueIDBDatabase, unsigned long, WebCore::IDBResourceIdentifier const&amp;, unsigned long, WebCore::IDBKeyData const&amp;, WebCore::IDBValue const&amp;, WebCore::IndexedDB::ObjectStoreOverwriteMode, unsigned long, WebCore::IDBResourceIdentifier, unsigned long, WebCore::IDBKeyData, WebCore::IDBValue, WebCore::IndexedDB::ObjectStoreOverwriteMode&gt;(WebCore::IDBServer::UniqueIDBDatabase&amp;, void (WebCore::IDBServer::UniqueIDBDatabase::*)(unsigned long, WebCore::IDBResourceIdentifier const&amp;, unsigned long, WebCore::IDBKeyData const&amp;, WebCore::IDBValue const&amp;, WebCore::IndexedDB::ObjectStoreOverwriteMode), unsigned long const&amp;, WebCore::IDBResourceIdentifier const&amp;, unsigned long const&amp;, WebCore::IDBKeyData const&amp;, WebCore::IDBValue const&amp;, WebCore::IndexedDB::ObjectStoreOverwriteMode const&amp;)::{lambda()#1}&gt;::call() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#9  0x00007fbd241cc33d in WebCore::IDBServer::UniqueIDBDatabase::executeNextDatabaseTask() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#10 0x00007fbd2418cb82 in WebCore::IDBServer::IDBServer::databaseRunLoop() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#11 0x00007fbd21d29345 in WTF::threadEntryPoint(void*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#12 0x00007fbd21d5e0ba in WTF::wtfThreadEntryPoint(void*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#13 0x00007fbd1eed50a4 in start_thread (arg=0x7fbb837ff700) at pthread_create.c:309
#14 0x00007fbd1b1c387d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f234bfff700 (LWP 7776)):
#0  0x00007f23b1604478 in void WTF::__destroy_op_table&lt;WTF::Variant&lt;WTF::Vector&lt;WebCore::IDBKeyData, 0ul, WTF::CrashOnOverflow, 16ul&gt;, WTF::String, double, WebCore::ThreadSafeDataBuffer&gt;, WTF::__index_sequence&lt;0l, 1l, 2l, 3l&gt; &gt;::__destroy_func&lt;0l&gt;(WTF::Variant&lt;WTF::Vector&lt;WebCore::IDBKeyData, 0ul, WTF::CrashOnOverflow, 16ul&gt;, WTF::String, double, WebCore::ThreadSafeDataBuffer&gt;*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#1  0x00007f23b1a85f14 in std::enable_if&lt;!WTF::HashTraitHasCustomDelete&lt;WebCore::IDBKeyDataHashTraits, WebCore::IDBKeyData&gt;::value, void&gt;::type WTF::hashTraitsDeleteBucket&lt;WebCore::IDBKeyDataHashTraits, WebCore::IDBKeyData&gt;(WebCore::IDBKeyData&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#2  0x00007f23b1a9ea55 in WebCore::IDBServer::MemoryObjectStore::deleteRecord(WebCore::IDBKeyData const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#3  0x00007f23b1a9ee1c in WebCore::IDBServer::MemoryObjectStore::deleteRange(WebCore::IDBKeyRangeData const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#4  0x00007f23b1a8f527 in WebCore::IDBServer::MemoryIDBBackingStore::deleteRange(WebCore::IDBResourceIdentifier const&amp;, unsigned long, WebCore::IDBKeyRangeData const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#5  0x00007f23b1ac1dba in WebCore::IDBServer::UniqueIDBDatabase::performDeleteRecord(unsigned long, WebCore::IDBResourceIdentifier const&amp;, unsigned long, WebCore::IDBKeyRangeData const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#6  0x00007f23b1abb33d in WebCore::IDBServer::UniqueIDBDatabase::executeNextDatabaseTask() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#7  0x00007f23b1a7bb82 in WebCore::IDBServer::IDBServer::databaseRunLoop() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#8  0x00007f23af618345 in WTF::threadEntryPoint(void*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#9  0x00007f23af64d0ba in WTF::wtfThreadEntryPoint(void*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#10 0x00007f23ac7c40a4 in start_thread (arg=0x7f234bfff700) at pthread_create.c:309
#11 0x00007f23a8ab287d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7fdba77fe700 (LWP 7394)):
#0  0x00007fdc50f56478 in void WTF::__destroy_op_table&lt;WTF::Variant&lt;WTF::Vector&lt;WebCore::IDBKeyData, 0ul, WTF::CrashOnOverflow, 16ul&gt;, WTF::String, double, WebCore::ThreadSafeDataBuffer&gt;, WTF::__index_sequence&lt;0l, 1l, 2l, 3l&gt; &gt;::__destroy_func&lt;0l&gt;(WTF::Variant&lt;WTF::Vector&lt;WebCore::IDBKeyData, 0ul, WTF::CrashOnOverflow, 16ul&gt;, WTF::String, double, WebCore::ThreadSafeDataBuffer&gt;*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#1  0x00007fdc513d7f14 in std::enable_if&lt;!WTF::HashTraitHasCustomDelete&lt;WebCore::IDBKeyDataHashTraits, WebCore::IDBKeyData&gt;::value, void&gt;::type WTF::hashTraitsDeleteBucket&lt;WebCore::IDBKeyDataHashTraits, WebCore::IDBKeyData&gt;(WebCore::IDBKeyData&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#2  0x00007fdc513d68a8 in WebCore::IDBServer::IndexValueStore::removeEntriesWithValueKey(WebCore::IDBServer::MemoryIndex&amp;, WebCore::IDBKeyData const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#3  0x00007fdc513ed3a1 in WebCore::IDBServer::MemoryObjectStore::updateIndexesForDeleteRecord(WebCore::IDBKeyData const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#4  0x00007fdc513f0b48 in WebCore::IDBServer::MemoryObjectStore::deleteRecord(WebCore::IDBKeyData const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#5  0x00007fdc513f0e1c in WebCore::IDBServer::MemoryObjectStore::deleteRange(WebCore::IDBKeyRangeData const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#6  0x00007fdc513e1527 in WebCore::IDBServer::MemoryIDBBackingStore::deleteRange(WebCore::IDBResourceIdentifier const&amp;, unsigned long, WebCore::IDBKeyRangeData const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#7  0x00007fdc51413dba in WebCore::IDBServer::UniqueIDBDatabase::performDeleteRecord(unsigned long, WebCore::IDBResourceIdentifier const&amp;, unsigned long, WebCore::IDBKeyRangeData const&amp;) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#8  0x00007fdc5140d33d in WebCore::IDBServer::UniqueIDBDatabase::executeNextDatabaseTask() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#9  0x00007fdc513cdb82 in WebCore::IDBServer::IDBServer::databaseRunLoop() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
#10 0x00007fdc4ef6a345 in WTF::threadEntryPoint(void*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#11 0x00007fdc4ef9f0ba in WTF::wtfThreadEntryPoint(void*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
#12 0x00007fdc4c1160a4 in start_thread (arg=0x7fdba77fe700) at pthread_create.c:309
#13 0x00007fdc4840487d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1319091</commentid>
    <comment_count>1</comment_count>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2017-06-14 04:07:48 -0700</bug_when>
    <thetext>Same issue with the WPE port:

  imported/w3c/IndexedDB-private-browsing/idbcursor_iterating.html [ Crash ]
  imported/w3c/IndexedDB-private-browsing/idbcursor_iterating_index.html [ Crash ]

Pretty much the same stacktraces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1320521</commentid>
    <comment_count>2</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-06-18 12:17:37 -0700</bug_when>
    <thetext>This might be an issue in the GCC compiler:
- doesn&apos;t occur in &quot;-O -DNDEBUG&quot; builds (i.e. release builds with optimizations disabled),
- doesn&apos;t occur when building with Clang.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321079</commentid>
    <comment_count>3</comment_count>
    <who name="Claudio Saavedra">csaavedra</who>
    <bug_when>2017-06-20 03:10:14 -0700</bug_when>
    <thetext>Could this have been fixed by r218516 ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321108</commentid>
    <comment_count>4</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2017-06-20 07:14:23 -0700</bug_when>
    <thetext>Quite possible. Let&apos;s see how these tests behave in the next few days and act accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322527</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-06-23 18:18:34 -0700</bug_when>
    <thetext>(In reply to Claudio Saavedra from comment #3)
&gt; Could this have been fixed by r218516 ?

Sadly the tests are still crashing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322562</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2017-06-23 21:56:37 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #5)
&gt; (In reply to Claudio Saavedra from comment #3)
&gt; &gt; Could this have been fixed by r218516 ?
&gt; 
&gt; Sadly the tests are still crashing.

:(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1396738</commentid>
    <comment_count>7</comment_count>
      <attachid>333160</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-02-06 02:22:49 -0800</bug_when>
    <thetext>Created attachment 333160
debug patch

An instance of IDBKeyData seems broken.
If you apply this debug patch, you can observe the broken value even in debug build.
I think this bug is *not* a GCC optimizer bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397039</commentid>
    <comment_count>8</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-02-06 18:23:26 -0800</bug_when>
    <thetext>&gt; struct IDBKeyDataHashTraits : public WTF::CustomHashTraits&lt;IDBKeyData&gt; {
&gt; [...]
&gt;     static void constructDeletedValue(IDBKeyData&amp; key)
&gt;     {
&gt;         key = IDBKeyData::deletedValue();
&gt;     }
&gt; 

constructDeletedValue is using operator= to assign deleteValue.

&gt; template&lt;typename Traits, typename T&gt;
&gt; typename std::enable_if&lt;!HashTraitHasCustomDelete&lt;Traits, T&gt;::value&gt;::type
&gt; hashTraitsDeleteBucket(T&amp; value)
&gt; {
&gt;     value.~T();
&gt;     Traits::constructDeletedValue(value);
&gt; }

But, the value is destructed just before calling constructDeletedValue.
You can&apos;t use operator= for a destructed value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397042</commentid>
    <comment_count>9</comment_count>
      <attachid>333249</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-02-06 18:31:45 -0800</bug_when>
    <thetext>Created attachment 333249
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1397140</commentid>
    <comment_count>10</comment_count>
      <attachid>333249</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-02-07 05:34:16 -0800</bug_when>
    <thetext>Comment on attachment 333249
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=333249&amp;action=review

&gt; Source/WebCore/Modules/indexeddb/IDBKeyData.h:211
&gt; +        new (&amp;key) IDBKeyData;

Again, I&apos;ll wait a couple days for Brady to review it first, but it looks right. Thanks Fujii!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399907</commentid>
    <comment_count>11</comment_count>
      <attachid>333249</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-16 09:41:16 -0800</bug_when>
    <thetext>Comment on attachment 333249
Patch

Clearing flags on attachment: 333249

Committed r228560: &lt;https://trac.webkit.org/changeset/228560&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399908</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-16 09:41:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1399909</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-16 09:42:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/37608014&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333160</attachid>
            <date>2018-02-06 02:22:49 -0800</date>
            <delta_ts>2018-02-06 18:31:40 -0800</delta_ts>
            <desc>debug patch</desc>
            <filename>bug167576-debug-2.patch</filename>
            <type>text/plain</type>
            <size>1748</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5RGF0YS5jcHAKaW5k
ZXggMmU5MzY0NTY2NDAuLjg4MDhiZjVjMjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmNwcApAQCAtNDUzLDYgKzQ1MywyNiBAQCBib29sIElE
QktleURhdGE6Om9wZXJhdG9yPT0oY29uc3QgSURCS2V5RGF0YSYgb3RoZXIpIGNvbnN0CiAgICAg
UkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAordm9pZCBJREJLZXlEYXRhOjpkZWJ1
Z0NoZWNrVmFsaWQoKSBjb25zdAoreworICAgIGlmIChtX2lzTnVsbCkKKyAgICAgICAgcmV0dXJu
OworICAgIGlmIChtX2lzRGVsZXRlZFZhbHVlKQorICAgICAgICByZXR1cm47CisgICAgaWYgKG1f
dHlwZSAhPSBLZXlUeXBlOjpBcnJheSkKKyAgICAgICAgcmV0dXJuOworICAgIGF1dG8mIGEgPSBX
VEY6OmdldDxWZWN0b3I8SURCS2V5RGF0YT4+KG1fdmFsdWUpOworICAgIGlmICghYS5zaXplKCkp
CisgICAgICAgIHJldHVybjsKKyAgICBSRUxFQVNFX0FTU0VSVChhLmRhdGEoKSk7Cit9CisKK3Zv
aWQgSURCS2V5RGF0YUhhc2hUcmFpdHM6OmNvbnN0cnVjdERlbGV0ZWRWYWx1ZShJREJLZXlEYXRh
JiBrZXkpCit7CisgICAga2V5LmRlYnVnQ2hlY2tWYWxpZCgpOworICAgIGtleSA9IElEQktleURh
dGE6OmRlbGV0ZWRWYWx1ZSgpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRp
ZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQktleURhdGEuaAppbmRleCA4Y2M4NjRhNTlmNC4uZjM1MzgxNDUyOTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmgKQEAgLTEx
OCw2ICsxMTgsOCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiAhKCp0aGlzID09IG90aGVyKTsK
ICAgICB9CiAKKyAgICB2b2lkIGRlYnVnQ2hlY2tWYWxpZCgpIGNvbnN0OworCiAgICAgdW5zaWdu
ZWQgaGFzaCgpIGNvbnN0CiAgICAgewogICAgICAgICBWZWN0b3I8dW5zaWduZWQ+IGhhc2hDb2Rl
czsKQEAgLTIwNiwxMCArMjA4LDcgQEAgc3RydWN0IElEQktleURhdGFIYXNoVHJhaXRzIDogcHVi
bGljIFdURjo6Q3VzdG9tSGFzaFRyYWl0czxJREJLZXlEYXRhPiB7CiAgICAgc3RhdGljIGNvbnN0
IGJvb2wgZW1wdHlWYWx1ZUlzWmVybyA9IGZhbHNlOwogICAgIHN0YXRpYyBjb25zdCBib29sIGhh
c0lzRW1wdHlWYWx1ZUZ1bmN0aW9uID0gdHJ1ZTsKIAotICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVj
dERlbGV0ZWRWYWx1ZShJREJLZXlEYXRhJiBrZXkpCi0gICAgewotICAgICAgICBrZXkgPSBJREJL
ZXlEYXRhOjpkZWxldGVkVmFsdWUoKTsKLSAgICB9CisgICAgc3RhdGljIHZvaWQgY29uc3RydWN0
RGVsZXRlZFZhbHVlKElEQktleURhdGEmIGtleSk7CiAKICAgICBzdGF0aWMgYm9vbCBpc0RlbGV0
ZWRWYWx1ZShjb25zdCBJREJLZXlEYXRhJiBrZXkpCiAgICAgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>333249</attachid>
            <date>2018-02-06 18:31:45 -0800</date>
            <delta_ts>2018-02-16 09:41:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167576-20180206182855.patch</filename>
            <type>text/plain</type>
            <size>4558</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4MTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzdkZDUzMWFlMDgxODU2
MDkwODYzODA3YzRhM2EzMmRhOGZhNDAxMS4uOTBlYWQwNzIxM2JmNGUwMTBlOGIxZGMyYmUzMjhl
MWY4NDBjMTdlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE4LTAyLTA2ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIEluZGV4ZWRE
QjogU2V2ZXJhbCB0ZXN0IGNyYXNoIGluIHdoZW4gZGVzdHJveWluZyBhIElEQktleURhdGEKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzU3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElEQktleURhdGFI
YXNoVHJhaXRzOjpjb25zdHJ1Y3REZWxldGVkVmFsdWUgaXMgdXNpbmcgb3BlcmF0b3I9IHRvCisg
ICAgICAgIGFzc2lnbiBkZWxldGVkVmFsdWUuIEJ1dCwgdGhlIHZhbHVlIGlzIGRlc3RydWN0ZWQg
anVzdCBiZWZvcmUKKyAgICAgICAgY2FsbGluZyBjb25zdHJ1Y3REZWxldGVkVmFsdWUuIFlvdSBj
YW4ndCB1c2Ugb3BlcmF0b3I9IGZvciBhCisgICAgICAgIGRlc3RydWN0ZWQgdmFsdWUuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzIChDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzKS4KKworICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OklE
QktleURhdGFIYXNoVHJhaXRzOjpjb25zdHJ1Y3REZWxldGVkVmFsdWUpOgorICAgICAgICBDb25z
dHJ1Y3QgbnVsbCB2YWx1ZSBiZWZvcmUgYXNzaWduaW5nIGRlbGV0ZWRWYWx1ZS4KKwogMjAxOC0w
Mi0wNiAgTXMyZ2VyICA8TXMyZ2VyQGlnYWxpYS5jb20+CiAKICAgICAgICAgSW5pdGlhbGl6ZSBJ
bWFnZUJpdG1hcDo6bV9iaXRtYXBEYXRhIGluIHRoZSBjb25zdHJ1Y3Rvci4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuaAppbmRleCA4Y2M4NjRhNTlmNGE0
ZTA4N2VmZGJiNDMwY2E0OTViNTExYTExYzZkLi4xYTU0YWQ3YzNjZjc2ZjM4MWE3ODMzNWQwOTcx
NTgxZmM0YTQ2NDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJLZXlEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
S2V5RGF0YS5oCkBAIC0yMDgsNiArMjA4LDcgQEAgc3RydWN0IElEQktleURhdGFIYXNoVHJhaXRz
IDogcHVibGljIFdURjo6Q3VzdG9tSGFzaFRyYWl0czxJREJLZXlEYXRhPiB7CiAKICAgICBzdGF0
aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoSURCS2V5RGF0YSYga2V5KQogICAgIHsKKyAg
ICAgICAgbmV3ICgma2V5KSBJREJLZXlEYXRhOwogICAgICAgICBrZXkgPSBJREJLZXlEYXRhOjpk
ZWxldGVkVmFsdWUoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyNzNkYmRjMTJjMjliOGRmZDM5MGU5ZjNj
N2E2ZTU4ZmM3OTM5NTYwLi44ZDIzYjk3YmI0Y2E1OGNmN2RlMzE4YmU0NDBlMGI2NTYzOWQwOTll
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTgtMDItMDYgIEZ1amlpIEhpcm9ub3JpICA8SGly
b25vcmkuRnVqaWlAc29ueS5jb20+CisKKyAgICAgICAgSW5kZXhlZERCOiBTZXZlcmFsIHRlc3Qg
Y3Jhc2ggaW4gd2hlbiBkZXN0cm95aW5nIGEgSURCS2V5RGF0YQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3NTc2CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0
aW9uczogVW5tYXJrZWQKKyAgICAgICAgaW1wb3J0ZWQvdzNjL0luZGV4ZWREQi1wcml2YXRlLWJy
b3dzaW5nL2lkYmN1cnNvcl9pdGVyYXRpbmcuaHRtbCwKKyAgICAgICAgaW1wb3J0ZWQvdzNjL0lu
ZGV4ZWREQi1wcml2YXRlLWJyb3dzaW5nL2lkYmN1cnNvcl9pdGVyYXRpbmdfaW5kZXguaHRtbAor
ICAgICAgICBhbmQgc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2luZGV4LTMtcHJpdmF0ZS5odG1s
LgorICAgICAgICAqIHBsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zOiBVbm1hcmtlZAorICAg
ICAgICBpbXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3NpbmcvaWRiY3Vyc29yX2l0
ZXJhdGluZy5odG1sIGFuZAorICAgICAgICBpbXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUt
YnJvd3NpbmcvaWRiY3Vyc29yX2l0ZXJhdGluZ19pbmRleC5odG1sLgorCiAyMDE4LTAyLTA1ICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCBpbiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzLzJkY29udGV4dC9pbWFnZWJpdG1hcC9jcmVhdGVJ
bWFnZUJpdG1hcC1vcmlnaW4uc3ViLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RF
eHBlY3RhdGlvbnMKaW5kZXggNWRhM2U4MmM4YmRlOTUzY2ZjNGIxNTJlMTc3MWVkOTNjNzZmMjA1
NS4uMDRmYzUwZWUyZjdjZjhlZjYzOGZiZTljMzllOTkwM2U4OGRmYjVmMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEyNzgsMTAgKzEyNzgsNiBAQCB3
ZWJraXQub3JnL2IvMTMxNTQ2IG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQuaHRtbCBbIENyYXNo
IFRpbWVvdXQgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xNjM3ODIgbWVkaWEvdmlkZW8tcGxh
eWVkLXJhbmdlcy0xLmh0bWwgWyBDcmFzaCBQYXNzIF0KIAotd2Via2l0Lm9yZy9iLzE2NzU3NiBp
bXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3NpbmcvaWRiY3Vyc29yX2l0ZXJhdGlu
Zy5odG1sIFsgQ3Jhc2ggVGltZW91dCBdCi13ZWJraXQub3JnL2IvMTY3NTc2IGltcG9ydGVkL3cz
Yy9JbmRleGVkREItcHJpdmF0ZS1icm93c2luZy9pZGJjdXJzb3JfaXRlcmF0aW5nX2luZGV4Lmh0
bWwgWyBDcmFzaCBUaW1lb3V0IF0KLXdlYmtpdC5vcmcvYi8xNjc1NzYgc3RvcmFnZS9pbmRleGVk
ZGIvbW9kZXJuL2luZGV4LTMtcHJpdmF0ZS5odG1sIFsgQ3Jhc2ggXQotCiB3ZWJraXQub3JnL2Iv
MTY5ODExIGZhc3QvbWVkaWFzdHJlYW0vY2FwdHVyZVN0cmVhbS9jYW52YXMyZC5odG1sIFsgQ3Jh
c2ggVGltZW91dCBdCiB3ZWJraXQub3JnL2IvMTY5ODExIGZhc3QvbWVkaWFzdHJlYW0vY2FwdHVy
ZVN0cmVhbS9jYW52YXMzZC5odG1sIFsgQ3Jhc2ggVGltZW91dCBdCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dwZS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMWU0OGRjYzUyYmY3ZDFiNDNlNGY2NzJm
ZjE2MTBiMTk1ZDg5NzBhZi4uYzJiNjQ4OGMyYjNhOWVlMGUxNzk0YmE5NDlkMzYwZGVkNTJhOGM0
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd3BlL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQyMiwx
MCArNDIyLDYgQEAgd2Via2l0Lm9yZy9iLzE3NTU4NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL1hNTEh0dHBSZXF1ZXN0L3NlbmQtbmV0d29yay0KICMgRmxha3kKIHdlYmtpdC5vcmcv
Yi8xNzc1MzAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9YTUxIdHRwUmVxdWVzdC9z
ZXRyZXF1ZXN0aGVhZGVyLWhlYWRlci1hbGxvd2VkLmh0bSBbIFBhc3MgRmFpbHVyZSBdCiAKLQot
d2Via2l0Lm9yZy9iLzE2NzU3NiBpbXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3Np
bmcvaWRiY3Vyc29yX2l0ZXJhdGluZy5odG1sIFsgQ3Jhc2ggXQotd2Via2l0Lm9yZy9iLzE2NzU3
NiBpbXBvcnRlZC93M2MvSW5kZXhlZERCLXByaXZhdGUtYnJvd3NpbmcvaWRiY3Vyc29yX2l0ZXJh
dGluZ19pbmRleC5odG1sIFsgQ3Jhc2ggXQotCiB3ZWJraXQub3JnL2IvMTc0MzU0IGltcG9ydGVk
L3czYy9JbmRleGVkREItcHJpdmF0ZS1icm93c2luZy9pZGJmYWN0b3J5X29wZW4uaHRtbCBbIENy
YXNoIFBhc3MgXQogd2Via2l0Lm9yZy9iLzE3NDM1NCBpbXBvcnRlZC93M2MvSW5kZXhlZERCLXBy
aXZhdGUtYnJvd3NpbmcvaWRiZmFjdG9yeV9vcGVuMTIuaHRtbCBbIENyYXNoIFBhc3MgXQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>