<?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>222021</bug_id>
          
          <creation_ts>2021-02-16 19:53:10 -0800</creation_ts>
          <short_desc>REGRESSION(r274025-r273811): Crash under RenderLayerBacking::updateGeometry()</short_desc>
          <delta_ts>2021-03-08 21:58:12 -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>Compositing</component>
          <version>Safari Technology Preview</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="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1730095</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-02-16 19:53:10 -0800</bug_when>
    <thetext>Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000000
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [6031]

Getting symbols for 3C6465D7-E536-34D1-87CE-D9AE5FF42453 /Applications/Safari Technology Preview.app/Contents/Frameworks/JavaScriptCore.framework/Versions/A/JavaScriptCore... ok
Thread[0] EXC_BAD_ACCESS (SIGSEGV) (KERN_INVALID_ADDRESS at 0x0000000000000000)
[  0] 0x00000006d31d2c32 WebCore`WebCore::RenderLayerBacking::updateGeometry(WebCore::RenderLayer const*) [inlined] WebCore::ScrollableArea::scrollOffset() const at ScrollableArea.cpp:671:37
       667 	}
       668 	
       669 	ScrollOffset ScrollableArea::scrollOffset() const
       670 	{
    -&gt; 671 	    return scrollOffsetFromPosition(scrollPosition());
       672 	}
       673 	
       674 	ScrollPosition ScrollableArea::minimumScrollPosition() const
       675 	{
    

     0x00000006d31d2c1a:     leaq -0x190(%rbp), %rsi
     0x00000006d31d2c21:    callq *0xa0(%rax)
     0x00000006d31d2c27:     movq 0x10(%r15), %rax
     0x00000006d31d2c2b:     movq 0xe0(%rax), %r12
 -&gt;  0x00000006d31d2c32:     movq (%r12), %rax
     0x00000006d31d2c36:     movq %r12, %rdi
     0x00000006d31d2c39:    callq *0x100(%rax)
     0x00000006d31d2c3f:     movl 0x28(%r12), %edx
     0x00000006d31d2c44:     movl 0x2c(%r12), %ecx

[  0] 0x00000006d31d2c32 WebCore`WebCore::RenderLayerBacking::updateGeometry(WebCore::RenderLayer const*) + 8066 at RenderLayerBacking.cpp:1379
       1375	
       1376	        auto* scrollableArea = m_owningLayer.scrollableArea();
       1377	        ASSERT(scrollableArea);
       1378	
    -&gt; 1379	        ScrollOffset scrollOffset = scrollableArea-&gt;scrollOffset();
       1380	        updateScrollOffset(scrollOffset);
       1381	
       1382	        FloatSize oldScrollingLayerOffset = m_scrollContainerLayer-&gt;offsetFromRenderer();
       1383	        m_scrollContainerLayer-&gt;setOffsetFromRenderer(toFloatSize(scrollContainerBox.location()));
    
[  1] 0x00000006d31ddd64 WebCore`WebCore::RenderLayerCompositor::updateBackingAndHierarchy(WebCore::RenderLayer&amp;, WTF::Vector&lt;WTF::Ref&lt;WebCore::GraphicsLayer, WTF::RawPtrTraits&lt;WebCore::GraphicsLayer&gt; &gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;, WebCore::RenderLayerCompositor::UpdateBackingTraversalState&amp;, WebCore::ScrollingTreeState&amp;, WTF::OptionSet&lt;WebCore::RenderLayerCompositor::UpdateLevel&gt;) + 772 at RenderLayerCompositor.cpp:1302:27
       1298	        }
       1299	        
       1300	        OptionSet&lt;ScrollingNodeChangeFlags&gt; scrollingNodeChanges = { ScrollingNodeChangeFlags::Layer };
       1301	        if (layerNeedsUpdate || layer.needsCompositingGeometryUpdate()) {
    -&gt; 1302	            layerBacking-&gt;updateGeometry(traversalState.compositingAncestor);
       1303	            scrollingNodeChanges.add(ScrollingNodeChangeFlags::LayerGeometry);
       1304	        } else if (layer.needsScrollingTreeUpdate())
       1305	            scrollingNodeChanges.add(ScrollingNodeChangeFlags::LayerGeometry);
       1306	
    
[  2] 0x00000006d31df30c WebCore`WebCore::RenderLayerCompositor::updateBackingAndHierarchy(WebCore::RenderLayer&amp;, WTF::Vector&lt;WTF::Ref&lt;WebCore::GraphicsLayer, WTF::RawPtrTraits&lt;WebCore::GraphicsLayer&gt; &gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;, WebCore::RenderLayerCompositor::UpdateBackingTraversalState&amp;, WebCore::ScrollingTreeState&amp;, WTF::OptionSet&lt;WebCore::RenderLayerCompositor::UpdateLevel&gt;) + 6316 at RenderLayerCompositor.cpp:1367:13
       1363	        for (auto* renderLayer : layer.normalFlowLayers())
       1364	            updateBackingAndHierarchy(*renderLayer, childList, traversalStateForDescendants, scrollingStateForDescendants, updateLevel);
       1365	        
       1366	        for (auto* renderLayer : layer.positiveZOrderLayers())
    -&gt; 1367	            updateBackingAndHierarchy(*renderLayer, childList, traversalStateForDescendants, scrollingStateForDescendants, updateLevel);
       1368	
       1369	        // Pass needSynchronousScrollingReasonsUpdate back up.
       1370	        scrollingTreeState.needSynchronousScrollingReasonsUpdate |= scrollingStateForDescendants.needSynchronousScrollingReasonsUpdate;
       1371	        if (scrollingTreeState.parentNodeID == scrollingStateForDescendants.parentNodeID)
    
