<?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>186223</bug_id>
          
          <creation_ts>2018-06-01 21:29:38 -0700</creation_ts>
          <short_desc>LayoutTests/fast/css/parsing-css-matches-7.html always abandons its Document (disabling JIT fixes it)</short_desc>
          <delta_ts>2018-06-03 21:13:50 -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>JavaScriptCore</component>
          <version>WebKit Nightly 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</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1429504</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-06-01 21:29:38 -0700</bug_when>
    <thetext>After running LayoutTests/fast/css/parsing-css-matches-7.html the Document never goes away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429515</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-06-01 22:36:17 -0700</bug_when>
    <thetext>Options::useConcurrentGC() = false does NOT fix the bug.
Options::useJIT() = false DOES fix the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429516</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-06-01 22:37:27 -0700</bug_when>
    <thetext>Oddly almost any change simplify the test makes the bug go away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429517</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-06-01 22:38:55 -0700</bug_when>
    <thetext>GC heap dump doesn&apos;t show anything interesting, other than the fact that the JSHTMLDocument is kept alive by being visited from the JSGlobalObject (and thus the HTMLDocument lives).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429518</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-06-01 23:12:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/40744972&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429571</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-06-02 10:03:10 -0700</bug_when>
    <thetext>Disabling the DFGJIT also fixes this. With the DFGJIT disabled, the document is released via:

  * frame #0: 0x000000010d3b49e6 WebCore`WebCore::Document::~Document(this=0x000000012a200fb8) at Document.cpp:585
    frame #1: 0x000000010d757d95 WebCore`WebCore::HTMLDocument::~HTMLDocument(this=0x000000012a200fb8) at HTMLDocument.cpp:95
    frame #2: 0x000000010d757db5 WebCore`WebCore::HTMLDocument::~HTMLDocument(this=0x000000012a200fb8) at HTMLDocument.cpp:95
    frame #3: 0x000000010d757e59 WebCore`WebCore::HTMLDocument::~HTMLDocument(this=0x000000012a200fb8) at HTMLDocument.cpp:95
    frame #4: 0x000000010d3b8300 WebCore`WebCore::Document::decrementReferencingNodeCount(this=0x000000012a200fb8) at Document.h:361
    frame #5: 0x000000010d4e7e60 WebCore`WebCore::Node::~Node(this=0x0000000130d03db0) at Node.cpp:314
    frame #6: 0x000000010d36c087 WebCore`WebCore::ContainerNode::~ContainerNode(this=0x0000000130d03db0) at ContainerNode.cpp:270
    frame #7: 0x000000010d46001c WebCore`WebCore::Element::~Element(this=0x0000000130d03db0) at Element.cpp:199
    frame #8: 0x000000010d579222 WebCore`WebCore::StyledElement::~StyledElement(this=0x0000000130d03db0) at StyledElement.cpp:66
    frame #9: 0x000000010b8db1d5 WebCore`WebCore::HTMLElement::~HTMLElement(this=0x0000000130d03db0) at HTMLElement.h:38
    frame #10: 0x000000010d8783c5 WebCore`WebCore::HTMLSpanElement::~HTMLSpanElement(this=0x0000000130d03db0) at HTMLSpanElement.h:32
    frame #11: 0x000000010d8710c5 WebCore`WebCore::HTMLSpanElement::~HTMLSpanElement(this=0x0000000130d03db0) at HTMLSpanElement.h:32
    frame #12: 0x000000010d8710e9 WebCore`WebCore::HTMLSpanElement::~HTMLSpanElement(this=0x0000000130d03db0) at HTMLSpanElement.h:32
    frame #13: 0x000000010d4e85bb WebCore`WebCore::Node::removedLastRef(this=0x0000000130d03db0) at Node.cpp:2557
    frame #14: 0x000000010d4e852c WebCore`WebCore::Node::deref(this=0x0000000130d03db0) at Node.cpp:365
    frame #15: 0x000000010d4eaf55 WebCore`WebCore::Node::derefEventTarget(this=0x0000000130d03db0) at Node.cpp:817
    frame #16: 0x000000010b8fe236 WebCore`WebCore::EventTarget::deref(this=0x0000000130d03db0) at EventTarget.h:64
    frame #17: 0x000000010b8fe20f WebCore`WTF::Ref&lt;WebCore::EventTarget, WTF::DumbPtrTraits&lt;WebCore::EventTarget&gt; &gt;::~Ref(this=0x000000012f4147b8) at Ref.h:61
    frame #18: 0x000000010b8ebdf5 WebCore`WTF::Ref&lt;WebCore::EventTarget, WTF::DumbPtrTraits&lt;WebCore::EventTarget&gt; &gt;::~Ref(this=0x000000012f4147b8) at Ref.h:55
    frame #19: 0x000000010bd7a619 WebCore`WebCore::JSDOMWrapper&lt;WebCore::EventTarget&gt;::~JSDOMWrapper(this=0x000000012f4147a0) at JSDOMWrapper.h:72
    frame #20: 0x000000010bd7a5f5 WebCore`WebCore::JSEventTarget::~JSEventTarget(this=0x000000012f4147a0) at JSEventTarget.h:31
    frame #21: 0x000000010bd70f85 WebCore`WebCore::JSEventTarget::~JSEventTarget(this=0x000000012f4147a0) at JSEventTarget.h:31
    frame #22: 0x000000010bd6d86d WebCore`WebCore::JSEventTarget::destroy(cell=0x000000012f4147a0) at JSEventTarget.cpp:227
    frame #23: 0x0000000101edceaa JavaScriptCore`JSC::JSDestructibleObjectDestroyFunc::operator(this=0x00007ffeefbfe0e0, (null)=0x0000000126f00000, cell=0x000000012f4147a0)(JSC::VM&amp;, JSC::JSCell*) const at JSDestructibleObjectHeapCellType.cpp:37
    frame #24: 0x0000000101f119f5 JavaScriptCore`void JSC::MarkedBlock::Handle::specializedSweep&lt;false, (JSC::MarkedBlock::Handle::EmptyMode)0, (JSC::MarkedBlock::Handle::SweepMode)0, (JSC::MarkedBlock::Handle::SweepDestructionMode)0, (JSC::MarkedBlock::Handle::ScribbleMode)0, (JSC::MarkedBlock::Handle::NewlyAllocatedMode)0, (JSC::MarkedBlock::Handle::MarksMode)0, JSC::JSDestructibleObjectDestroyFunc&gt;(this=0x00007ffeefbfdfb0, cell=0x000000012f4147a0)::&apos;lambda&apos;(void*)::operator()(void*) const at MarkedBlockInlines.h:255
    frame #25: 0x0000000101f0c566 JavaScriptCore`void JSC::MarkedBlock::Handle::specializedSweep&lt;false, (JSC::MarkedBlock::Handle::EmptyMode)0, (JSC::MarkedBlock::Handle::SweepMode)0, (JSC::MarkedBlock::Handle::SweepDestructionMode)0, (JSC::MarkedBlock::Handle::ScribbleMode)0, (JSC::MarkedBlock::Handle::NewlyAllocatedMode)0, (JSC::MarkedBlock::Handle::MarksMode)0, JSC::JSDestructibleObjectDestroyFunc&gt;(this=0x0000000130ace550, freeList=0x0000000000000000, emptyMode=IsEmpty, sweepMode=SweepOnly, destructionMode=BlockHasDestructors, scribbleMode=Scribble, newlyAllocatedMode=DoesNotHaveNewlyAllocated, marksMode=MarksStale, destroyFunc=0x00007ffeefbfe0e0) at MarkedBlockInlines.h:289
    frame #26: 0x0000000101edce40 JavaScriptCore`void JSC::MarkedBlock::Handle::finishSweepKnowingHeapCellType&lt;JSC::JSDestructibleObjectDestroyFunc&gt;(this=0x0000000130ace550, freeList=0x0000000000000000, destroyFunc=0x00007ffeefbfe0e0) at MarkedBlockInlines.h:434
    frame #27: 0x0000000101edcd08 JavaScriptCore`JSC::JSDestructibleObjectHeapCellType::finishSweep(this=0x00000001226fa100, handle=0x0000000130ace550, freeList=0x0000000000000000) at JSDestructibleObjectHeapCellType.cpp:52
    frame #28: 0x0000000101a907c6 JavaScriptCore`JSC::Subspace::finishSweep(this=0x00000001270f7e10, block=0x0000000130ace550, freeList=0x0000000000000000) at Subspace.cpp:65
    frame #29: 0x0000000101a75387 JavaScriptCore`JSC::MarkedBlock::Handle::sweep(this=0x0000000130ace550, freeList=0x0000000000000000) at MarkedBlock.cpp:432
    frame #30: 0x00000001019ff194 JavaScriptCore`JSC::BlockDirectory::sweep(this=0x00007ffeefbfe2d0, index=10)::$_9::operator()(unsigned long) const at BlockDirectory.cpp:297
    frame #31: 0x00000001019fbd0c JavaScriptCore`void WTF::FastBitVectorImpl&lt;WTF::FastBitVectorWordOwner&gt;::forEachSetBit&lt;JSC::BlockDirectory::sweep(this=0x0000000122650ce8, func=0x00007ffeefbfe2d0)::$_9&gt;(JSC::BlockDirectory::sweep()::$_9 const&amp;) const at FastBitVector.h:347
    frame #32: 0x00000001019fbc89 JavaScriptCore`JSC::BlockDirectory::sweep(this=0x0000000122650c60) at BlockDirectory.cpp:294
    frame #33: 0x0000000101a83299 JavaScriptCore`JSC::MarkedSpace::sweep(this=0x00007ffeefbfe350, directory=0x0000000122650c60)::$_9::operator()(JSC::BlockDirectory&amp;) const at MarkedSpace.cpp:236
    frame #34: 0x0000000101a7795f JavaScriptCore`void JSC::MarkedSpace::forEachDirectory&lt;JSC::MarkedSpace::sweep()::$_9&gt;(this=0x0000000126f00138, functor=0x00007ffeefbfe350)::$_9 const&amp;) at MarkedSpace.h:236
    frame #35: 0x0000000101a77915 JavaScriptCore`JSC::MarkedSpace::sweep(this=0x0000000126f00138) at MarkedSpace.cpp:234
    frame #36: 0x0000000101a1209a JavaScriptCore`JSC::Heap::sweepSynchronously(this=0x0000000126f00040) at Heap.cpp:1019
    frame #37: 0x0000000101a125b1 JavaScriptCore`JSC::Heap::collectNow(this=0x0000000126f00040, synchronousness=Sync, request=GCRequest @ 0x00007ffeefbfe450) at Heap.cpp:1060
    frame #38: 0x000000010ceba470 WebCore`WebCore::GCController::garbageCollectNow(this=0x00000001101c7900) at GCController.cpp:98
    frame #39: 0x00000001198b7d8d WebKitLegacy`::+[WebCoreStatistics garbageCollectJavaScriptObjects](self=WebCoreStatistics, _cmd=&quot;garbageCollectJavaScriptObjects&quot;) at WebCoreStatistics.mm:115
    frame #40: 0x000000010002259c DumpRenderTree`runTest(inputLine=&quot;/Volumes/Data/Development/apple/webkit/OpenSource/LayoutTests/fast/css/parsing-css-matches-8.html&quot;) at DumpRenderTree.mm:2100
    frame #41: 0x000000010001f483 DumpRenderTree`dumpRenderTree(argc=3, argv=0x00007ffeefbff5e8) at DumpRenderTree.mm:1277
    frame #42: 0x0000000100022e72 DumpRenderTree`DumpRenderTreeMain(argc=3, argv=0x00007ffeefbff5e8) at DumpRenderTree.mm:1398
    frame #43: 0x00000001000a7472 DumpRenderTree`main(argc=3, argv=0x00007ffeefbff5e8) at DumpRenderTreeMain.mm:34
    frame #44: 0x00007fff5b8d9015 libdyld.dylib`start + 1
    frame #45: 0x00007fff5b8d9015 libdyld.dylib`start + 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429576</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-06-02 12:33:43 -0700</bug_when>
    <thetext>When the DFGJIT is enabled, the JSDOMWindow is treated as a conservative root via gatherScratchBufferRoots().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429579</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-06-02 12:50:27 -0700</bug_when>
    <thetext>The relevant scratch buffer is a size 24 buffer allocated via:

