<?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>183610</bug_id>
          
          <creation_ts>2018-03-13 13:30:06 -0700</creation_ts>
          <short_desc>fast/loader/javascript-url-iframe-remove-on-navigate.html is a flaky crash on iOS with async delegates</short_desc>
          <delta_ts>2018-03-13 18:03:36 -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>Page Loading</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>
          
          <blocked>180568</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ajuma</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1406219</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-13 13:30:06 -0700</bug_when>
    <thetext>fast/loader/javascript-url-iframe-remove-on-navigate.html is a flaky crash on iOS with async delegates:
Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000030
Exception Note:        EXC_CORPSE_NOTIFY

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

VM Regions Near 0x30:
--&gt; 
    __TEXT                 00000001042d1000-00000001042d3000 [    8K] r-x/rwx SM=COW  /Volumes/VOLUME/*/WebKit.framework/XPCServices/com.apple.WebKit.WebContent.xpc/com.apple.WebKit.WebContent.Development

Application Specific Information:
CRASHING TEST: fast/loader/javascript-url-iframe-remove-on-navigate.html
CoreSimulator 494.13.6 - Device: Managed 0 - Runtime: iOS 11.0 (15A372) - DeviceType: iPhone 5s

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x000000010e0e7c04 WebCore::FrameLoaderStateMachine::creatingInitialEmptyDocument() const + 4 (FrameLoaderStateMachine.cpp:54)
1   com.apple.WebCore             	0x000000010e0d1fe4 WebCore::DocumentLoader::maybeLoadEmpty() + 388 (DocumentLoader.cpp:1629)
2   com.apple.WebCore             	0x000000010e0ce930 WebCore::DocumentLoader::loadMainResource(WebCore::ResourceRequest&amp;&amp;) + 1408 (DocumentLoader.cpp:1743)
3   com.apple.WebCore             	0x000000010e0cd7da WebCore::DocumentLoader::matchRegistration(WebCore::URL const&amp;, WTF::CompletionHandler&lt;void (std::optional&lt;WebCore::ServiceWorkerRegistrationData&gt;&amp;&amp;)&gt;&amp;&amp;) + 474 (memory:2602)
4   com.apple.WebCore             	0x000000010e0dbe2c WTF::Function&lt;void (WebCore::ResourceRequest&amp;&amp;)&gt;::CallableWrapper&lt;WebCore::DocumentLoader::startLoadingMainResource()::$_8&gt;::call(WebCore::ResourceRequest&amp;&amp;) + 1212 (memory:2600)
5   com.apple.WebCore             	0x000000010e0cdfa8 WebCore::DocumentLoader::willSendRequest(WebCore::ResourceRequest&amp;&amp;, WebCore::ResourceResponse const&amp;, WTF::CompletionHandler&lt;void (WebCore::ResourceRequest&amp;&amp;)&gt;&amp;&amp;) + 1784 (memory:2602)
6   com.apple.WebCore             	0x000000010e0d2600 WebCore::DocumentLoader::startLoadingMainResource() + 864 (memory:2600)
7   com.apple.WebCore             	0x000000010e0ed67b WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&amp;, WebCore::FormState*, bool, WebCore::AllowNavigationToInvalidURL) + 779 (memory:2600)
8   com.apple.WebCore             	0x000000010e0f7f1a WTF::Function&lt;void (WebCore::ResourceRequest&amp;&amp;, WebCore::FormState*, bool)&gt;::CallableWrapper&lt;WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WebCore::FormState*, WebCore::AllowNavigationToInvalidURL, WTF::CompletionHandler&lt;void ()&gt;&amp;&amp;)::$_9&gt;::call(WebCore::ResourceRequest&amp;&amp;, WebCore::FormState*, bool) + 26 (memory:2593)
9   com.apple.WebCore             	0x000000010e10ebb5 WTF::Function&lt;void (WebCore::PolicyAction)&gt;::CallableWrapper&lt;WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest&amp;&amp;, bool, WebCore::DocumentLoader*, WebCore::FormState*, WTF::CompletionHandler&lt;void (WebCore::ResourceRequest&amp;&amp;, WebCore::FormState*, bool)&gt;&amp;&amp;)::$_6&gt;::call(WebCore::PolicyAction) + 181 (memory:2602)
10  com.apple.WebKit              	0x0000000104b29adb WebKit::WebFrame::didReceivePolicyDecision(unsigned long long, WebCore::PolicyAction, unsigned long long, WebKit::DownloadID, std::optional&lt;WebKit::WebsitePoliciesData&gt;&amp;&amp;) + 183 (memory:2397)
11  com.apple.WebKit              	0x0000000104b98f65 void IPC::callMemberFunctionImpl&lt;WebKit::WebPage, void (WebKit::WebPage::*)(unsigned long long, unsigned long long, WebCore::PolicyAction, unsigned long long, WebKit::DownloadID const&amp;, std::optional&lt;WebKit::WebsitePoliciesData&gt;&amp;&amp;), std::__1::tuple&lt;unsigned long long, unsigned long long, WebCore::PolicyAction, unsigned long long, WebKit::DownloadID, std::optional&lt;WebKit::WebsitePoliciesData&gt; &gt;, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul&gt;(WebKit::WebPage*, void (WebKit::WebPage::*)(unsigned long long, unsigned long long, WebCore::PolicyAction, unsigned long long, WebKit::DownloadID const&amp;, std::optional&lt;WebKit::WebsitePoliciesData&gt;&amp;&amp;), std::__1::tuple&lt;unsigned long long, unsigned long long, WebCore::PolicyAction, unsigned long long, WebKit::DownloadID, std::optional&lt;WebKit::WebsitePoliciesData&gt; &gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul&gt;) + 58 (HandleMessage.h:41)
12  com.apple.WebKit              	0x0000000104b93afa void IPC::handleMessage&lt;Messages::WebPage::DidReceivePolicyDecision, WebKit::WebPage, void (WebKit::WebPage::*)(unsigned long long, unsigned long long, WebCore::PolicyAction, unsigned long long, WebKit::DownloadID const&amp;, std::optional&lt;WebKit::WebsitePoliciesData&gt;&amp;&amp;)&gt;(IPC::Decoder&amp;, WebKit::WebPage*, void (WebKit::WebPage::*)(unsigned long long, unsigned long long, WebCore::PolicyAction, unsigned long long, WebKit::DownloadID const&amp;, std::optional&lt;WebKit::WebsitePoliciesData&gt;&amp;&amp;)) + 100 (Optional.h:470)
13  com.apple.WebKit              	0x00000001049f8baf IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 127
14  com.apple.WebKit              	0x0000000104c04e88 WebKit::WebProcess::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;) + 28 (WebProcess.cpp:639)
15  com.apple.WebKit              	0x00000001049c116f IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;) + 119 (memory:2581)
16  com.apple.WebKit              	0x00000001049c3916 IPC::Connection::dispatchOneMessage() + 176 (Connection.cpp:964)
17  JavaScriptCore                	0x000000010c98e7ac WTF::RunLoop::performWork() + 236 (Function.h:56)
18  JavaScriptCore                	0x000000010c98ea42 WTF::RunLoop::performWork(void*) + 34 (RunLoopCF.cpp:39)
19  com.apple.CoreFoundation      	0x0000000105e482b1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
20  com.apple.CoreFoundation      	0x0000000105ee7d31 __CFRunLoopDoSource0 + 81
21  com.apple.CoreFoundation      	0x0000000105e2cc19 __CFRunLoopDoSources0 + 185
22  com.apple.CoreFoundation      	0x0000000105e2c1ff __CFRunLoopRun + 1279
23  com.apple.CoreFoundation      	0x0000000105e2ba89 CFRunLoopRunSpecific + 409
24  com.apple.Foundation          	0x000000010437ce5e -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 274
25  com.apple.Foundation          	0x000000010437cd39 -[NSRunLoop(NSRunLoop) run] + 76
26  libxpc.dylib                  	0x000000010793b0d9 _xpc_objc_main + 460
27  libxpc.dylib                  	0x000000010793d4cb xpc_main + 143
28  com.apple.WebKit.WebContent   	0x00000001042d21ee main + 408 (OSObjectPtr.h:65)
29  libdyld.dylib                 	0x00000001075e6d81 start + 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406287</commentid>
    <comment_count>1</comment_count>
      <attachid>335744</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-13 16:29:00 -0700</bug_when>
    <thetext>Created attachment 335744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406290</commentid>
    <comment_count>2</comment_count>
      <attachid>335744</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-03-13 16:39:34 -0700</bug_when>
    <thetext>Comment on attachment 335744
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        return null due to the load getting cancelled synchronously. If this load the parent frame&apos;s last

s/load/load is/

&gt; Source/WebCore/ChangeLog:15
&gt; +        which crashes flakily.

crashes/crashed

&gt; Source/WebCore/loader/DocumentLoader.cpp:1725
&gt; +            return;

I wonder whether some housekeeping would be good to do, hopefully not but hey...
For instance, is m_loadingMainResource false when returning early (hopefully yes)?

&gt; Source/WebCore/loader/DocumentLoader.cpp:1728
&gt;              RELEASE_LOG_IF_ALLOWED(&quot;startLoadingMainResource: Unable to load main resource, URL is invalid (frame = %p, main = %d)&quot;, m_frame, m_frame-&gt;isMainFrame());

I wonder whether we would still want to log this error case even in the case frame is null?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406293</commentid>
    <comment_count>3</comment_count>
      <attachid>335745</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-13 16:49:46 -0700</bug_when>
    <thetext>Created attachment 335745
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406294</commentid>
    <comment_count>4</comment_count>
      <attachid>335744</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-03-13 16:50:17 -0700</bug_when>
    <thetext>Comment on attachment 335744
Patch

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

&gt;&gt; Source/WebCore/loader/DocumentLoader.cpp:1725
&gt;&gt; +            return;
&gt; 
&gt; I wonder whether some housekeeping would be good to do, hopefully not but hey...
&gt; For instance, is m_loadingMainResource false when returning early (hopefully yes)?

m_loadingMainResource is false. I checked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406322</commentid>
    <comment_count>5</comment_count>
      <attachid>335745</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-13 18:02:25 -0700</bug_when>
    <thetext>Comment on attachment 335745
Patch

Clearing flags on attachment: 335745

Committed r229596: &lt;https://trac.webkit.org/changeset/229596&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406323</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-03-13 18:02:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1406324</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-03-13 18:03:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/38440197&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335744</attachid>
            <date>2018-03-13 16:29:00 -0700</date>
            <delta_ts>2018-03-13 16:49:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183610-20180313162859.patch</filename>
            <type>text/plain</type>
            <size>3885</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQ4NWM0ZDZmYjJhZDJi
MjFhZmZlN2YwYTA3NTQzZWM4YmExOTJkMy4uZTBiMzFhNzIzMjUyM2QxOWEzYWIxOTNiZTU0M2Mw
ZTliZWVhMGE5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTAzLTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgZmFzdC9sb2FkZXIvamF2YXNj
cmlwdC11cmwtaWZyYW1lLXJlbW92ZS1vbi1uYXZpZ2F0ZS5odG1sIGlzIGEgZmxha3kgY3Jhc2gg
b24gaU9TIHdpdGggYXN5bmMgZGVsZWdhdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODM2MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGUgaXNzdWUgd2FzIHRoYXQgaW4gRG9jdW1lbnRMb2FkZXI6
OmxvYWRNYWluUmVzb3VyY2UoKSwgdGhlIGNhbGwgdG8gcmVxdWVzdE1haW5SZXNvdXJjZSgpIHdo
aWNoCisgICAgICAgIHJldHVybiBudWxsIGR1ZSB0byB0aGUgbG9hZCBnZXR0aW5nIGNhbmNlbGxl
ZCBzeW5jaHJvbm91c2x5LiBJZiB0aGlzIGxvYWQgdGhlIHBhcmVudCBmcmFtZSdzIGxhc3QKKyAg
ICAgICAgcGVuZGluZyBsb2FkLCB0aGVuIHRoZSAnbG9hZCcgZXZlbnQgZ2V0cyBmaXJlZCBpbiB0
aGUgcGFyZW50IGZyYW1lLiBJbiB0aGUgdGVzdCwgdGhlIHBhcmVudCBmcmFtZSdzCisgICAgICAg
IGxvYWQgZXZlbnQgaGFuZGxlciBkb2VzIGEgZG9jdW1lbnQud3JpdGUoKSBjYWxsIHdoaWNoIGJs
b3dzIGF3YXkgdGhlIGlmcmFtZS4gQXMgYSByZXN1bHQsIHdoZW4KKyAgICAgICAgd2UgcmV0dXJu
IGZyb20gdGhlIHJlcXVlc3RNYWluUmVzb3VyY2UoKSwgbV9mcmFtZSBpcyBudWxsIGFuZCB3ZSBj
cmFzaCBsYXRlciBvbiBkZXJlZmVyZW5jaW5nIGl0LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywg
Y292ZXJlZCBieSBmYXN0L2xvYWRlci9qYXZhc2NyaXB0LXVybC1pZnJhbWUtcmVtb3ZlLW9uLW5h
dmlnYXRlLWFzeW5jLWRlbGVnYXRlLmh0bWwKKyAgICAgICAgd2hpY2ggY3Jhc2hlcyBmbGFraWx5
LgorCisgICAgICAgICogbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50TG9hZGVyOjpsb2FkTWFpblJlc291cmNlKToKKwogMjAxOC0wMy0xMiAgSm9o
biBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXNvdXJjZSBMb2Fk
IFN0YXRpc3RpY3M6IEltbWVkaWF0ZWx5IGZvcndhcmQgY29va2llIGFjY2VzcyBhdCB1c2VyIGlu
dGVyYWN0aW9uIHdoZW4gdGhlcmUncyBhbiBvcGVuZXIgZG9jdW1lbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IGYxZWEwYjNmNDRmMzYxYzJkNjMwMmVhMzIz
NTE0ZDU3OTVjMTMyZDIuLmM4NTBmYzNiODUxMTE1MDY1ZjcyMjFjYTI1MGNlZGQzOTE3MDM2N2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcApAQCAtMTcxOCwxNSAr
MTcxOCwxMiBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpsb2FkTWFpblJlc291cmNlKFJlc291cmNl
UmVxdWVzdCYmIHJlcXVlc3QpCiAKICAgICBtX21haW5SZXNvdXJjZSA9IG1fY2FjaGVkUmVzb3Vy
Y2VMb2FkZXItPnJlcXVlc3RNYWluUmVzb3VyY2UoV1RGTW92ZShtYWluUmVzb3VyY2VSZXF1ZXN0
KSkudmFsdWVfb3IobnVsbHB0cik7CiAKLSNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQot
ICAgIGlmIChtX21haW5SZXNvdXJjZSAmJiBtX21haW5SZXNvdXJjZS0+ZXJyb3JPY2N1cnJlZCgp
ICYmIG1fZnJhbWUtPnBhZ2UoKSAmJiBtX21haW5SZXNvdXJjZS0+cmVzb3VyY2VFcnJvcigpLmRv
bWFpbigpID09IENvbnRlbnRFeHRlbnNpb25zOjpXZWJLaXRDb250ZW50QmxvY2tlckRvbWFpbikg
ewotICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJzdGFydExvYWRpbmdNYWluUmVzb3Vy
Y2U6IEJsb2NrZWQgYnkgY29udGVudCBibG9ja2VyIGVycm9yIChmcmFtZSA9ICVwLCBtYWluID0g
JWQpIiwgbV9mcmFtZSwgbV9mcmFtZS0+aXNNYWluRnJhbWUoKSk7Ci0gICAgICAgIGNhbmNlbE1h
aW5SZXNvdXJjZUxvYWQoZnJhbWVMb2FkZXIoKS0+YmxvY2tlZEJ5Q29udGVudEJsb2NrZXJFcnJv
cihtX3JlcXVlc3QpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgotCiAgICAgaWYg
KCFtX21haW5SZXNvdXJjZSkgeworICAgICAgICAvLyBUaGUgZnJhbWUgbWF5IGhhdmUgZ29uZSBh
d2F5IGlmIHRoaXMgbG9hZCB3YXMgY2FuY2VsbGVkIHN5bmNocm9ub3VzbHkgYW5kIHRoaXMgd2Fz
IHRoZSBsYXN0IHBlbmRpbmcgbG9hZC4KKyAgICAgICAgLy8gVGhpcyBpcyBiZWNhdXNlIHdlIG1h
eSBoYXZlIGZpcmVkIHRoZSBsb2FkIGV2ZW50IGluIGEgcGFyZW50IGZyYW1lLgorICAgICAgICBp
ZiAoIW1fZnJhbWUpCisgICAgICAgICAgICByZXR1cm47CisKICAgICAgICAgaWYgKCFtX3JlcXVl
c3QudXJsKCkuaXNWYWxpZCgpKSB7CiAgICAgICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VE
KCJzdGFydExvYWRpbmdNYWluUmVzb3VyY2U6IFVuYWJsZSB0byBsb2FkIG1haW4gcmVzb3VyY2Us
IFVSTCBpcyBpbnZhbGlkIChmcmFtZSA9ICVwLCBtYWluID0gJWQpIiwgbV9mcmFtZSwgbV9mcmFt
ZS0+aXNNYWluRnJhbWUoKSk7CiAgICAgICAgICAgICBjYW5jZWxNYWluUmVzb3VyY2VMb2FkKGZy
YW1lTG9hZGVyKCktPmNsaWVudCgpLmNhbm5vdFNob3dVUkxFcnJvcihtX3JlcXVlc3QpKTsKQEAg
LTE3NDQsNiArMTc0MSwxNiBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpsb2FkTWFpblJlc291cmNl
KFJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAg
ICBBU1NFUlQobV9mcmFtZSk7CisKKyNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQorICAg
IGlmIChtX21haW5SZXNvdXJjZS0+ZXJyb3JPY2N1cnJlZCgpICYmIG1fZnJhbWUtPnBhZ2UoKSAm
JiBtX21haW5SZXNvdXJjZS0+cmVzb3VyY2VFcnJvcigpLmRvbWFpbigpID09IENvbnRlbnRFeHRl
bnNpb25zOjpXZWJLaXRDb250ZW50QmxvY2tlckRvbWFpbikgeworICAgICAgICBSRUxFQVNFX0xP
R19JRl9BTExPV0VEKCJzdGFydExvYWRpbmdNYWluUmVzb3VyY2U6IEJsb2NrZWQgYnkgY29udGVu
dCBibG9ja2VyIGVycm9yIChmcmFtZSA9ICVwLCBtYWluID0gJWQpIiwgbV9mcmFtZSwgbV9mcmFt
ZS0+aXNNYWluRnJhbWUoKSk7CisgICAgICAgIGNhbmNlbE1haW5SZXNvdXJjZUxvYWQoZnJhbWVM
b2FkZXIoKS0+YmxvY2tlZEJ5Q29udGVudEJsb2NrZXJFcnJvcihtX3JlcXVlc3QpKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCiAgICAgaWYgKCFtYWluUmVzb3VyY2VMb2FkZXIo
KSkgewogICAgICAgICBtX2lkZW50aWZpZXJGb3JMb2FkV2l0aG91dFJlc291cmNlTG9hZGVyID0g
bV9mcmFtZS0+cGFnZSgpLT5wcm9ncmVzcygpLmNyZWF0ZVVuaXF1ZUlkZW50aWZpZXIoKTsKICAg
ICAgICAgZnJhbWVMb2FkZXIoKS0+bm90aWZpZXIoKS5hc3NpZ25JZGVudGlmaWVyVG9Jbml0aWFs
UmVxdWVzdChtX2lkZW50aWZpZXJGb3JMb2FkV2l0aG91dFJlc291cmNlTG9hZGVyLCB0aGlzLCBy
ZXF1ZXN0KTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335745</attachid>
            <date>2018-03-13 16:49:46 -0700</date>
            <delta_ts>2018-03-13 18:02:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-183610-20180313164945.patch</filename>
            <type>text/plain</type>
            <size>3892</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI5NTgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQ4NWM0ZDZmYjJhZDJi
MjFhZmZlN2YwYTA3NTQzZWM4YmExOTJkMy4uZjM4NjIzOTExZjRhZGRjMjk3M2NkMmRmMDI3N2Q5
YmJjZjc4MjZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE4LTAzLTEzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgZmFzdC9sb2FkZXIvamF2YXNj
cmlwdC11cmwtaWZyYW1lLXJlbW92ZS1vbi1uYXZpZ2F0ZS5odG1sIGlzIGEgZmxha3kgY3Jhc2gg
b24gaU9TIHdpdGggYXN5bmMgZGVsZWdhdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xODM2MTAKKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4g
RmFibGV0LgorCisgICAgICAgIFRoZSBpc3N1ZSB3YXMgdGhhdCBpbiBEb2N1bWVudExvYWRlcjo6
bG9hZE1haW5SZXNvdXJjZSgpLCB0aGUgY2FsbCB0byByZXF1ZXN0TWFpblJlc291cmNlKCkgd2hp
Y2gKKyAgICAgICAgcmV0dXJuIG51bGwgZHVlIHRvIHRoZSBsb2FkIGdldHRpbmcgY2FuY2VsbGVk
IHN5bmNocm9ub3VzbHkuIElmIHRoaXMgbG9hZCBpcyB0aGUgcGFyZW50IGZyYW1lJ3MgbGFzdAor
ICAgICAgICBwZW5kaW5nIGxvYWQsIHRoZW4gdGhlICdsb2FkJyBldmVudCBnZXRzIGZpcmVkIGlu
IHRoZSBwYXJlbnQgZnJhbWUuIEluIHRoZSB0ZXN0LCB0aGUgcGFyZW50IGZyYW1lJ3MKKyAgICAg
ICAgbG9hZCBldmVudCBoYW5kbGVyIGRvZXMgYSBkb2N1bWVudC53cml0ZSgpIGNhbGwgd2hpY2gg
Ymxvd3MgYXdheSB0aGUgaWZyYW1lLiBBcyBhIHJlc3VsdCwgd2hlbgorICAgICAgICB3ZSByZXR1
cm4gZnJvbSB0aGUgcmVxdWVzdE1haW5SZXNvdXJjZSgpLCBtX2ZyYW1lIGlzIG51bGwgYW5kIHdl
IGNyYXNoIGxhdGVyIG9uIGRlcmVmZXJlbmNpbmcgaXQuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LCBjb3ZlcmVkIGJ5IGZhc3QvbG9hZGVyL2phdmFzY3JpcHQtdXJsLWlmcmFtZS1yZW1vdmUtb24t
bmF2aWdhdGUtYXN5bmMtZGVsZWdhdGUuaHRtbAorICAgICAgICB3aGljaCB3YXMgY3Jhc2hpbmcg
Zmxha2lseS4KKworICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6bG9hZE1haW5SZXNvdXJjZSk6CisKIDIwMTgtMDMt
MTIgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVzb3Vy
Y2UgTG9hZCBTdGF0aXN0aWNzOiBJbW1lZGlhdGVseSBmb3J3YXJkIGNvb2tpZSBhY2Nlc3MgYXQg
dXNlciBpbnRlcmFjdGlvbiB3aGVuIHRoZXJlJ3MgYW4gb3BlbmVyIGRvY3VtZW50CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCBmMWVhMGIzZjQ0ZjM2MWMyZDYz
MDJlYTMyMzUxNGQ1Nzk1YzEzMmQyLi5jODUwZmMzYjg1MTExNTA2NWY3MjIxY2EyNTBjZWRkMzkx
NzAzNjdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTE3
MTgsMTUgKzE3MTgsMTIgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6bG9hZE1haW5SZXNvdXJjZShS
ZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0KQogCiAgICAgbV9tYWluUmVzb3VyY2UgPSBtX2NhY2hl
ZFJlc291cmNlTG9hZGVyLT5yZXF1ZXN0TWFpblJlc291cmNlKFdURk1vdmUobWFpblJlc291cmNl
UmVxdWVzdCkpLnZhbHVlX29yKG51bGxwdHIpOwogCi0jaWYgRU5BQkxFKENPTlRFTlRfRVhURU5T
SU9OUykKLSAgICBpZiAobV9tYWluUmVzb3VyY2UgJiYgbV9tYWluUmVzb3VyY2UtPmVycm9yT2Nj
dXJyZWQoKSAmJiBtX2ZyYW1lLT5wYWdlKCkgJiYgbV9tYWluUmVzb3VyY2UtPnJlc291cmNlRXJy
b3IoKS5kb21haW4oKSA9PSBDb250ZW50RXh0ZW5zaW9uczo6V2ViS2l0Q29udGVudEJsb2NrZXJE
b21haW4pIHsKLSAgICAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgic3RhcnRMb2FkaW5nTWFp
blJlc291cmNlOiBCbG9ja2VkIGJ5IGNvbnRlbnQgYmxvY2tlciBlcnJvciAoZnJhbWUgPSAlcCwg
bWFpbiA9ICVkKSIsIG1fZnJhbWUsIG1fZnJhbWUtPmlzTWFpbkZyYW1lKCkpOwotICAgICAgICBj
YW5jZWxNYWluUmVzb3VyY2VMb2FkKGZyYW1lTG9hZGVyKCktPmJsb2NrZWRCeUNvbnRlbnRCbG9j
a2VyRXJyb3IobV9yZXF1ZXN0KSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKLQog
ICAgIGlmICghbV9tYWluUmVzb3VyY2UpIHsKKyAgICAgICAgLy8gVGhlIGZyYW1lIG1heSBoYXZl
IGdvbmUgYXdheSBpZiB0aGlzIGxvYWQgd2FzIGNhbmNlbGxlZCBzeW5jaHJvbm91c2x5IGFuZCB0
aGlzIHdhcyB0aGUgbGFzdCBwZW5kaW5nIGxvYWQuCisgICAgICAgIC8vIFRoaXMgaXMgYmVjYXVz
ZSB3ZSBtYXkgaGF2ZSBmaXJlZCB0aGUgbG9hZCBldmVudCBpbiBhIHBhcmVudCBmcmFtZS4KKyAg
ICAgICAgaWYgKCFtX2ZyYW1lKQorICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgIGlmICgh
bV9yZXF1ZXN0LnVybCgpLmlzVmFsaWQoKSkgewogICAgICAgICAgICAgUkVMRUFTRV9MT0dfSUZf
QUxMT1dFRCgic3RhcnRMb2FkaW5nTWFpblJlc291cmNlOiBVbmFibGUgdG8gbG9hZCBtYWluIHJl
c291cmNlLCBVUkwgaXMgaW52YWxpZCAoZnJhbWUgPSAlcCwgbWFpbiA9ICVkKSIsIG1fZnJhbWUs
IG1fZnJhbWUtPmlzTWFpbkZyYW1lKCkpOwogICAgICAgICAgICAgY2FuY2VsTWFpblJlc291cmNl
TG9hZChmcmFtZUxvYWRlcigpLT5jbGllbnQoKS5jYW5ub3RTaG93VVJMRXJyb3IobV9yZXF1ZXN0
KSk7CkBAIC0xNzQ0LDYgKzE3NDEsMTYgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6bG9hZE1haW5S
ZXNvdXJjZShSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0KQogICAgICAgICByZXR1cm47CiAgICAg
fQogCisgICAgQVNTRVJUKG1fZnJhbWUpOworCisjaWYgRU5BQkxFKENPTlRFTlRfRVhURU5TSU9O
UykKKyAgICBpZiAobV9tYWluUmVzb3VyY2UtPmVycm9yT2NjdXJyZWQoKSAmJiBtX2ZyYW1lLT5w
YWdlKCkgJiYgbV9tYWluUmVzb3VyY2UtPnJlc291cmNlRXJyb3IoKS5kb21haW4oKSA9PSBDb250
ZW50RXh0ZW5zaW9uczo6V2ViS2l0Q29udGVudEJsb2NrZXJEb21haW4pIHsKKyAgICAgICAgUkVM
RUFTRV9MT0dfSUZfQUxMT1dFRCgic3RhcnRMb2FkaW5nTWFpblJlc291cmNlOiBCbG9ja2VkIGJ5
IGNvbnRlbnQgYmxvY2tlciBlcnJvciAoZnJhbWUgPSAlcCwgbWFpbiA9ICVkKSIsIG1fZnJhbWUs
IG1fZnJhbWUtPmlzTWFpbkZyYW1lKCkpOworICAgICAgICBjYW5jZWxNYWluUmVzb3VyY2VMb2Fk
KGZyYW1lTG9hZGVyKCktPmJsb2NrZWRCeUNvbnRlbnRCbG9ja2VyRXJyb3IobV9yZXF1ZXN0KSk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKwogICAgIGlmICghbWFpblJlc291cmNl
TG9hZGVyKCkpIHsKICAgICAgICAgbV9pZGVudGlmaWVyRm9yTG9hZFdpdGhvdXRSZXNvdXJjZUxv
YWRlciA9IG1fZnJhbWUtPnBhZ2UoKS0+cHJvZ3Jlc3MoKS5jcmVhdGVVbmlxdWVJZGVudGlmaWVy
KCk7CiAgICAgICAgIGZyYW1lTG9hZGVyKCktPm5vdGlmaWVyKCkuYXNzaWduSWRlbnRpZmllclRv
SW5pdGlhbFJlcXVlc3QobV9pZGVudGlmaWVyRm9yTG9hZFdpdGhvdXRSZXNvdXJjZUxvYWRlciwg
dGhpcywgcmVxdWVzdCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>