[  3] 0x00000006d31df30c WebCore`WebCore::RenderLayerCompositor::updateBackingAndHierarchy(WebCore::RenderLayer&amp;, WTF::Vector&lt;WTF::Ref&lt;WebCore::GraphicsLayer, WTF::RawPtrTraits&lt;WebCore::GraphicsLayer&gt; &gt;, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;&amp;, WebCore::RenderLayerCompositor::UpdateBackingTraversalState&amp;, WebCore::ScrollingTreeState&amp;, WTF::OptionSet&lt;WebCore::RenderLayerCompositor::UpdateLevel&gt;) + 6316 at RenderLayerCompositor.cpp:1367:13
[  4] 0x00000006d133028d WebCore`WebCore::RenderLayerCompositor::updateCompositingLayers(WebCore::CompositingUpdateType, WebCore::RenderLayer*) + 2317 at RenderLayerCompositor.cpp:867:9</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730097</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-02-16 19:53:31 -0800</bug_when>
    <thetext>Looks like the RenderLayer/scrollable area split.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1730745</commentid>
    <comment_count>2</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2021-02-17 22:43:41 -0800</bug_when>
    <thetext>Thanks, I will have a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732101</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2021-02-22 04:47:31 -0800</bug_when>
    <thetext>Do we have any testcase for this? How was this backtrace obtained? (I suspect Apple crash reports for the STP builds?)

If I read the backtrace correctly, m_scrollableArea is null in line 1376, and we see a nullptr crash in a release build.

However I fail to see how it can be null:

According to the backtrace RenderLayerBacking::updateGeometry() is called for a RenderLayerBacking object that has a non-zero m_scrollContainerLayer. A m_scrollContainerLayer is only created if the associated RenderLayer (m_owningLayer) is using composited scrolling (that is checked via the RenderLayer::hasCompositedScrollableOverflow() condition).

However RenderLayer::hasCompositedScrollableOverflow() only returns true if the RenderLayer has an associated RenderLayerScrollableArea, which in turn means the crash shouldn&apos;t be there ;-)

I probably fail to understand something, hence a bug in the current code and thus the crash....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732771</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-02-23 19:54:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/74675337&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736725</commentid>
    <comment_count>5</comment_count>
      <attachid>422466</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-03-05 19:57:45 -0800</bug_when>
    <thetext>Created attachment 422466
Test case (needs HTTP server; load it dozen times)

Host this file with simple HTTP server like this: python -m SimpleHTTPServer

and repeatedly load it using run-test-runner like this:
./Tools/Scripts/run-test-runner --release --no-build http://localhost:8000/75094228.html http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html  http://localhost:8000/75094228.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736727</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-03-05 20:05:43 -0800</bug_when>
    <thetext>This is a regression between r273811 and r274025.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737357</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-08 16:14:39 -0800</bug_when>
    <thetext>RenderLayer 0x5f5c5c630 ensureLayerScrollableArea() made scrollableArea 0x5f5c9aaa0
RenderLayerBacking (layer 0x5f5c5c630) updateConfiguration - usesCompositedScrolling 0
RenderLayer 0x5f5c5c738 ensureLayerScrollableArea() made scrollableArea 0x5f5cc48c0
RenderLayer 0x5f5c5c840 ensureLayerScrollableArea() made scrollableArea 0x5f5cc4b40
RenderLayerBacking (layer 0x5f5c5c630) updateConfiguration - usesCompositedScrolling 0
RenderLayerBacking (layer 0x5f5c5c840) updateConfiguration - usesCompositedScrolling 1
file:///Volumes/Data/Radar%20Attachments/Problem/74414963/repro_535.html:29:20: CONSOLE LOG first offsettop;
RenderLayer 0x5f5c5c840 clearLayerScrollableArea() 0x5f5cc4b40
RenderLayer 0x5f5c5c948 ensureLayerScrollableArea() made scrollableArea 0x5f5cc4e60
RenderLayerBacking (layer 0x5f5c5c948) updateConfiguration - usesCompositedScrolling 1
file:///Volumes/Data/Radar%20Attachments/Problem/74414963/repro_535.html:31:20: CONSOLE LOG designMode on;
file:///Volumes/Data/Radar%20Attachments/Problem/74414963/repro_535.html:33:20: CONSOLE LOG appendChild;
file:///Volumes/Data/Radar%20Attachments/Problem/74414963/repro_535.html:35:20: CONSOLE LOG second offsettop;
RenderLayer 0x5f5c5ca50 ensureLayerScrollableArea() made scrollableArea 0x5f64c70a0
RenderLayerBacking (layer 0x5f5c5ca50) updateConfiguration - usesCompositedScrolling 1
RenderLayerBacking (layer 0x5f5c5c948) updateConfiguration - usesCompositedScrolling 1
file:///Volumes/Data/Radar%20Attachments/Problem/74414963/repro_535.html:37:20: CONSOLE LOG designMode off;
RenderLayer 0x5f5c5c948 clearLayerScrollableArea() 0x5f5cc4e60
ASSERTION FAILED: scrollableArea
./rendering/RenderLayerBacking.cpp(1395) : void WebCore::RenderLayerBacking::updateGeometry(const WebCore::RenderLayer *)
1   0x5ee393549 WTFCrash</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737362</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-08 16:20:05 -0800</bug_when>
    <thetext>We&apos;ve cleared the scrollable area, but the layer is not marked as needing a config update:

RenderLayer 0x69dc62948 clearLayerScrollableArea() 0x69dcd0e60

(S)tacking Context/(F)orced SC/O(P)portunistic SC, (N)ormal flow only, (O)verflow clip, (A)lpha (opacity or mask), has (B)lend mode, (I)solates blending, (T)ransform-ish, (F)ilter, Fi(X)ed position, Behaves as fi(x)ed, (C)omposited, (P)rovides backing/uses (p)rovided backing/paints to (a)ncestor, (c)omposited descendant, (s)scrolling ancestor, (t)transformed ancestor
Dirty (z)-lists, Dirty (n)ormal flow lists
Traversal needs: requirements (t)raversal on descendants, (b)acking or hierarchy traversal on descendants, (r)equirements traversal on all descendants, requirements traversal on all (s)ubsequent layers, (h)ierarchy traversal on all descendants, update of paint (o)rder children
Update needs:    post-(l)ayout requirements, (g)eometry, (k)ids geometry, (c)onfig, layer conne(x)ion, (s)crolling tree
Scrolling scope: box contents

S---------C-c-- -- tb---- ------ 3 3 0x69dc62630 (0,0) width=980 height=876 [SA 0x69dca1aa0] (layerID 31) {sc 3} RenderView 0x6a15492b0
S-----------c-- -- tb---- ------ 3 3   + 0x69dc62738 (0,0) width=980 height=0 [SA 0x69dcd08c0] RenderBlock 0x6a1549760 HTML 0x6a15495b0
-NO-------C---- -- ------ lg---- 3 6     n 0x69dc62a50 (949,8) width=1 height=0 [SA 0x69e4be0a0] (layerID 46) {sc 6} RenderBlock 0x6a0068010 DIV 0x6a154bed0
S-----T---C---- -- ------ -g---- 3 5     + 0x69dc62948 (966,8) width=0 height=0 (layerID 41) stacking {sc 5} RenderBlock 0x6a154bda0 FORM 0x6a154bb30</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737368</commentid>
    <comment_count>9</comment_count>
      <attachid>422635</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-08 16:34:41 -0800</bug_when>
    <thetext>Created attachment 422635
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737391</commentid>
    <comment_count>10</comment_count>
      <attachid>422644</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2021-03-08 17:34:48 -0800</bug_when>
    <thetext>Created attachment 422644
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737463</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-08 21:22:07 -0800</bug_when>
    <thetext>commit-queue failed to commit attachment 422644 to WebKit repository. To retry, please set cq+ flag again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737472</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-08 21:58:04 -0800</bug_when>
    <thetext>Committed r274137: &lt;https://commits.webkit.org/r274137&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422644.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>422466</attachid>
            <date>2021-03-05 19:57:45 -0800</date>
            <delta_ts>2021-03-05 19:57:45 -0800</delta_ts>
            <desc>Test case (needs HTTP server; load it dozen times)</desc>
            <filename>75094228.html</filename>
            <type>text/html</type>
            <size>832</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PHN0eWxlPgogIDpmaXJzdC1vZi10eXBlIHsKICAgIHdyaXRpbmctbW9kZTogdGItcmw7CiAgfQog
ICogewogICAgaW5saW5lLXNpemU6IDA7CiAgfQogIDpsYXN0LW9mLXR5cGUgewogICAgYm9yZGVy
LXRvcC1sZWZ0LXJhZGl1czogMXB4OwogIH0KICA6Zmlyc3QtY2hpbGQgewogICAgYm9yZGVyLWlt
YWdlOiB1cmwoKTsKICB9CiAgOm50aC1jaGlsZCgzKSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgo
MGRlZyk7CiAgfQogIDpsYXN0LWNoaWxkIHsKICAgIG92ZXJmbG93LXk6IHNjcm9sbDsKICAgIHBh
ZGRpbmc6IDAgMCAwIDFweDsKICB9Cjwvc3R5bGU+CjxzY3JpcHQ+CiAgb25sb2FkID0gKCkgPT4g
ewogICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKSk7CiAgICBuZXcgQXVkaW9Db250ZXh0KCkuYXVkaW9Xb3JrbGV0LmFkZE1vZHVsZSgnIycp
LmNhdGNoKCgpID0+IHsKICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdkaXYnKSk7CiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScpKTsKICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRU
b3A7CiAgICAgIGRvY3VtZW50LmRlc2lnbk1vZGUgPSAnb24nOwogICAgICBkb2N1bWVudC5ib2R5
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTsKICAgICAgZG9jdW1l
bnQuYm9keS5vZmZzZXRUb3A7CiAgICAgIGRvY3VtZW50LmRlc2lnbk1vZGUgPSAnb2ZmJzsKICAg
IH0pOwogIH07Cjwvc2NyaXB0Pgo8Ym9keT48L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422635</attachid>
            <date>2021-03-08 16:34:41 -0800</date>
            <delta_ts>2021-03-08 18:26:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222021-20210308163440.patch</filename>
            <type>text/plain</type>
            <size>6360</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTAxMWVlNGVlZDAyZGUw
MzVjYzU3MTMxNGRmMTA3ZmU0ZGZlNGU2Yi4uMDdiYTI0ODA4NDdjOTJhMzljNWFmMzcyM2RiODQw
YTk2MmY3NTdlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTAzLTA4ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04o
cjI3NDAyNS1yMjczODExKTogQ3Jhc2ggdW5kZXIgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVH
ZW9tZXRyeSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjIwMjEKKyAgICAgICAgcmRhcjovLzc0NDE0OTYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBhIFJlbmRlckxheWVyIGdhaW5zIG9yIGxv
c2VzIGl0cyBzY3JvbGxhYmxlIGFyZWEsIHdlIGhhdmUgdG8gc2V0IHRoZSBkaXJ0eQorICAgICAg
ICBiaXQgb24gdGhlIFJlbmRlckxheWVyIHRvIGVuc3VyZSB0aGF0IFJlbmRlckxheWVyQmFja2lu
Zzo6dXBkYXRlQ29uZmlndXJhdGlvbigpIHJ1bnMsCisgICAgICAgIHdoaWNoIHVwZGF0ZXMgY29t
cG9zaXRpbmcgbGF5ZXJzIGZvciBzY3JvbGxpbmcuCisKKyAgICAgICAgVGVzdDogZmFzdC9sYXll
cnMvcmVtb3ZlLXNjcm9sbGFibGUtYXJlYS1jcmFzaC5odG1sCisKKyAgICAgICAgKiByZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNhbGN1
bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpvdXRwdXRQYWludE9yZGVy
VHJlZVJlY3Vyc2l2ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3Bw
OgorCiAyMDIxLTAzLTA4ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4K
IAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI3MzE5Ny4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGVmNTk4NTJlZmZjNTEyYzk2OWZhNjBkN2E1
MWMwYzg2NzY3MTVmY2IuLjg0NzQ3MzAyNWViZjA2YjQ2MGIwM2Y4N2ZlODNjMzYzOTMxMzJhNjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNTQyNywxMSAr
NTQyNywxNyBAQCB2b2lkIFJlbmRlckxheWVyOjpjbGVhckxheWVyRmlsdGVycygpCiBSZW5kZXJM
YXllclNjcm9sbGFibGVBcmVhKiBSZW5kZXJMYXllcjo6ZW5zdXJlTGF5ZXJTY3JvbGxhYmxlQXJl
YSgpCiB7CiAgICAgYm9vbCBoYWRTY3JvbGxhYmxlQXJlYSA9IHNjcm9sbGFibGVBcmVhKCk7Cisg
ICAgCiAgICAgaWYgKCFtX3Njcm9sbGFibGVBcmVhKQogICAgICAgICBtX3Njcm9sbGFibGVBcmVh
ID0gbWFrZVVuaXF1ZTxSZW5kZXJMYXllclNjcm9sbGFibGVBcmVhPigqdGhpcyk7CiAKLSAgICBp
ZiAoIWhhZFNjcm9sbGFibGVBcmVhKQorICAgIGlmICghaGFkU2Nyb2xsYWJsZUFyZWEpIHsKKyAg
ICAgICAgaWYgKHJlbmRlcmVyKCkuc2V0dGluZ3MoKS5hc3luY092ZXJmbG93U2Nyb2xsaW5nRW5h
YmxlZCgpKQorICAgICAgICAgICAgc2V0TmVlZHNDb21wb3NpdGluZ0NvbmZpZ3VyYXRpb25VcGRh
dGUoKTsKKwogICAgICAgICBtX3Njcm9sbGFibGVBcmVhLT5yZXN0b3JlU2Nyb2xsUG9zaXRpb24o
KTsKKyAgICB9CisKICAgICByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYS5nZXQoKTsKIH0KIApAQCAt
NTQ2Miw3ICs1NDY4LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUZpbHRlcnNBZnRlclN0
eWxlQ2hhbmdlKCkKIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyU2Nyb2xsYWJsZUFyZWEo
KQogewogICAgIGlmICghaXM8UmVuZGVyQm94PihyZW5kZXJlcigpKSB8fCAhZG93bmNhc3Q8UmVu
ZGVyQm94PihyZW5kZXJlcigpKS5yZXF1aXJlc0xheWVyV2l0aFNjcm9sbGFibGVBcmVhKCkpIHsK
KyAgICAgICAgYm9vbCBoYWRTY3JvbGxhYmxlQXJlYSA9IHNjcm9sbGFibGVBcmVhKCk7CiAgICAg
ICAgIGNsZWFyTGF5ZXJTY3JvbGxhYmxlQXJlYSgpOworCisgICAgICAgIGlmIChoYWRTY3JvbGxh
YmxlQXJlYSAmJiByZW5kZXJlcigpLnNldHRpbmdzKCkuYXN5bmNPdmVyZmxvd1Njcm9sbGluZ0Vu
YWJsZWQoKSkKKyAgICAgICAgICAgIHNldE5lZWRzQ29tcG9zaXRpbmdDb25maWd1cmF0aW9uVXBk
YXRlKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTU3NzUsNiArNTc4NSwxMCBAQCBz
dGF0aWMgdm9pZCBvdXRwdXRQYWludE9yZGVyVHJlZVJlY3Vyc2l2ZShUZXh0U3RyZWFtJiBzdHJl
YW0sIGNvbnN0IFdlYkNvcmU6OlJlbgogICAgIGF1dG8gbGF5ZXJSZWN0ID0gbGF5ZXIucmVjdCgp
OwogCiAgICAgc3RyZWFtIDw8ICZsYXllciA8PCAiICIgPDwgbGF5ZXJSZWN0OworCisgICAgaWYg
KGF1dG8qIHNjcm9sbGFibGVBcmVhID0gbGF5ZXIuc2Nyb2xsYWJsZUFyZWEoKSkKKyAgICAgICAg
c3RyZWFtIDw8ICIgW1NBICIgPDwgc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KHNjcm9sbGFibGVB
cmVhKSA8PCAiXSI7CisKICAgICBpZiAobGF5ZXIuaXNDb21wb3NpdGVkKCkpIHsKICAgICAgICAg
YXV0byYgYmFja2luZyA9ICpsYXllci5iYWNraW5nKCk7CiAgICAgICAgIHN0cmVhbSA8PCAiIChs
YXllcklEICIgPDwgYmFja2luZy5ncmFwaGljc0xheWVyKCktPnByaW1hcnlMYXllcklEKCkgPDwg
IikiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1Rl
eHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCmlu
ZGV4IDBiNWE1MTEyOWU3YzViMjJhZDA5ODUwOWZiMzdiYjVjODVjODJmZjYuLjA1OTg4ZjI5OWJk
NGIxMjVjNWE0NjQ0MWM2MDM2NGUyYmQ3YjU4OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKQEAgLTY0Niw5ICs2NDYsMTIgQEAgc3RhdGljIHZv
aWQgd3JpdGVMYXllcihUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyTGF5ZXImIGxheWVyLCBj
b25zdCBMYXlvdXRSZWMKIAogICAgIHRzIDw8IGluZGVudCA8PCAibGF5ZXIgIjsKICAgICAKLSAg
ICBpZiAoYmVoYXZpb3IuY29udGFpbnMoUmVuZGVyQXNUZXh0RmxhZzo6U2hvd0FkZHJlc3Nlcykp
CisgICAgaWYgKGJlaGF2aW9yLmNvbnRhaW5zKFJlbmRlckFzVGV4dEZsYWc6OlNob3dBZGRyZXNz
ZXMpKSB7CiAgICAgICAgIHRzIDw8IHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPigmbGF5ZXIpIDw8
ICIgIjsKLSAgICAgIAorICAgICAgICBpZiAoYXV0byogc2Nyb2xsYWJsZUFyZWEgPSBsYXllci5z
Y3JvbGxhYmxlQXJlYSgpKQorICAgICAgICAgICAgdHMgPDwgInNjcm9sbGFibGVBcmVhICIgPDwg
c3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KHNjcm9sbGFibGVBcmVhKSA8PCAiICI7CisgICAgfQor
CiAgICAgdHMgPDwgYWRqdXN0ZWRMYXlvdXRCb3VuZHM7CiAKICAgICBpZiAoIWFkanVzdGVkTGF5
b3V0Qm91bmRzLmlzRW1wdHkoKSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGMxZjdjMDk4Nzg3YjYzNjJmNGNjYjIzZmRi
MDlkYmY5M2RiNTA5YzIuLmNjZjcxMmMyNWQ4ZWMzNTNkNjMxOTFlZTI4OTRkOGUzMzhlMWMyMzUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0wMy0wOCAgU2ltb24gRnJhc2VyICA8c2ltb24u
ZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNzQwMjUtcjI3MzgxMSk6
IENyYXNoIHVuZGVyIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkoKQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyMDIxCisgICAgICAg
IHJkYXI6Ly83NDQxNDk2MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFdoZW4gYSBSZW5kZXJMYXllciBnYWlucyBvciBsb3NlcyBpdHMgc2Nyb2xsYWJs
ZSBhcmVhLCB3ZSBoYXZlIHRvIHNldCB0aGUgZGlydHkKKyAgICAgICAgYml0IG9uIHRoZSBSZW5k
ZXJMYXllciB0byBlbnN1cmUgdGhhdCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUNvbmZpZ3Vy
YXRpb24oKSBydW5zLAorICAgICAgICB3aGljaCB1cGRhdGVzIGNvbXBvc2l0aW5nIGxheWVycyBm
b3Igc2Nyb2xsaW5nLgorCisgICAgICAgICogZmFzdC9sYXllcnMvcmVtb3ZlLXNjcm9sbGFibGUt
YXJlYS1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAyMS0wMy0wNiAgQW50b2luZSBRdWludCAgPGdy
YW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbV2ViIEFuaW1hdGlvbnNdIFNvbWUgdGVzdHMg
dW5kZXIgd2ViLWFuaW1hdGlvbnMvdGltaW5nLW1vZGVsL2FuaW1hdGlvbnMgYXJlIEltYWdlT25s
eUZhaWx1cmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbGF5ZXJzL3JlbW92ZS1zY3Jv
bGxhYmxlLWFyZWEtY3Jhc2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbGF5ZXJzL3JlbW92ZS1z
Y3JvbGxhYmxlLWFyZWEtY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mODk2MTczODNlMTk5N2QyNDMz
YzY3MzFjMzRjMzU3OGFlMmUzN2Q1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9sYXllcnMvcmVtb3ZlLXNjcm9sbGFibGUtYXJlYS1jcmFzaC5odG1sCkBAIC0wLDAgKzEsNDUg
QEAKKzwhRE9DVFlQRSBodG1sPiA8IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIEFzeW5jT3ZlcmZs
b3dTY3JvbGxpbmdFbmFibGVkPXRydWUgXSAtLT4KKzxzdHlsZT4KKyAgOmZpcnN0LW9mLXR5cGUg
eworICAgIHdyaXRpbmctbW9kZTogdGItcmw7CisgIH0KKyAgKiB7CisgICAgaW5saW5lLXNpemU6
IDA7CisgIH0KKyAgOmxhc3Qtb2YtdHlwZSB7CisgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czog
MXB4OworICB9CisgIDpmaXJzdC1jaGlsZCB7CisgICAgYm9yZGVyLWltYWdlOiB1cmwoKTsKKyAg
fQorICA6bnRoLWNoaWxkKDMpIHsKKyAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7CisgIH0K
KyAgOmxhc3QtY2hpbGQgeworICAgIG92ZXJmbG93LXk6IHNjcm9sbDsKKyAgICBwYWRkaW5nOiAw
IDAgMCAxcHg7CisgIH0KKzwvc3R5bGU+Cis8c2NyaXB0PgorICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgIG9ubG9hZCA9ICgpID0+
IHsKKyAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
J2RpdicpKTsKKyAgICAKKyAgICBzZXRUaW1lb3V0KCgpID0+IHsKKyAgICAgICAgZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7CisgICAgICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZm9ybScp
KTsKKyAgICAgICAgY29uc29sZS5sb2coImZpcnN0IG9mZnNldHRvcDsiKQorICAgICAgICBkb2N1
bWVudC5ib2R5Lm9mZnNldFRvcDsKKyAgICAgICAgY29uc29sZS5sb2coImRlc2lnbk1vZGUgb247
IikKKyAgICAgICAgZG9jdW1lbnQuZGVzaWduTW9kZSA9ICdvbic7CisgICAgICAgIGNvbnNvbGUu
bG9nKCJhcHBlbmRDaGlsZDsiKQorICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKTsKKyAgICAgICAgY29uc29sZS5sb2coInNlY29u
ZCBvZmZzZXR0b3A7IikKKyAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7CisgICAgICAg
IGNvbnNvbGUubG9nKCJkZXNpZ25Nb2RlIG9mZjsiKQorICAgICAgICBkb2N1bWVudC5kZXNpZ25N
b2RlID0gJ29mZic7CisgICAgfSwgMCk7CisgIH07Cis8L3NjcmlwdD4KKzxib2R5PlRlc3QgcGFz
c2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLjwvYm9keT4K
</data>
<flag name="review"
          id="441771"
          type_id="1"
          status="+"
          setter="zalan"
    />
    <flag name="commit-queue"
          id="441793"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422644</attachid>
            <date>2021-03-08 17:34:48 -0800</date>
            <delta_ts>2021-03-08 21:58:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-222021-20210308173447.patch</filename>
            <type>text/plain</type>
            <size>6615</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0MDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTAxMWVlNGVlZDAyZGUw
MzVjYzU3MTMxNGRmMTA3ZmU0ZGZlNGU2Yi4uZTk3OWVmMGQ1MWQ3M2FiZDYyYTA1NzdjODkwODU4
MmYwZjlhYjVmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAzLTA4ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04o
cjI3NDAyNS1yMjczODExKTogQ3Jhc2ggdW5kZXIgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVH
ZW9tZXRyeSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjIwMjEKKyAgICAgICAgcmRhcjovLzc0NDE0OTYzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
WmFsYW4gQnVqdGFzLgorCisgICAgICAgIFdoZW4gYSBSZW5kZXJMYXllciBnYWlucyBvciBsb3Nl
cyBpdHMgc2Nyb2xsYWJsZSBhcmVhLCB3ZSBoYXZlIHRvIHNldCB0aGUgZGlydHkKKyAgICAgICAg
Yml0IG9uIHRoZSBSZW5kZXJMYXllciB0byBlbnN1cmUgdGhhdCBSZW5kZXJMYXllckJhY2tpbmc6
OnVwZGF0ZUNvbmZpZ3VyYXRpb24oKSBydW5zLAorICAgICAgICB3aGljaCB1cGRhdGVzIGNvbXBv
c2l0aW5nIGxheWVycyBmb3Igc2Nyb2xsaW5nLgorCisgICAgICAgIEFsc28gYWRkIHRvIGxvZ2dp
bmcgdGhlIHNjcm9sbGFibGVBcmVhIGlmIHByZXNlbnQuCisKKyAgICAgICAgVGVzdDogZmFzdC9s
YXllcnMvcmVtb3ZlLXNjcm9sbGFibGUtYXJlYS1jcmFzaC5odG1sCisKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNh
bGN1bGF0ZUNsaXBSZWN0cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpvdXRwdXRQYWludE9y
ZGVyVHJlZVJlY3Vyc2l2ZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQu
Y3BwOgorCiAyMDIxLTAzLTA4ICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI3MzE5Ny4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGVmNTk4NTJlZmZjNTEyYzk2OWZhNjBk
N2E1MWMwYzg2NzY3MTVmY2IuLjg0NzQ3MzAyNWViZjA2YjQ2MGIwM2Y4N2ZlODNjMzYzOTMxMzJh
NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNTQyNywx
MSArNTQyNywxNyBAQCB2b2lkIFJlbmRlckxheWVyOjpjbGVhckxheWVyRmlsdGVycygpCiBSZW5k
ZXJMYXllclNjcm9sbGFibGVBcmVhKiBSZW5kZXJMYXllcjo6ZW5zdXJlTGF5ZXJTY3JvbGxhYmxl
QXJlYSgpCiB7CiAgICAgYm9vbCBoYWRTY3JvbGxhYmxlQXJlYSA9IHNjcm9sbGFibGVBcmVhKCk7
CisgICAgCiAgICAgaWYgKCFtX3Njcm9sbGFibGVBcmVhKQogICAgICAgICBtX3Njcm9sbGFibGVB
cmVhID0gbWFrZVVuaXF1ZTxSZW5kZXJMYXllclNjcm9sbGFibGVBcmVhPigqdGhpcyk7CiAKLSAg
ICBpZiAoIWhhZFNjcm9sbGFibGVBcmVhKQorICAgIGlmICghaGFkU2Nyb2xsYWJsZUFyZWEpIHsK
KyAgICAgICAgaWYgKHJlbmRlcmVyKCkuc2V0dGluZ3MoKS5hc3luY092ZXJmbG93U2Nyb2xsaW5n
RW5hYmxlZCgpKQorICAgICAgICAgICAgc2V0TmVlZHNDb21wb3NpdGluZ0NvbmZpZ3VyYXRpb25V
cGRhdGUoKTsKKwogICAgICAgICBtX3Njcm9sbGFibGVBcmVhLT5yZXN0b3JlU2Nyb2xsUG9zaXRp
b24oKTsKKyAgICB9CisKICAgICByZXR1cm4gbV9zY3JvbGxhYmxlQXJlYS5nZXQoKTsKIH0KIApA
QCAtNTQ2Miw3ICs1NDY4LDExIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUZpbHRlcnNBZnRl
clN0eWxlQ2hhbmdlKCkKIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyU2Nyb2xsYWJsZUFy
ZWEoKQogewogICAgIGlmICghaXM8UmVuZGVyQm94PihyZW5kZXJlcigpKSB8fCAhZG93bmNhc3Q8
UmVuZGVyQm94PihyZW5kZXJlcigpKS5yZXF1aXJlc0xheWVyV2l0aFNjcm9sbGFibGVBcmVhKCkp
IHsKKyAgICAgICAgYm9vbCBoYWRTY3JvbGxhYmxlQXJlYSA9IHNjcm9sbGFibGVBcmVhKCk7CiAg
ICAgICAgIGNsZWFyTGF5ZXJTY3JvbGxhYmxlQXJlYSgpOworCisgICAgICAgIGlmIChoYWRTY3Jv
bGxhYmxlQXJlYSAmJiByZW5kZXJlcigpLnNldHRpbmdzKCkuYXN5bmNPdmVyZmxvd1Njcm9sbGlu
Z0VuYWJsZWQoKSkKKyAgICAgICAgICAgIHNldE5lZWRzQ29tcG9zaXRpbmdDb25maWd1cmF0aW9u
VXBkYXRlKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTU3NzUsNiArNTc4NSwxMCBA
QCBzdGF0aWMgdm9pZCBvdXRwdXRQYWludE9yZGVyVHJlZVJlY3Vyc2l2ZShUZXh0U3RyZWFtJiBz
dHJlYW0sIGNvbnN0IFdlYkNvcmU6OlJlbgogICAgIGF1dG8gbGF5ZXJSZWN0ID0gbGF5ZXIucmVj
dCgpOwogCiAgICAgc3RyZWFtIDw8ICZsYXllciA8PCAiICIgPDwgbGF5ZXJSZWN0OworCisgICAg
aWYgKGF1dG8qIHNjcm9sbGFibGVBcmVhID0gbGF5ZXIuc2Nyb2xsYWJsZUFyZWEoKSkKKyAgICAg
ICAgc3RyZWFtIDw8ICIgW1NBICIgPDwgc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KHNjcm9sbGFi
bGVBcmVhKSA8PCAiXSI7CisKICAgICBpZiAobGF5ZXIuaXNDb21wb3NpdGVkKCkpIHsKICAgICAg
ICAgYXV0byYgYmFja2luZyA9ICpsYXllci5iYWNraW5nKCk7CiAgICAgICAgIHN0cmVhbSA8PCAi
IChsYXllcklEICIgPDwgYmFja2luZy5ncmFwaGljc0xheWVyKCktPnByaW1hcnlMYXllcklEKCkg
PDwgIikiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVB
c1RleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3Bw
CmluZGV4IDBiNWE1MTEyOWU3YzViMjJhZDA5ODUwOWZiMzdiYjVjODVjODJmZjYuLjA1OTg4ZjI5
OWJkNGIxMjVjNWE0NjQ0MWM2MDM2NGUyYmQ3YjU4OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKQEAgLTY0Niw5ICs2NDYsMTIgQEAgc3RhdGlj
IHZvaWQgd3JpdGVMYXllcihUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyTGF5ZXImIGxheWVy
LCBjb25zdCBMYXlvdXRSZWMKIAogICAgIHRzIDw8IGluZGVudCA8PCAibGF5ZXIgIjsKICAgICAK
LSAgICBpZiAoYmVoYXZpb3IuY29udGFpbnMoUmVuZGVyQXNUZXh0RmxhZzo6U2hvd0FkZHJlc3Nl
cykpCisgICAgaWYgKGJlaGF2aW9yLmNvbnRhaW5zKFJlbmRlckFzVGV4dEZsYWc6OlNob3dBZGRy
ZXNzZXMpKSB7CiAgICAgICAgIHRzIDw8IHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPigmbGF5ZXIp
IDw8ICIgIjsKLSAgICAgIAorICAgICAgICBpZiAoYXV0byogc2Nyb2xsYWJsZUFyZWEgPSBsYXll
ci5zY3JvbGxhYmxlQXJlYSgpKQorICAgICAgICAgICAgdHMgPDwgInNjcm9sbGFibGVBcmVhICIg
PDwgc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KHNjcm9sbGFibGVBcmVhKSA8PCAiICI7CisgICAg
fQorCiAgICAgdHMgPDwgYWRqdXN0ZWRMYXlvdXRCb3VuZHM7CiAKICAgICBpZiAoIWFkanVzdGVk
TGF5b3V0Qm91bmRzLmlzRW1wdHkoKSkgewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGMxZjdjMDk4Nzg3YjYzNjJmNGNjYjIz
ZmRiMDlkYmY5M2RiNTA5YzIuLjkyYzEwMmI3YjIzMzFiODQyNGM2YTBmOTEzYTQ0NjZmZjhlZmEw
NTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0wMy0wOCAgU2ltb24gRnJhc2VyICA8c2lt
b24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNzQwMjUtcjI3Mzgx
MSk6IENyYXNoIHVuZGVyIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR2VvbWV0cnkoKQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIyMDIxCisgICAg
ICAgIHJkYXI6Ly83NDQxNDk2MworCisgICAgICAgIFJldmlld2VkIGJ5IFphbGFuIEJ1anRhcy4K
KworICAgICAgICBXaGVuIGEgUmVuZGVyTGF5ZXIgZ2FpbnMgb3IgbG9zZXMgaXRzIHNjcm9sbGFi
bGUgYXJlYSwgd2UgaGF2ZSB0byBzZXQgdGhlIGRpcnR5CisgICAgICAgIGJpdCBvbiB0aGUgUmVu
ZGVyTGF5ZXIgdG8gZW5zdXJlIHRoYXQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVDb25maWd1
cmF0aW9uKCkgcnVucywKKyAgICAgICAgd2hpY2ggdXBkYXRlcyBjb21wb3NpdGluZyBsYXllcnMg
Zm9yIHNjcm9sbGluZy4KKworICAgICAgICAqIGZhc3QvbGF5ZXJzL3JlbW92ZS1zY3JvbGxhYmxl
LWFyZWEtY3Jhc2guaHRtbDogQWRkZWQuCisKIDIwMjEtMDMtMDYgIEFudG9pbmUgUXVpbnQgIDxn
cmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1dlYiBBbmltYXRpb25zXSBTb21lIHRlc3Rz
IHVuZGVyIHdlYi1hbmltYXRpb25zL3RpbWluZy1tb2RlbC9hbmltYXRpb25zIGFyZSBJbWFnZU9u
bHlGYWlsdXJlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xheWVycy9yZW1vdmUtc2Ny
b2xsYWJsZS1hcmVhLWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbGF5ZXJz
L3JlbW92ZS1zY3JvbGxhYmxlLWFyZWEtY3Jhc2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEw
NDJjNzY3OGU0YTgzNWM0YWUyZGUyMWRhMTZlYWVhMDAxZGZhY2QKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2xheWVycy9yZW1vdmUtc2Nyb2xsYWJsZS1hcmVhLWNyYXNoLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDIgQEAKK1Rlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNy
YXNoLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2xheWVycy9yZW1vdmUtc2Nyb2xs
YWJsZS1hcmVhLWNyYXNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2xheWVycy9yZW1vdmUtc2Ny
b2xsYWJsZS1hcmVhLWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzY4ZTY5Y2EwN2IxOTMzMGM4NDEz
NTlkNWVhNjY4MzdjMTU2M2M0NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
bGF5ZXJzL3JlbW92ZS1zY3JvbGxhYmxlLWFyZWEtY3Jhc2guaHRtbApAQCAtMCwwICsxLDQwIEBA
Cis8IURPQ1RZUEUgaHRtbD4gPCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBBc3luY092ZXJmbG93
U2Nyb2xsaW5nRW5hYmxlZD10cnVlIF0gLS0+Cis8c3R5bGU+CisgIDpmaXJzdC1vZi10eXBlIHsK
KyAgICB3cml0aW5nLW1vZGU6IHRiLXJsOworICB9CisgICogeworICAgIGlubGluZS1zaXplOiAw
OworICB9CisgIDpsYXN0LW9mLXR5cGUgeworICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDFw
eDsKKyAgfQorICA6Zmlyc3QtY2hpbGQgeworICAgIGJvcmRlci1pbWFnZTogdXJsKCk7CisgIH0K
KyAgOm50aC1jaGlsZCgzKSB7CisgICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpOworICB9Cisg
IDpsYXN0LWNoaWxkIHsKKyAgICBvdmVyZmxvdy15OiBzY3JvbGw7CisgICAgcGFkZGluZzogMCAw
IDAgMXB4OworICB9Cis8L3N0eWxlPgorPHNjcmlwdD4KKyAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCisgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworICBvbmxvYWQgPSAoKSA9PiB7
CisgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKSk7CisgICAgCisgICAgc2V0VGltZW91dCgoKSA9PiB7CisgICAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpOworICAgICAgICBk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Zvcm0nKSk7
CisgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOworICAgICAgICBkb2N1bWVudC5kZXNp
Z25Nb2RlID0gJ29uJzsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7CisgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9w
OworICAgICAgICBkb2N1bWVudC5kZXNpZ25Nb2RlID0gJ29mZic7CisgICAgfSwgMCk7CisgIH07
Cis8L3NjcmlwdD4KKzxib2R5PlRlc3QgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLjwvYm9k
eT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>