(lldb) bt
* thread #61, name = &apos;WTF::AutomaticThread&apos;, stop reason = breakpoint 10.1
  * frame #0: 0x000000011629d6c6 JavaScriptCore`JSC::VM::scratchBufferForSize(this=0x0000000129000a00, size=24) at VM.cpp:1220
    frame #1: 0x00000001156d7cf0 JavaScriptCore`JSC::DFG::JITCompiler::makeCatchOSREntryBuffer(this=0x00007000034b62a0) at DFGJITCompiler.cpp:696
    frame #2: 0x00000001156d84d5 JavaScriptCore`JSC::DFG::JITCompiler::compileFunction(this=0x00007000034b62a0) at DFGJITCompiler.cpp:427
    frame #3: 0x000000011580559d JavaScriptCore`JSC::DFG::Plan::compileInThreadImpl(this=0x0000000128f73bc0) at DFGPlan.cpp:386
    frame #4: 0x0000000115802bf2 JavaScriptCore`JSC::DFG::Plan::compileInThread(this=0x0000000128f73bc0, threadData=0x0000000124d00560) at DFGPlan.cpp:187
    frame #5: 0x0000000115a6d25c JavaScriptCore`JSC::DFG::Worklist::ThreadBody::work(this=0x0000000124d00580) at DFGWorklist.cpp:111
    frame #6: 0x0000000114e3b497 JavaScriptCore`WTF::AutomaticThread::start(this=0x000000012fff8d38)::$_0::operator()() const at AutomaticThread.cpp:222
    frame #7: 0x0000000114e3b0d9 JavaScriptCore`WTF::Function&lt;void ()&gt;::CallableWrapper&lt;WTF::AutomaticThread::start(this=0x000000012fff8d30)::$_0&gt;::call() at Function.h:101
    frame #8: 0x0000000114e4b9db JavaScriptCore`WTF::Function&lt;void ()&gt;::operator(this=0x00007000034b6ec0)() const at Function.h:56
    frame #9: 0x0000000114ecee9f JavaScriptCore`WTF::Thread::entryPoint(newThreadContext=0x000000012fff3050) at Threading.cpp:136
    frame #10: 0x0000000114ed4815 JavaScriptCore`WTF::wtfThreadEntryPoint(context=0x000000012fff3050) at ThreadingPthreads.cpp:223
    frame #11: 0x0000000104b0f665 libsystem_pthread.dylib`_pthread_body + 340
    frame #12: 0x0000000104b0f511 libsystem_pthread.dylib`_pthread_start + 377
    frame #13: 0x0000000104b0ebfd libsystem_pthread.dylib`thread_start + 13</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429585</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-06-02 13:42:16 -0700</bug_when>
    <thetext>Scratch buffers can be created off the main thread:

2   0x11629d5e9 JSC::VM::scratchBufferForSize(unsigned long)
3   0x1156d7c10 JSC::DFG::JITCompiler::makeCatchOSREntryBuffer()
4   0x1156d83f5 JSC::DFG::JITCompiler::compileFunction()
5   0x1158054bd JSC::DFG::Plan::compileInThreadImpl()
6   0x115802b12 JSC::DFG::Plan::compileInThread(JSC::DFG::ThreadData*)
7   0x115a6d17c JSC::DFG::Worklist::ThreadBody::work()
8   0x114e3b3b7 WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0::operator()() const
9   0x114e3aff9 WTF::Function&lt;void ()&gt;::CallableWrapper&lt;WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0&gt;::call()
10  0x114e4b8fb WTF::Function&lt;void ()&gt;::operator()() const
11  0x114ecedbf WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)
12  0x114ed4735 WTF::wtfThreadEntryPoint(void*)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429586</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-06-02 13:52:18 -0700</bug_when>
    <thetext>Also ScratchBuffer::dataBuffer() can be called off the main thread:

2   0x11573e1e5 JSC::ScratchBuffer::dataBuffer()
3   0x1158bfa56 JSC::DFG::SpeculativeJIT::compileExtractCatchLocal(JSC::DFG::Node*)
4   0x11586a168 JSC::DFG::SpeculativeJIT::compile(JSC::DFG::Node*)
5   0x11585cbba JSC::DFG::SpeculativeJIT::compileCurrentBlock()
6   0x11586b7a3 JSC::DFG::SpeculativeJIT::compile()
7   0x1156d3df7 JSC::DFG::JITCompiler::compileBody()
8   0x1156d88c5 JSC::DFG::JITCompiler::compileFunction()
9   0x1158054bd JSC::DFG::Plan::compileInThreadImpl()
10  0x115802b12 JSC::DFG::Plan::compileInThread(JSC::DFG::ThreadData*)
11  0x115a6d17c JSC::DFG::Worklist::ThreadBody::work()
12  0x114e3b377 WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0::operator()() const
13  0x114e3afb9 WTF::Function&lt;void ()&gt;::CallableWrapper&lt;WTF::AutomaticThread::start(WTF::AbstractLocker const&amp;)::$_0&gt;::call()
14  0x114e4b8bb WTF::Function&lt;void ()&gt;::operator()() const
15  0x114eced7f WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429595</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-06-02 14:23:49 -0700</bug_when>
    <thetext>A hack to zero out all scratch buffers on full GC fixes this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429603</commentid>
    <comment_count>11</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-06-02 15:41:27 -0700</bug_when>
    <thetext>The problem here is that catchOSREntryBuffer&apos;s active length is set in non-JIT code, but nobody sets 0 after using it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429604</commentid>
    <comment_count>12</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-06-02 15:42:03 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #9)
