<?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>143036</bug_id>
          
          <creation_ts>2015-03-24 21:23:42 -0700</creation_ts>
          <short_desc>[WK2] WebFrameLoaderClient::dispatchDecidePolicyForResponse() should always call the FramePolicyFunction</short_desc>
          <delta_ts>2015-03-25 19:36:56 -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>WebKit2</component>
          <version>528+ (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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>aestes</cc>
    
    <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1079856</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-24 21:23:42 -0700</bug_when>
    <thetext>WebFrameLoaderClient::dispatchDecidePolicyForResponse() should always call the FramePolicyFunction. Currently, it fails to do so under 2 conditions:
- m_frame-&gt;page() returns null
or
- webPage-&gt;sendSync() returns false

If the FramePolicyFunction is not called, we will fail to clear the callback in the PolicyChecker and DocumentLoader::continueAfterContentPolicy() will not be called.
DocumentLoader::continueAfterContentPolicy() is in charge of resetting m_waitingForContentPolicy flag to false.

This could explain the following assertion being hit in DocumentLoader::detachFromFrame():
RELEASE_ASSERT_WITH_MESSAGE(!m_waitingForContentPolicy, &quot;The content policy callback needs a valid frame.&quot;);

Radar: &lt;rdar://problem/20252438&gt;


Also, as the PolicyChecker callback is not cleared, it could make it possible for DocumentLoader::continueAfterContentPolicy() to be called *after* the load is finished, when later canceling the PolicyCallback:
FrameLoader::stopAllLoaders() -&gt; PolicyChecker::stopCheck() -&gt; PolicyCallback::cancel() -&gt; DocumentLoader::continueAfterContentPolicy(PolicyIgnore)

Calling continueAfterContentPolicy(PolicyIgnore) after the load is finished would be bad and could explain some of the crashes we&apos;ve seen in DocumentLoader::continueAfterContentPolicy() / DocumentLoader:: stopLoadingForPolicyChange().

Radar: &lt;rdar://problem/13811738&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079859</commentid>
    <comment_count>1</comment_count>
      <attachid>249385</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-24 21:32:33 -0700</bug_when>
    <thetext>Created attachment 249385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079869</commentid>
    <comment_count>2</comment_count>
      <attachid>249385</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-03-24 22:26:36 -0700</bug_when>
    <thetext>Comment on attachment 249385
Patch

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

&gt; Source/WebKit2/ChangeLog:13
&gt; +        - m_frame-&gt;page() returns null

Can this be tested? It seems like simply removing an iframe while waiting for a policy answer should trigger this.

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:692
&gt; +        function(PolicyUse);

I think that this should be PolicyIgnore. It could be a security check, and taking no answer for &quot;yes&quot; is wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079880</commentid>
    <comment_count>3</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2015-03-24 23:08:59 -0700</bug_when>
    <thetext>Is dispatchDecidePolicyForResponse() the only place where we need to do this? We follow the same pattern in dispatchDecidePolicyForNewWindowAction() and dispatchDecidePolicyForNavigationAction(), and one of the crash logs attached to rdar://problem/13811738 shows a crash in continueAfterNavigationPolicy().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079950</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-25 08:10:47 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Is dispatchDecidePolicyForResponse() the only place where we need to do
&gt; this? We follow the same pattern in dispatchDecidePolicyForNewWindowAction()
&gt; and dispatchDecidePolicyForNavigationAction(), and one of the crash logs
&gt; attached to rdar://problem/13811738 shows a crash in
&gt; continueAfterNavigationPolicy().

Yes, I believe you are right. I simply did not have time to investigate the other cases yet. I&apos;ll take a look today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079951</commentid>
    <comment_count>5</comment_count>
      <attachid>249385</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-25 08:12:29 -0700</bug_when>
    <thetext>Comment on attachment 249385
Patch

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

&gt;&gt; Source/WebKit2/ChangeLog:13
&gt;&gt; +        - m_frame-&gt;page() returns null
&gt; 
&gt; Can this be tested? It seems like simply removing an iframe while waiting for a policy answer should trigger this.

It did not look easy to test this but I&apos;ll try.

&gt;&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:692
&gt;&gt; +        function(PolicyUse);
&gt; 
&gt; I think that this should be PolicyIgnore. It could be a security check, and taking no answer for &quot;yes&quot; is wrong.

Ok, I wasn&apos;t sure if Use or Ignore was the right thing to do in such case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079957</commentid>
    <comment_count>6</comment_count>
      <attachid>249407</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-25 08:38:57 -0700</bug_when>
    <thetext>Created attachment 249407
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079958</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-25 08:41:19 -0700</bug_when>
    <thetext>The new iteration does not have a test yet. I&apos;ll try and write one today but I don&apos;t know how yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080034</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-25 14:17:12 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; The new iteration does not have a test yet. I&apos;ll try and write one today but
&gt; I don&apos;t know how yet.

I am not having much success writing a layout test for this. I tried doing a slow load in an iframe and then removing the frame from the document when the load is starting and before receiving the response. However, this did not reproduce it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080058</commentid>
    <comment_count>9</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-03-25 15:29:06 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; The new iteration does not have a test yet. I&apos;ll try and write one today but
&gt; &gt; I don&apos;t know how yet.
&gt; 
&gt; I am not having much success writing a layout test for this. I tried doing a
&gt; slow load in an iframe and then removing the frame from the document when
&gt; the load is starting and before receiving the response. However, this did
&gt; not reproduce it.

Can a TestWebKitAPI test be written that tries to cancel the load at the &quot;wrong&quot; time?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080098</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-25 16:42:29 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; (In reply to comment #7)
&gt; &gt; &gt; The new iteration does not have a test yet. I&apos;ll try and write one today but
&gt; &gt; &gt; I don&apos;t know how yet.
&gt; &gt; 
&gt; &gt; I am not having much success writing a layout test for this. I tried doing a
&gt; &gt; slow load in an iframe and then removing the frame from the document when
&gt; &gt; the load is starting and before receiving the response. However, this did
&gt; &gt; not reproduce it.
&gt; 
&gt; Can a TestWebKitAPI test be written that tries to cancel the load at the
&gt; &quot;wrong&quot; time?

The thing is that I don&apos;t know how we can end up with m_frame.page() returning null in dispatchDecidePolicyForResponse(). All I know is that if it were to happen, it would explain the crashes we see.

I put an ASSERT_NOT_REACHED() in there and tried to reproduce in many different ways. However, I could not get the assertion to be hit, no matter what I tried.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080162</commentid>
    <comment_count>11</comment_count>
      <attachid>249407</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-25 19:36:51 -0700</bug_when>
    <thetext>Comment on attachment 249407
Patch

Clearing flags on attachment: 249407

Committed r181991: &lt;http://trac.webkit.org/changeset/181991&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080163</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-25 19:36:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249385</attachid>
            <date>2015-03-24 21:32:33 -0700</date>
            <delta_ts>2015-03-25 08:38:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143036-20150324213157.patch</filename>
            <type>text/plain</type>
            <size>4608</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxOTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODg2OGUyMTBkODYyOTI5
ZDA0YjBjOThlMDM4OGJiMGRjNDg2ZDI3Zi4uYWQ0MTMzMTFiYjM5ZGJmZWJiY2RlYjJiYzI5MmRj
NTM2ZDBiZmYyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ4IEBACiAyMDE1LTAzLTI0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgW1dLMl0gV2ViRnJhbWVMb2Fk
ZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UoKSBzaG91bGQgYWx3YXlz
IGNhbGwgdGhlIEZyYW1lUG9saWN5RnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzAzNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjAy
NTI0Mzg+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMzgxMTczOD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJGcmFtZUxvYWRlckNsaWVudDo6
ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JSZXNwb25zZSgpIHNob3VsZCBhbHdheXMKKyAgICAgICAg
Y2FsbCB0aGUgRnJhbWVQb2xpY3lGdW5jdGlvbi4gUHJldmlvdXNseSwgaXQgd291bGQgZmFpbCB0
byBkbyBpbiAyCisgICAgICAgIGNhc2VzOgorICAgICAgICAtIG1fZnJhbWUtPnBhZ2UoKSByZXR1
cm5zIG51bGwKKyAgICAgICAgb3IKKyAgICAgICAgLSB3ZWJQYWdlLT5zZW5kU3luYygpIHJldHVy
bnMgZmFsc2UKKworICAgICAgICBJZiB0aGUgRnJhbWVQb2xpY3lGdW5jdGlvbiBpcyBub3QgY2Fs
bGVkLCB3ZSB3aWxsIGZhaWwgdG8gY2xlYXIgdGhlCisgICAgICAgIGNhbGxiYWNrIGluIHRoZSBQ
b2xpY3lDaGVja2VyIGFuZAorICAgICAgICBEb2N1bWVudExvYWRlcjo6Y29udGludWVBZnRlckNv
bnRlbnRQb2xpY3koKSB3aWxsIG5vdCBiZSBjYWxsZWQuCisKKyAgICAgICAgRG9jdW1lbnRMb2Fk
ZXI6OmNvbnRpbnVlQWZ0ZXJDb250ZW50UG9saWN5KCkgaXMgaW4gY2hhcmdlIG9mIHJlc2V0dGlu
ZworICAgICAgICBtX3dhaXRpbmdGb3JDb250ZW50UG9saWN5IGZsYWcgdG8gZmFsc2UuIFRoaXMg
Y291bGQgdGhlcmVmb3JlIGV4cGxhaW4KKyAgICAgICAgdGhlIGZvbGxvd2luZyBhc3NlcnRpb24g
YmVpbmcgaGl0IGluIERvY3VtZW50TG9hZGVyOjpkZXRhY2hGcm9tRnJhbWUoKQorICAgICAgICAo
c2VlIDxyZGFyOi8vcHJvYmxlbS8yMDI1MjQzOD4pOgorICAgICAgICBSRUxFQVNFX0FTU0VSVCgh
bV93YWl0aW5nRm9yQ29udGVudFBvbGljeSkKKworICAgICAgICBBbHNvLCBhcyB0aGUgUG9saWN5
Q2hlY2tlciBjYWxsYmFjayBpcyBub3QgY2xlYXJlZCwgaXQgY291bGQgbWFrZSBpdAorICAgICAg
ICBwb3NzaWJsZSBmb3IgRG9jdW1lbnRMb2FkZXI6OmNvbnRpbnVlQWZ0ZXJDb250ZW50UG9saWN5
KCkgdG8gYmUgY2FsbGVkCisgICAgICAgICphZnRlciogdGhlIGxvYWQgaXMgZmluaXNoZWQsIHdo
ZW4gbGF0ZXIgY2FuY2VsaW5nIHRoZSBQb2xpY3lDYWxsYmFjazoKKyAgICAgICAgRnJhbWVMb2Fk
ZXI6OnN0b3BBbGxMb2FkZXJzKCkKKyAgICAgICAgIC0+IFBvbGljeUNoZWNrZXI6OnN0b3BDaGVj
aygpCisgICAgICAgICAgLT4gUG9saWN5Q2FsbGJhY2s6OmNhbmNlbCgpCisgICAgICAgICAgIC0+
IERvY3VtZW50TG9hZGVyOjpjb250aW51ZUFmdGVyQ29udGVudFBvbGljeShQb2xpY3lJZ25vcmUp
CisKKyAgICAgICAgQ2FsbGluZyBjb250aW51ZUFmdGVyQ29udGVudFBvbGljeShQb2xpY3lJZ25v
cmUpIGFmdGVyIHRoZSBsb2FkIGlzCisgICAgICAgIGZpbmlzaGVkIHdvdWxkIGJlIGJhZCBhbmQg
Y291bGQgZXhwbGFpbiBzb21lIG9mIHRoZSBjcmFzaGVzIHdlJ3ZlIHNlZW4KKyAgICAgICAgaW4g
RG9jdW1lbnRMb2FkZXI6OmNvbnRpbnVlQWZ0ZXJDb250ZW50UG9saWN5KCkgLT4KKyAgICAgICAg
RG9jdW1lbnRMb2FkZXI6OiBzdG9wTG9hZGluZ0ZvclBvbGljeUNoYW5nZSgpIChzZWUKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzEzODExNzM4PikuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UpOgor
CisyMDE1LTAzLTI0ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAg
W1dLMl0gUmVzcG9uc2VzIHdpdGggMzAyIEhUVFAgU3RhdHVzIENvZGUgc2hvdWxkIG5vdCBiZSBj
YWNoZWQKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0
MzAyOAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTk3MTQwNDA+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuY3BwCmluZGV4IGY0NmM3MDdlNGFiYmI0MWEzOTUyMDQ0YTMxMTEzMzJiMDNi
MWZmYmUuLjFmM2U0OTA1YjI0MmU1ODk2NzhhYzFmZDE1YTRlZDhkNjIxYjc3MGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC02NTksOCArNjU5LDEwIEBAIHZvaWQgV2Vi
RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoU2hvdygpCiB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xp
ZW50OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvclJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmIHJlc3BvbnNlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIEZyYW1lUG9saWN5
RnVuY3Rpb24gZnVuY3Rpb24pCiB7CiAgICAgV2ViUGFnZSogd2ViUGFnZSA9IG1fZnJhbWUtPnBh
Z2UoKTsKLSAgICBpZiAoIXdlYlBhZ2UpCisgICAgaWYgKCF3ZWJQYWdlKSB7CisgICAgICAgIGZ1
bmN0aW9uKFBvbGljeVVzZSk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBpZiAoIXJl
cXVlc3QudXJsKCkuc3RyaW5nKCkpIHsKICAgICAgICAgZnVuY3Rpb24oUG9saWN5VXNlKTsKQEAg
LTY4Niw4ICs2ODgsMTAgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNp
ZGVQb2xpY3lGb3JSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnMKICAgICB1bnNpZ25lZCBz
eW5jU2VuZEZsYWdzID0gSVBDOjpJbmZvcm1QbGF0Zm9ybVByb2Nlc3NXaWxsU3VzcGVuZDsKICAg
ICBpZiAoV2ViUGFnZTo6c3luY2hyb25vdXNNZXNzYWdlc1Nob3VsZFNwaW5SdW5Mb29wKCkpCiAg
ICAgICAgIHN5bmNTZW5kRmxhZ3MgfD0gSVBDOjpTcGluUnVuTG9vcFdoaWxlV2FpdGluZ0ZvclJl
cGx5OwotICAgIGlmICghd2ViUGFnZS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
RGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VTeW5jKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2Us
IHJlcXVlc3QsIGNhblNob3dNSU1FVHlwZSwgbGlzdGVuZXJJRCwgVXNlckRhdGEoV2ViUHJvY2Vz
czo6c2luZ2xldG9uKCkudHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyh1c2VyRGF0YS5nZXQoKSku
Z2V0KCkpKSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VT
eW5jOjpSZXBseShyZWNlaXZlZFBvbGljeUFjdGlvbiwgcG9saWN5QWN0aW9uLCBkb3dubG9hZElE
KSwgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kczo6bWF4KCksIHN5bmNTZW5kRmxhZ3MpKQorICAg
IGlmICghd2ViUGFnZS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9s
aWN5Rm9yUmVzcG9uc2VTeW5jKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UsIHJlcXVlc3Qs
IGNhblNob3dNSU1FVHlwZSwgbGlzdGVuZXJJRCwgVXNlckRhdGEoV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkudHJhbnNmb3JtT2JqZWN0c1RvSGFuZGxlcyh1c2VyRGF0YS5nZXQoKSkuZ2V0KCkpKSwg
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VTeW5jOjpSZXBs
eShyZWNlaXZlZFBvbGljeUFjdGlvbiwgcG9saWN5QWN0aW9uLCBkb3dubG9hZElEKSwgc3RkOjpj
aHJvbm86Om1pbGxpc2Vjb25kczo6bWF4KCksIHN5bmNTZW5kRmxhZ3MpKSB7CisgICAgICAgIGZ1
bmN0aW9uKFBvbGljeVVzZSk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICAvLyBXZSBj
YWxsIHRoaXMgc3luY2hyb25vdXNseSBiZWNhdXNlIENGTmV0d29yayBjYW4gb25seSBjb252ZXJ0
IGEgbG9hZGluZyBjb25uZWN0aW9uIHRvIGEgZG93bmxvYWQgZnJvbSBpdHMgZGlkUmVjZWl2ZVJl
c3BvbnNlIGNhbGxiYWNrLgogICAgIGlmIChyZWNlaXZlZFBvbGljeUFjdGlvbikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249407</attachid>
            <date>2015-03-25 08:38:57 -0700</date>
            <delta_ts>2015-03-25 19:36:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143036-20150325083819.patch</filename>
            <type>text/plain</type>
            <size>7427</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxOTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODg2OGUyMTBkODYyOTI5
ZDA0YjBjOThlMDM4OGJiMGRjNDg2ZDI3Zi4uNDdlZGNhM2QxNDdmNzM1YTIwMzlhNDk2YTJjNDVk
MGY0MDM1YmYwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU0IEBACiAyMDE1LTAzLTI0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgW1dLMl0gV2ViRnJhbWVMb2Fk
ZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UoKSBzaG91bGQgYWx3YXlz
IGNhbGwgdGhlIEZyYW1lUG9saWN5RnVuY3Rpb24KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzAzNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjAy
NTI0Mzg+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMzgxMTczOD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJGcmFtZUxvYWRlckNsaWVudDo6
ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JSZXNwb25zZSgpIHNob3VsZCBhbHdheXMKKyAgICAgICAg
Y2FsbCB0aGUgRnJhbWVQb2xpY3lGdW5jdGlvbi4gUHJldmlvdXNseSwgaXQgd291bGQgZmFpbCB0
byBkbyBpbiAyCisgICAgICAgIGNhc2VzOgorICAgICAgICAtIG1fZnJhbWUtPnBhZ2UoKSByZXR1
cm5zIG51bGwKKyAgICAgICAgb3IKKyAgICAgICAgLSB3ZWJQYWdlLT5zZW5kU3luYygpIHJldHVy
bnMgZmFsc2UKKworICAgICAgICBJZiB0aGUgRnJhbWVQb2xpY3lGdW5jdGlvbiBpcyBub3QgY2Fs
bGVkLCB3ZSB3aWxsIGZhaWwgdG8gY2xlYXIgdGhlCisgICAgICAgIGNhbGxiYWNrIGluIHRoZSBQ
b2xpY3lDaGVja2VyIGFuZAorICAgICAgICBEb2N1bWVudExvYWRlcjo6Y29udGludWVBZnRlckNv
bnRlbnRQb2xpY3koKSB3aWxsIG5vdCBiZSBjYWxsZWQuCisKKyAgICAgICAgRG9jdW1lbnRMb2Fk
ZXI6OmNvbnRpbnVlQWZ0ZXJDb250ZW50UG9saWN5KCkgaXMgaW4gY2hhcmdlIG9mIHJlc2V0dGlu
ZworICAgICAgICBtX3dhaXRpbmdGb3JDb250ZW50UG9saWN5IGZsYWcgdG8gZmFsc2UuIFRoaXMg
Y291bGQgdGhlcmVmb3JlIGV4cGxhaW4KKyAgICAgICAgdGhlIGZvbGxvd2luZyBhc3NlcnRpb24g
YmVpbmcgaGl0IGluIERvY3VtZW50TG9hZGVyOjpkZXRhY2hGcm9tRnJhbWUoKQorICAgICAgICAo
c2VlIDxyZGFyOi8vcHJvYmxlbS8yMDI1MjQzOD4pOgorICAgICAgICBSRUxFQVNFX0FTU0VSVCgh
bV93YWl0aW5nRm9yQ29udGVudFBvbGljeSkKKworICAgICAgICBBbHNvLCBhcyB0aGUgUG9saWN5
Q2hlY2tlciBjYWxsYmFjayBpcyBub3QgY2xlYXJlZCwgaXQgY291bGQgbWFrZSBpdAorICAgICAg
ICBwb3NzaWJsZSBmb3IgRG9jdW1lbnRMb2FkZXI6OmNvbnRpbnVlQWZ0ZXJDb250ZW50UG9saWN5
KCkgdG8gYmUgY2FsbGVkCisgICAgICAgICphZnRlciogdGhlIGxvYWQgaXMgZmluaXNoZWQsIHdo
ZW4gbGF0ZXIgY2FuY2VsaW5nIHRoZSBQb2xpY3lDYWxsYmFjazoKKyAgICAgICAgRnJhbWVMb2Fk
ZXI6OnN0b3BBbGxMb2FkZXJzKCkKKyAgICAgICAgIC0+IFBvbGljeUNoZWNrZXI6OnN0b3BDaGVj
aygpCisgICAgICAgICAgLT4gUG9saWN5Q2FsbGJhY2s6OmNhbmNlbCgpCisgICAgICAgICAgIC0+
IERvY3VtZW50TG9hZGVyOjpjb250aW51ZUFmdGVyQ29udGVudFBvbGljeShQb2xpY3lJZ25vcmUp
CisKKyAgICAgICAgQ2FsbGluZyBjb250aW51ZUFmdGVyQ29udGVudFBvbGljeShQb2xpY3lJZ25v
cmUpIGFmdGVyIHRoZSBsb2FkIGlzCisgICAgICAgIGZpbmlzaGVkIHdvdWxkIGJlIGJhZCBhbmQg
Y291bGQgZXhwbGFpbiBzb21lIG9mIHRoZSBjcmFzaGVzIHdlJ3ZlIHNlZW4KKyAgICAgICAgaW4g
RG9jdW1lbnRMb2FkZXI6OmNvbnRpbnVlQWZ0ZXJDb250ZW50UG9saWN5KCkgLT4KKyAgICAgICAg
RG9jdW1lbnRMb2FkZXI6OiBzdG9wTG9hZGluZ0ZvclBvbGljeUNoYW5nZSgpIChzZWUKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzEzODExNzM4PikuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhbHNv
IGFwcGxpZXMgdGhlIHNhbWUgZml4IHRvCisgICAgICAgIGRpc3BhdGNoRGVjaWRlUG9saWN5Rm9y
TmV3V2luZG93QWN0aW9uKCkgYW5kCisgICAgICAgIGRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbigpIGFzIHRoZXkgdXNlIHRoZSBzYW1lIHBhdHRlcm4uCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5
Rm9yUmVzcG9uc2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlz
cGF0Y2hEZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpX
ZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uKToKKworMjAxNS0wMy0yNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCiAg
ICAgICAgIFtXSzJdIFJlc3BvbnNlcyB3aXRoIDMwMiBIVFRQIFN0YXR1cyBDb2RlIHNob3VsZCBu
b3QgYmUgY2FjaGVkCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDMwMjgKICAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE5NzE0MDQwPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkZyYW1lTG9hZGVyQ2xpZW50LmNwcAppbmRleCBmNDZjNzA3ZTRhYmJiNDFhMzk1MjA0NGEzMTEx
MzMyYjAzYjFmZmJlLi4xMjdhYWZkMzY4MTIzNWRhNmQxMGZjNjZmNWU2NjNhNGRmOWY4ZWYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtNjU5LDggKzY1OSwxMCBAQCB2
b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaFNob3coKQogdm9pZCBXZWJGcmFtZUxv
YWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JSZXNwb25zZShjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBGcmFt
ZVBvbGljeUZ1bmN0aW9uIGZ1bmN0aW9uKQogewogICAgIFdlYlBhZ2UqIHdlYlBhZ2UgPSBtX2Zy
YW1lLT5wYWdlKCk7Ci0gICAgaWYgKCF3ZWJQYWdlKQorICAgIGlmICghd2ViUGFnZSkgeworICAg
ICAgICBmdW5jdGlvbihQb2xpY3lJZ25vcmUpOwogICAgICAgICByZXR1cm47CisgICAgfQogCiAg
ICAgaWYgKCFyZXF1ZXN0LnVybCgpLnN0cmluZygpKSB7CiAgICAgICAgIGZ1bmN0aW9uKFBvbGlj
eVVzZSk7CkBAIC02ODYsOCArNjg4LDEwIEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRp
c3BhdGNoRGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zCiAgICAg
dW5zaWduZWQgc3luY1NlbmRGbGFncyA9IElQQzo6SW5mb3JtUGxhdGZvcm1Qcm9jZXNzV2lsbFN1
c3BlbmQ7CiAgICAgaWYgKFdlYlBhZ2U6OnN5bmNocm9ub3VzTWVzc2FnZXNTaG91bGRTcGluUnVu
TG9vcCgpKQogICAgICAgICBzeW5jU2VuZEZsYWdzIHw9IElQQzo6U3BpblJ1bkxvb3BXaGlsZVdh
aXRpbmdGb3JSZXBseTsKLSAgICBpZiAoIXdlYlBhZ2UtPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OkRlY2lkZVBvbGljeUZvclJlc3BvbnNlU3luYyhtX2ZyYW1lLT5mcmFtZUlEKCks
IHJlc3BvbnNlLCByZXF1ZXN0LCBjYW5TaG93TUlNRVR5cGUsIGxpc3RlbmVySUQsIFVzZXJEYXRh
KFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRh
dGEuZ2V0KCkpLmdldCgpKSksIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRlY2lkZVBvbGljeUZv
clJlc3BvbnNlU3luYzo6UmVwbHkocmVjZWl2ZWRQb2xpY3lBY3Rpb24sIHBvbGljeUFjdGlvbiwg
ZG93bmxvYWRJRCksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6Om1heCgpLCBzeW5jU2VuZEZs
YWdzKSkKKyAgICBpZiAoIXdlYlBhZ2UtPnNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OkRlY2lkZVBvbGljeUZvclJlc3BvbnNlU3luYyhtX2ZyYW1lLT5mcmFtZUlEKCksIHJlc3BvbnNl
LCByZXF1ZXN0LCBjYW5TaG93TUlNRVR5cGUsIGxpc3RlbmVySUQsIFVzZXJEYXRhKFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRhdGEuZ2V0KCkp
LmdldCgpKSksIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRlY2lkZVBvbGljeUZvclJlc3BvbnNl
U3luYzo6UmVwbHkocmVjZWl2ZWRQb2xpY3lBY3Rpb24sIHBvbGljeUFjdGlvbiwgZG93bmxvYWRJ
RCksIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHM6Om1heCgpLCBzeW5jU2VuZEZsYWdzKSkgewor
ICAgICAgICBmdW5jdGlvbihQb2xpY3lJZ25vcmUpOwogICAgICAgICByZXR1cm47CisgICAgfQog
CiAgICAgLy8gV2UgY2FsbCB0aGlzIHN5bmNocm9ub3VzbHkgYmVjYXVzZSBDRk5ldHdvcmsgY2Fu
IG9ubHkgY29udmVydCBhIGxvYWRpbmcgY29ubmVjdGlvbiB0byBhIGRvd25sb2FkIGZyb20gaXRz
IGRpZFJlY2VpdmVSZXNwb25zZSBjYWxsYmFjay4KICAgICBpZiAocmVjZWl2ZWRQb2xpY3lBY3Rp
b24pCkBAIC02OTcsOCArNzAxLDEwIEBAIHZvaWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3Bh
dGNoRGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zCiB2b2lkIFdl
YkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlv
bihjb25zdCBOYXZpZ2F0aW9uQWN0aW9uJiBuYXZpZ2F0aW9uQWN0aW9uLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmIHJlcXVlc3QsIFBhc3NSZWZQdHI8Rm9ybVN0YXRlPiBmb3JtU3RhdGUsIGNvbnN0
IFN0cmluZyYgZnJhbWVOYW1lLCBGcmFtZVBvbGljeUZ1bmN0aW9uIGZ1bmN0aW9uKQogewogICAg
IFdlYlBhZ2UqIHdlYlBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCk7Ci0gICAgaWYgKCF3ZWJQYWdlKQor
ICAgIGlmICghd2ViUGFnZSkgeworICAgICAgICBmdW5jdGlvbihQb2xpY3lJZ25vcmUpOwogICAg
ICAgICByZXR1cm47CisgICAgfQogCiAgICAgUmVmUHRyPEFQSTo6T2JqZWN0PiB1c2VyRGF0YTsK
IApAQCAtNzI3LDggKzczMywxMCBAQCB2b2lkIFdlYkZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRj
aERlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbihjb25zdCBOYXZpZ2F0aQogdm9pZCBXZWJG
cmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9u
KGNvbnN0IE5hdmlnYXRpb25BY3Rpb24mIG5hdmlnYXRpb25BY3Rpb24sIGNvbnN0IFJlc291cmNl
UmVxdWVzdCYgcmVxdWVzdCwgUGFzc1JlZlB0cjxGb3JtU3RhdGU+IHBycEZvcm1TdGF0ZSwgRnJh
bWVQb2xpY3lGdW5jdGlvbiBmdW5jdGlvbikKIHsKICAgICBXZWJQYWdlKiB3ZWJQYWdlID0gbV9m
cmFtZS0+cGFnZSgpOwotICAgIGlmICghd2ViUGFnZSkKKyAgICBpZiAoIXdlYlBhZ2UpIHsKKyAg
ICAgICAgZnVuY3Rpb24oUG9saWN5SWdub3JlKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KIAog
ICAgIC8vIEFsd2F5cyBpZ25vcmUgcmVxdWVzdHMgd2l0aCBlbXB0eSBVUkxzLiAKICAgICBpZiAo
cmVxdWVzdC5pc0VtcHR5KCkpIHsKQEAgLTc4OCw4ICs3OTYsMTAgQEAgdm9pZCBXZWJGcmFtZUxv
YWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKGNvbnN0
IE5hdmlnYXQKICAgICAgICAgZG9jdW1lbnRMb2FkZXIgPSBzdGF0aWNfY2FzdDxXZWJEb2N1bWVu
dExvYWRlcio+KGNvcmVGcmFtZS0+bG9hZGVyKCkuZG9jdW1lbnRMb2FkZXIoKSk7CiAKICAgICAv
LyBOb3RpZnkgdGhlIFVJUHJvY2Vzcy4KLSAgICBpZiAoIXdlYlBhZ2UtPnNlbmRTeW5jKE1lc3Nh
Z2VzOjpXZWJQYWdlUHJveHk6OkRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24obV9mcmFt
ZS0+ZnJhbWVJRCgpLCBkb2N1bWVudExvYWRlci0+bmF2aWdhdGlvbklEKCksIG5hdmlnYXRpb25B
Y3Rpb25EYXRhLCBvcmlnaW5hdGluZ0ZyYW1lID8gb3JpZ2luYXRpbmdGcmFtZS0+ZnJhbWVJRCgp
IDogMCwgbmF2aWdhdGlvbkFjdGlvbi5yZXNvdXJjZVJlcXVlc3QoKSwgcmVxdWVzdCwgbGlzdGVu
ZXJJRCwgVXNlckRhdGEoV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkudHJhbnNmb3JtT2JqZWN0c1Rv
SGFuZGxlcyh1c2VyRGF0YS5nZXQoKSkuZ2V0KCkpKSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
RGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjo6UmVwbHkocmVjZWl2ZWRQb2xpY3lBY3Rp
b24sIG5ld05hdmlnYXRpb25JRCwgcG9saWN5QWN0aW9uLCBkb3dubG9hZElEKSkpCisgICAgaWYg
KCF3ZWJQYWdlLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEZWNpZGVQb2xpY3lG
b3JOYXZpZ2F0aW9uQWN0aW9uKG1fZnJhbWUtPmZyYW1lSUQoKSwgZG9jdW1lbnRMb2FkZXItPm5h
dmlnYXRpb25JRCgpLCBuYXZpZ2F0aW9uQWN0aW9uRGF0YSwgb3JpZ2luYXRpbmdGcmFtZSA/IG9y
aWdpbmF0aW5nRnJhbWUtPmZyYW1lSUQoKSA6IDAsIG5hdmlnYXRpb25BY3Rpb24ucmVzb3VyY2VS
ZXF1ZXN0KCksIHJlcXVlc3QsIGxpc3RlbmVySUQsIFVzZXJEYXRhKFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLnRyYW5zZm9ybU9iamVjdHNUb0hhbmRsZXModXNlckRhdGEuZ2V0KCkpLmdldCgpKSks
IE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb246
OlJlcGx5KHJlY2VpdmVkUG9saWN5QWN0aW9uLCBuZXdOYXZpZ2F0aW9uSUQsIHBvbGljeUFjdGlv
biwgZG93bmxvYWRJRCkpKSB7CisgICAgICAgIGZ1bmN0aW9uKFBvbGljeUlnbm9yZSk7CiAgICAg
ICAgIHJldHVybjsKKyAgICB9CiAKICAgICAvLyBXZSBjYWxsIHRoaXMgc3luY2hyb25vdXNseSBi
ZWNhdXNlIFdlYkNvcmUgY2Fubm90IGdyYWNlZnVsbHkgaGFuZGxlIGEgZnJhbWUgbG9hZCB3aXRo
b3V0IGEgc3luY2hyb25vdXMgbmF2aWdhdGlvbiBwb2xpY3kgcmVwbHkuCiAgICAgaWYgKHJlY2Vp
dmVkUG9saWN5QWN0aW9uKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>