&gt; Also ScratchBuffer::dataBuffer() can be called off the main thread:
&gt; 
&gt; 2   0x11573e1e5 JSC::ScratchBuffer::dataBuffer()
&gt; 3   0x1158bfa56
&gt; JSC::DFG::SpeculativeJIT::compileExtractCatchLocal(JSC::DFG::Node*)
&gt; 4   0x11586a168 JSC::DFG::SpeculativeJIT::compile(JSC::DFG::Node*)
&gt; 5   0x11585cbba JSC::DFG::SpeculativeJIT::compileCurrentBlock()
&gt; 6   0x11586b7a3 JSC::DFG::SpeculativeJIT::compile()
&gt; 7   0x1156d3df7 JSC::DFG::JITCompiler::compileBody()
&gt; 8   0x1156d88c5 JSC::DFG::JITCompiler::compileFunction()
&gt; 9   0x1158054bd JSC::DFG::Plan::compileInThreadImpl()
&gt; 10  0x115802b12 JSC::DFG::Plan::compileInThread(JSC::DFG::ThreadData*)
&gt; 11  0x115a6d17c JSC::DFG::Worklist::ThreadBody::work()
&gt; 12  0x114e3b377 WTF::AutomaticThread::start(WTF::AbstractLocker
&gt; const&amp;)::$_0::operator()() const
&gt; 13  0x114e3afb9 WTF::Function&lt;void
&gt; ()&gt;::CallableWrapper&lt;WTF::AutomaticThread::start(WTF::AbstractLocker
&gt; const&amp;)::$_0&gt;::call()
&gt; 14  0x114e4b8bb WTF::Function&lt;void ()&gt;::operator()() const
&gt; 15  0x114eced7f WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*)

Nice catch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429617</commentid>
    <comment_count>13</comment_count>
      <attachid>341855</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-06-02 16:39:57 -0700</bug_when>
    <thetext>Created attachment 341855
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429656</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2018-06-03 08:54:11 -0700</bug_when>
    <thetext>I can confirm that this patch fixes the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429746</commentid>
    <comment_count>15</comment_count>
      <attachid>341855</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2018-06-03 20:27:01 -0700</bug_when>
    <thetext>Comment on attachment 341855
Patch

r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429751</commentid>
    <comment_count>16</comment_count>
      <attachid>341855</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-06-03 20:46:48 -0700</bug_when>
    <thetext>Comment on attachment 341855
Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429759</commentid>
    <comment_count>17</comment_count>
      <attachid>341855</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-03 21:13:48 -0700</bug_when>
    <thetext>Comment on attachment 341855
Patch

Clearing flags on attachment: 341855

Committed r232461: &lt;https://trac.webkit.org/changeset/232461&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429760</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-03 21:13:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341855</attachid>
            <date>2018-06-02 16:39:57 -0700</date>
            <delta_ts>2018-06-03 21:13:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186223-20180603083956.patch</filename>
            <type>text/plain</type>
            <size>14083</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyNDQ0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
ZmI5OGI1ZTAzNDRhZjQyNTE3NTc0OTI2ZTE0N2IyMWRmOTkxMmY5Li42YWI5ZGQwYzBiYWFlZTBl
NTVjNmY4ZDUyOWFkYTVkYzA5YWRmZTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MCBAQAorMjAxOC0wNi0wMiAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9wYXJzaW5nLWNzcy1tYXRjaGVz
LTcuaHRtbCBhbHdheXMgYWJhbmRvbnMgaXRzIERvY3VtZW50IChkaXNhYmxpbmcgSklUIGZpeGVz
IGl0KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg2
MjIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWZ0
ZXIgcHJlcGFyaW5nIGNhdGNoT1NSRW50cnlCdWZmZXIsIHdlIGRvIG5vdCBjbGVhciB0aGUgYWN0
aXZlIGxlbmd0aCBvZiB0aGlzIHNjcmF0Y2ggYnVmZmVyLgorICAgICAgICBJdCBtYWtlcyB0aGlz
IGJ1ZmZlciBjb25zZXJ2YXRpdmUgR0Mgcm9vdCwgYW5kIGFsbG93cyBpdCB0byBob2xkIEdDIG9i
amVjdHMgdW5uZWNlc3NhcmlseSBsb25nLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW50cm9kdWNl
cyBERkcgQ2xlYXJDYXRjaExvY2FscyBub2RlLCB3aGljaCBjbGVhcnMgY2F0Y2hPU1JFbnRyeUJ1
ZmZlcidzIGFjdGl2ZSBsZW5ndGguCisgICAgICAgIFdlIG1vZGVsIEV4dHJhY3RDYXRjaExvY2Fs
IGFuZCBDbGVhckNhdGNoTG9jYWxzIGFwcHJvcHJpYXRlbHkgaW4gREZHIGNsb2JiZXJpemUgdG9v
IHRvIG1ha2UKKyAgICAgICAgdGhpcyBDbGVhckNhdGNoTG9jYWxzIHZhbGlkLgorCisgICAgICAg
IFRoZSBleGlzdGluZyB0ZXN0cyBmb3IgRXh0cmFjdENhdGNoTG9jYWwganVzdCBwYXNzLgorCisg
ICAgICAgICogZGZnL0RGR0Fic3RyYWN0SGVhcC5oOgorICAgICAgICAqIGRmZy9ERkdBYnN0cmFj
dEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0SW50ZXJw
cmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0cyk6CisgICAgICAgICogZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNl
cjo6cGFyc2VCbG9jayk6CisgICAgICAgICogZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAg
KEpTQzo6REZHOjpjbG9iYmVyaXplKToKKyAgICAgICAgKiBkZmcvREZHRG9lc0dDLmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpkb2VzR0MpOgorICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNw
cDoKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAq
IGRmZy9ERkdNYXlFeGl0LmNwcDoKKyAgICAgICAgKiBkZmcvREZHTm9kZVR5cGUuaDoKKyAgICAg
ICAgKiBkZmcvREZHT1NSRW50cnkuY3BwOgorICAgICAgICAoSlNDOjpERkc6OnByZXBhcmVDYXRj
aE9TUkVudHJ5KToKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2Uu
Y3BwOgorICAgICAgICAqIGRmZy9ERkdTYWZlVG9FeGVjdXRlLmg6CisgICAgICAgIChKU0M6OkRG
Rzo6c2FmZVRvRXhlY3V0ZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUNsZWFyQ2F0Y2hMb2Nh
bHMpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oOgorICAgICAgICAqIGRmZy9E
RkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwOgor
ICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBm
dGwvRlRMQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpjYW5Db21waWxlKToK
KyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZU5vZGUpOgorICAgICAgICAoSlNDOjpGVEw6OkRGRzo6
TG93ZXJERkdUb0IzOjpjb21waWxlQ2xlYXJDYXRjaExvY2Fscyk6CisKIDIwMTgtMDYtMDEgIFl1
c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgQmFzZWxpbmUg
b3BfanRydWUgZW1pdHMgYW4gaW5zYW5lIGFtb3VudCBvZiBjb2RlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SGVhcC5oIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdBYnN0cmFjdEhlYXAuaAppbmRleCA0YTRlYmIxMzQxZmI0ZmFjZDMxNjgz
OGNiZjhmNjhlZGI2NjE0NWU2Li43NmIzOGIxZGQ4MWIyYzlmYjYxNGM4NzYzNzAyM2U0YjQzOTg5
ZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SGVh
cC5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RIZWFwLmgKQEAg
LTc3LDYgKzc3LDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogICAgIG1hY3Jv
KEpTV2Vha01hcEZpZWxkcykgXAogICAgIG1hY3JvKEpTV2Vha1NldEZpZWxkcykgXAogICAgIG1h
Y3JvKEludGVybmFsU3RhdGUpIFwKKyAgICBtYWNybyhDYXRjaExvY2FscykgXAogICAgIG1hY3Jv
KEFic29sdXRlKSBcCiAgICAgLyogRE9NSklUIHRlbGxzIHRoZSBoZWFwIHJhbmdlIHdpdGggdGhl
IHBhaXIgb2YgaW50ZWdlcnMuICovXAogICAgIG1hY3JvKERPTVN0YXRlKSBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVz
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxp
bmVzLmgKaW5kZXggZGFlMDVmZGM3MGQwYzY4MjQ1ODI0OGMyOWY2ZDlmYzFlODU2NTFjMC4uM2Nj
ZmFmNmU0ODMzNTM5MjQwMmEzMTcwYzZlNzQ4YzRlMGU3OGZlZCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMu
aApAQCAtMzUyOSw2ICszNTI5LDcgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0
U3RhdGVUeXBlPjo6ZXhlY3V0ZUVmZmVjdHModW5zaWduZWQgY2xvYmJlckxpbWkKICAgICBjYXNl
IExvb3BIaW50OgogICAgIGNhc2UgWm9tYmllSGludDoKICAgICBjYXNlIEV4aXRPSzoKKyAgICBj
YXNlIENsZWFyQ2F0Y2hMb2NhbHM6CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDaGVja1R5
cGVJbmZvRmxhZ3M6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Qnl0ZUNvZGVQYXJzZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29k
ZVBhcnNlci5jcHAKaW5kZXggY2FmOWYwNTM2MzA2NGQzZTI3ZDYwYjNiM2Q3ZDdmNzQ3MTYyNDEw
OC4uZTk4ZGZlNTg5OTVlNjg0ZjUxOTI1MTdiNDhmMmQxZjVjNWQ3M2IxYyAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKQEAgLTU2ODAsNiAr
NTY4MCw4IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQgbGltaXQp
CiAgICAgICAgICAgICAgICAgYWRkVG9HcmFwaChNb3ZIaW50LCBPcEluZm8ocHJvZmlsZS5tX29w
ZXJhbmQpLCB2YWx1ZSk7CiAgICAgICAgICAgICAgICAgbG9jYWxzVG9TZXQudW5jaGVja2VkQXBw
ZW5kKHN0ZDo6bWFrZV9wYWlyKG9wZXJhbmQsIHZhbHVlKSk7CiAgICAgICAgICAgICB9KTsKKyAg
ICAgICAgICAgIGlmIChudW1iZXJPZkxvY2FscykKKyAgICAgICAgICAgICAgICBhZGRUb0dyYXBo
KENsZWFyQ2F0Y2hMb2NhbHMpOwogCiAgICAgICAgICAgICBpZiAoIW1fZ3JhcGgubV9tYXhMb2Nh
bHNGb3JDYXRjaE9TUkVudHJ5KQogICAgICAgICAgICAgICAgIG1fZ3JhcGgubV9tYXhMb2NhbHNG
b3JDYXRjaE9TUkVudHJ5ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQ2xvYmJlcml6ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVy
aXplLmgKaW5kZXggZTE5Yzc0OTkxMmUzY2E1YTcxZTE5YTM3ZDU1ZTdkOGU5NjQyMzYyMS4uNmM1
ODY2MzQ2M2UyMTk4ZjMxYTMyMzNiYTgxNGM5Y2M0NzYzZDIzYiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKQEAgLTE0NCw5ICsxNDQsMTYgQEAgdm9pZCBjbG9i
YmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgY29uc3QgUmVhZEZ1bmN0b3ImIHJlYWQs
IGNvbnN0IFdyaXRlRnUKICAgICBjYXNlIENoZWNrOgogICAgIGNhc2UgQ2hlY2tWYXJhcmdzOgog
ICAgIGNhc2UgRXh0cmFjdE9TUkVudHJ5TG9jYWw6Ci0gICAgY2FzZSBFeHRyYWN0Q2F0Y2hMb2Nh
bDoKICAgICBjYXNlIENoZWNrU3RydWN0dXJlSW1tZWRpYXRlOgogICAgICAgICByZXR1cm47CisK
KyAgICBjYXNlIEV4dHJhY3RDYXRjaExvY2FsOgorICAgICAgICByZWFkKEFic3RyYWN0SGVhcChD
YXRjaExvY2Fscywgbm9kZS0+Y2F0Y2hPU1JFbnRyeUluZGV4KCkpKTsKKyAgICAgICAgcmV0dXJu
OworCisgICAgY2FzZSBDbGVhckNhdGNoTG9jYWxzOgorICAgICAgICB3cml0ZShDYXRjaExvY2Fs
cyk7CisgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgY2FzZSBMYXp5SlNDb25zdGFudDoK
ICAgICAgICAgLy8gV2Ugc2hvdWxkIGVuYWJsZSBDU0Ugb2YgTGF6eUpTQ29uc3RhbnQuIEl0J3Mg
YSBsaXR0bGUgYW5ub3lpbmcgc2luY2UgTGF6eUpTVmFsdWUgaGFzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvZXNHQy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0RvZXNHQy5jcHAKaW5kZXggMjBiZmZlY2M5YmMyMzlhZTY4NmFmMTk3ZGFmN2Vi
MjcwMTZiNWM4NC4uZDIzMzNkYWFlNjg1Y2FhYTg2MDQ5MTY0OTViNDU2ZjcyZWQ2ZWVlYyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb2VzR0MuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcApAQCAtMjI0LDggKzIyNCw5IEBA
IGJvb2wgZG9lc0dDKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIFdlYWtTZXRB
ZGQ6CiAgICAgY2FzZSBXZWFrTWFwU2V0OgogICAgIGNhc2UgVW5yZWFjaGFibGU6Ci0gICAgY2Fz
ZSBFeHRyYWN0Q2F0Y2hMb2NhbDoKICAgICBjYXNlIEV4dHJhY3RPU1JFbnRyeUxvY2FsOgorICAg
IGNhc2UgRXh0cmFjdENhdGNoTG9jYWw6CisgICAgY2FzZSBDbGVhckNhdGNoTG9jYWxzOgogICAg
IGNhc2UgQ2hlY2tUaWVyVXBJbkxvb3A6CiAgICAgY2FzZSBDaGVja1RpZXJVcEF0UmV0dXJuOgog
ICAgIGNhc2UgQ2hlY2tUaWVyVXBBbmRPU1JFbnRlcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0ZpeHVwUGhhc2UuY3BwCmluZGV4IDJhN2FjYzQ5NTYwMTMwZTU2NmNiM2U5ODQ3NWNm
NDFlZmM1ODc0NzQuLjlkNmVmN2ExODgzM2E4ZTMxZjVmZDY5ZTg2ZjJlOWZiZTRiOTg2NjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcApAQCAtMjE2Nyw2
ICsyMTY3LDcgQEAgY2xhc3MgRml4dXBQaGFzZSA6IHB1YmxpYyBQaGFzZSB7CiAgICAgICAgIGNh
c2UgVW5yZWFjaGFibGU6CiAgICAgICAgIGNhc2UgRXh0cmFjdE9TUkVudHJ5TG9jYWw6CiAgICAg
ICAgIGNhc2UgRXh0cmFjdENhdGNoTG9jYWw6CisgICAgICAgIGNhc2UgQ2xlYXJDYXRjaExvY2Fs
czoKICAgICAgICAgY2FzZSBMb29wSGludDoKICAgICAgICAgY2FzZSBNb3ZIaW50OgogICAgICAg
ICBjYXNlIEluaXRpYWxpemVFbnRyeXBvaW50QXJndW1lbnRzOgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdNYXlFeGl0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHTWF5RXhpdC5jcHAKaW5kZXggZDQxZDFhNmRiOGNmYTViMjdmODFjZTAyZDUyM2E5
OWEwMDRhZmE4NS4uM2M5MWU0N2VhMTZhMjdmMTU1NjBlYzdkZWVkMjlhZTk4NzM3Y2UyZiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdNYXlFeGl0LmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR01heUV4aXQuY3BwCkBAIC05Miw2ICs5Miw3IEBA
IEV4aXRNb2RlIG1heUV4aXRJbXBsKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgU3RhdGVUeXBl
JiBzdGF0ZSkKICAgICBjYXNlIFZhbHVlUmVwOgogICAgIGNhc2UgRXh0cmFjdE9TUkVudHJ5TG9j
YWw6CiAgICAgY2FzZSBFeHRyYWN0Q2F0Y2hMb2NhbDoKKyAgICBjYXNlIENsZWFyQ2F0Y2hMb2Nh
bHM6CiAgICAgY2FzZSBMb2dpY2FsTm90OgogICAgIGNhc2UgTm90aWZ5V3JpdGU6CiAgICAgY2Fz
ZSBQdXRTdHJ1Y3R1cmU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R05vZGVUeXBlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGVUeXBlLmgKaW5k
ZXggNjE2NGM3ZmExNjA5OGJiY2ZhNzZiMTQwNWE1MzE2ODVhNTVhMGM0NC4uYTUwZTUyMDhjOTYy
MWUxNTc5MDUyODNjYjI1NTZkMTczMTI0NzE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdOb2RlVHlwZS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTm9kZVR5cGUuaApAQCAtOTYsNiArOTYsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNl
IERGRyB7CiAgICAgLyogdmFyaWFibGUgZnJvbSB0aGUgc2NyYXRjaCBidWZmZXIuICovXAogICAg
IG1hY3JvKEV4dHJhY3RPU1JFbnRyeUxvY2FsLCBOb2RlUmVzdWx0SlMpIFwKICAgICBtYWNybyhF
eHRyYWN0Q2F0Y2hMb2NhbCwgTm9kZVJlc3VsdEpTKSBcCisgICAgbWFjcm8oQ2xlYXJDYXRjaExv
Y2FscywgTm9kZU11c3RHZW5lcmF0ZSkgXAogICAgIFwKICAgICAvKiBUaWVyLXVwIGNoZWNrcyBm
cm9tIHRoZSBERkcgdG8gdGhlIEZUTC4gKi9cCiAgICAgbWFjcm8oQ2hlY2tUaWVyVXBJbkxvb3As
IE5vZGVNdXN0R2VuZXJhdGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT1NSRW50cnkuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFbnRy
eS5jcHAKaW5kZXggMTNlMTU3NzdmODgzZDg5ZjEyZjk4NmU4ZDk4ZTY2ZGQzNTllZTYxMC4uNDM4
ZjhmMjFkZmNmYjlhZjlkZGQ2YmJkNGNhOGZiNDU5ZGFkMmE1ZiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFbnRyeS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdPU1JFbnRyeS5jcHAKQEAgLTQwMCw2ICs0MDAsNyBAQCBNYWNyb0Fzc2Vt
YmxlckNvZGVQdHI8RXhjZXB0aW9uSGFuZGxlclB0clRhZz4gcHJlcGFyZUNhdGNoT1NSRW50cnko
RXhlY1N0YXRlKiBleAogICAgICAgICArK2luZGV4OwogICAgIH0pOwogCisgICAgLy8gVGhlIGFj
dGl2ZSBsZW5ndGggb2YgY2F0Y2hPU1JFbnRyeUJ1ZmZlciB3aWxsIGJlIHplcm9lZCBieSBDbGVh
ckNhdGNoTG9jYWxzIG5vZGUuCiAgICAgZGZnQ29tbW9uLT5jYXRjaE9TUkVudHJ5QnVmZmVyLT5z
ZXRBY3RpdmVMZW5ndGgoc2l6ZW9mKEpTVmFsdWUpICogaW5kZXgpOwogICAgIHJldHVybiBjYXRj
aEVudHJ5cG9pbnQtPm1hY2hpbmVDb2RlOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAppbmRleCAw
MTE5YTI1YzQyNTdkMWFkZGVmNDA1Y2YyODk4Mjc3ZDI3ODBjYjMzLi5lMGRkMTE1YjdlNzMwMWRl
NGVkNTM3Yzk1ZmM3ZmRmYWU3YWI2NjJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcApAQCAtMTIx
NCw2ICsxMjE0LDcgQEAgY2xhc3MgUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UgOiBwdWJsaWMg
UGhhc2UgewogICAgICAgICBjYXNlIEluaXRpYWxpemVFbnRyeXBvaW50QXJndW1lbnRzOgogICAg
ICAgICBjYXNlIFdlYWtTZXRBZGQ6CiAgICAgICAgIGNhc2UgV2Vha01hcFNldDoKKyAgICAgICAg
Y2FzZSBDbGVhckNhdGNoTG9jYWxzOgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAK
ICAgICAgICAgLy8gVGhpcyBnZXRzIGlnbm9yZWQgYmVjYXVzZSBpdCBvbmx5IHByZXRlbmRzIHRv
IHByb2R1Y2UgYSB2YWx1ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU2FmZVRvRXhlY3V0ZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9F
eGVjdXRlLmgKaW5kZXggOTM5MTZkOGZlMjE3MTNmNmU4MjM1MzJkZGFlZDJlODFiMDhhMTQxYy4u
MjY3YzhhMWE1MTM0YWI4YWFlODMxNWYxNjVmZTVmNjE0ODIwYzM1OSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgKQEAgLTM3Myw2ICszNzMsNyBAQCBi
b29sIHNhZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5cGUmIHN0YXRlLCBHcmFwaCYgZ3JhcGgs
IE5vZGUqIG5vZGUsIGJvb2wgaWdubwogICAgIGNhc2UgVW5yZWFjaGFibGU6CiAgICAgY2FzZSBF
eHRyYWN0T1NSRW50cnlMb2NhbDoKICAgICBjYXNlIEV4dHJhY3RDYXRjaExvY2FsOgorICAgIGNh
c2UgQ2xlYXJDYXRjaExvY2FsczoKICAgICBjYXNlIENoZWNrVGllclVwSW5Mb29wOgogICAgIGNh
c2UgQ2hlY2tUaWVyVXBBdFJldHVybjoKICAgICBjYXNlIENoZWNrVGllclVwQW5kT1NSRW50ZXI6
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCmlu
ZGV4IDY5OTZkNDJlYzUzZTdmOTJkZDVkZTE2ODZiYmJlZmQyNzBhMTBiN2EuLmIwNGJkZTJmMDcx
MmI1YmFkZjE1MjA4ZTQyNzhlNzRhZDMwYzk2MDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCkBAIC0xMjkzOSw2ICsxMjkzOSwxNyBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlRXh0cmFjdENhdGNoTG9jYWwoTm9kZSogbm9kZSkK
ICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdFJlZ3MsIG5vZGUpOwogfQogCit2b2lkIFNwZWN1bGF0
aXZlSklUOjpjb21waWxlQ2xlYXJDYXRjaExvY2FscyhOb2RlKiBub2RlKQoreworICAgIFNjcmF0
Y2hCdWZmZXIqIHNjcmF0Y2hCdWZmZXIgPSBtX2ppdC5qaXRDb2RlKCktPmNvbW1vbi5jYXRjaE9T
UkVudHJ5QnVmZmVyOworICAgIEFTU0VSVChzY3JhdGNoQnVmZmVyKTsKKyAgICBHUFJUZW1wb3Jh
cnkgc2NyYXRjaCh0aGlzKTsKKyAgICBHUFJSZWcgc2NyYXRjaEdQUiA9IHNjcmF0Y2guZ3ByKCk7
CisgICAgbV9qaXQubW92ZShUcnVzdGVkSW1tUHRyKHNjcmF0Y2hCdWZmZXItPmFkZHJlc3NPZkFj
dGl2ZUxlbmd0aCgpKSwgc2NyYXRjaEdQUik7CisgICAgbV9qaXQuc3RvcmVQdHIoVHJ1c3RlZElt
bVB0cihudWxscHRyKSwgc2NyYXRjaEdQUik7CisgICAgbm9SZXN1bHQobm9kZSk7Cit9CisKIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVQcm9maWxlVHlwZShOb2RlKiBub2RlKQogewogICAg
IEpTVmFsdWVPcGVyYW5kIHZhbHVlKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAppbmRleCA4NDhmZDNiYzE0NDQ4
N2ZlOGYzM2Q5ZjVjNzBmMGM5Y2NmMzg3MjQ4Li5hZTdmZThiOTI5ODFkNDllNDJhZWM1YjJlYjEy
ZjNiYjE3MmMxMTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklULmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5oCkBAIC0xNDgwLDYgKzE0ODAsNyBAQCBjbGFzcyBTcGVjdWxhdGl2ZUpJVCB7CiAg
ICAgdm9pZCBjb21waWxlTG9nU2hhZG93Q2hpY2tlblRhaWwoTm9kZSopOwogICAgIHZvaWQgY29t
cGlsZUhhc0luZGV4ZWRQcm9wZXJ0eShOb2RlKik7CiAgICAgdm9pZCBjb21waWxlRXh0cmFjdENh
dGNoTG9jYWwoTm9kZSopOworICAgIHZvaWQgY29tcGlsZUNsZWFyQ2F0Y2hMb2NhbHMoTm9kZSop
OwogICAgIHZvaWQgY29tcGlsZVByb2ZpbGVUeXBlKE5vZGUqKTsKIAogICAgIHZvaWQgbW92ZVRy
dWVUbyhHUFJSZWcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDMyXzY0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQzMl82NC5jcHAKaW5kZXggOTNkNzcxMDg2MTk0OGNmNTYyYzVjMTZkMGQ2YTUy
NmRmNTBiMTA5OS4uMmRjMjQ3ZWEwMTAyNjQ5MmUzNzcyYjgxYTExZDFiODA5MmI2NDUyYiAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJf
NjQuY3BwCkBAIC00MDM5LDYgKzQwMzksMTAgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZShOb2RlKiBub2RlKQogICAgICAgICBicmVhazsKICAgICB9CiAKKyAgICBjYXNlIENsZWFyQ2F0
Y2hMb2NhbHM6CisgICAgICAgIGNvbXBpbGVDbGVhckNhdGNoTG9jYWxzKG5vZGUpOworICAgICAg
ICBicmVhazsKKwogICAgIGNhc2UgQ2hlY2tTdHJ1Y3R1cmVPckVtcHR5OgogICAgICAgICBERkdf
Q1JBU0gobV9qaXQuZ3JhcGgoKSwgbm9kZSwgIkNoZWNrU3RydWN0dXJlT3JFbXB0eSBvbmx5IHVz
ZWQgaW4gNjQtYml0IERGRyIpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCmluZGV4IDhjMjFjZDNiYjEwYzdj
ZmQyNTYzNjFiYjNjNTBhYzQwMDc2ODg3MTAuLmI4MjM3MGY3NmYwMTljN2JiMjczZGQxYmRlYmVm
NDk4NTYzNjJiNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDY0LmNwcApAQCAtNDU0OCw2ICs0NTQ4LDEwIEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgYnJlYWs7CiAgICAgfQogCisgICAgY2Fz
ZSBDbGVhckNhdGNoTG9jYWxzOgorICAgICAgICBjb21waWxlQ2xlYXJDYXRjaExvY2Fscyhub2Rl
KTsKKyAgICAgICAgYnJlYWs7CisKICNpZiBFTkFCTEUoRlRMX0pJVCkgICAgICAgIAogICAgIGNh
c2UgQ2hlY2tUaWVyVXBJbkxvb3A6IHsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgY2Fs
bFRpZXJVcCA9IG1faml0LmJyYW5jaEFkZDMyKApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExDYXBhYmlsaXRpZXMuY3BwCmluZGV4IGRjNmI2ODYyOGRiMDZiNjk4MzM3Y2M2NzZiYjdm
ZGQzMmRjZDNmZTAuLmZjZWY5NTM4OTY4NTg1MWQ4ODUzYTFmYzFiZGFiMTRlOTU4OGUxNDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKQEAgLTEx
NSw2ICsxMTUsNyBAQCBpbmxpbmUgQ2FwYWJpbGl0eUxldmVsIGNhbkNvbXBpbGUoTm9kZSogbm9k
ZSkKICAgICBjYXNlIFVwc2lsb246CiAgICAgY2FzZSBFeHRyYWN0T1NSRW50cnlMb2NhbDoKICAg
ICBjYXNlIEV4dHJhY3RDYXRjaExvY2FsOgorICAgIGNhc2UgQ2xlYXJDYXRjaExvY2FsczoKICAg
ICBjYXNlIExvb3BIaW50OgogICAgIGNhc2UgU2tpcFNjb3BlOgogICAgIGNhc2UgR2V0R2xvYmFs
T2JqZWN0OgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRG
R1RvQjMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3Bw
CmluZGV4IDU2YmZhZDVjZjlmMTIzNDQ2OTM1ZDk3N2VhOTZjZTVjZjllYzU5ZGIuLmRlMzFlZmI1
ZmMxMDY3YTdhMzI3ZDgxNmRkMzU4YzMxYWRkMGZjODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKQEAgLTU2Nyw2ICs1NjcsOSBAQCBjbGFzcyBM
b3dlckRGR1RvQjMgewogICAgICAgICBjYXNlIEV4dHJhY3RDYXRjaExvY2FsOgogICAgICAgICAg
ICAgY29tcGlsZUV4dHJhY3RDYXRjaExvY2FsKCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY2FzZSBDbGVhckNhdGNoTG9jYWxzOgorICAgICAgICAgICAgY29tcGlsZUNsZWFyQ2F0Y2hM
b2NhbHMoKTsKKyAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEdldFN0YWNrOgogICAg
ICAgICAgICAgY29tcGlsZUdldFN0YWNrKCk7CiAgICAgICAgICAgICBicmVhazsKQEAgLTE2OTQs
NiArMTY5NywxMyBAQCBjbGFzcyBMb3dlckRGR1RvQjMgewogICAgICAgICBFbmNvZGVkSlNWYWx1
ZSogYnVmZmVyID0gc3RhdGljX2Nhc3Q8RW5jb2RlZEpTVmFsdWUqPihtX2Z0bFN0YXRlLmppdENv
ZGUtPmNvbW1vbi5jYXRjaE9TUkVudHJ5QnVmZmVyLT5kYXRhQnVmZmVyKCkpOwogICAgICAgICBz
ZXRKU1ZhbHVlKG1fb3V0LmxvYWQ2NChtX291dC5hYnNvbHV0ZShidWZmZXIgKyBtX25vZGUtPmNh
dGNoT1NSRW50cnlJbmRleCgpKSkpOwogICAgIH0KKworICAgIHZvaWQgY29tcGlsZUNsZWFyQ2F0
Y2hMb2NhbHMoKQorICAgIHsKKyAgICAgICAgU2NyYXRjaEJ1ZmZlciogc2NyYXRjaEJ1ZmZlciA9
IG1fZnRsU3RhdGUuaml0Q29kZS0+Y29tbW9uLmNhdGNoT1NSRW50cnlCdWZmZXI7CisgICAgICAg
IEFTU0VSVChzY3JhdGNoQnVmZmVyKTsKKyAgICAgICAgbV9vdXQuc3RvcmVQdHIobV9vdXQuY29u
c3RJbnRQdHIoMCksIG1fb3V0LmFic29sdXRlKHNjcmF0Y2hCdWZmZXItPmFkZHJlc3NPZkFjdGl2
ZUxlbmd0aCgpKSk7CisgICAgfQogICAgIAogICAgIHZvaWQgY29tcGlsZUdldFN0YWNrKCkKICAg
ICB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>