<?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>135409</bug_id>
          
          <creation_ts>2014-07-29 21:54:52 -0700</creation_ts>
          <short_desc>[iOS] run-webkit-tests runs webkit-build-directory on every test</short_desc>
          <delta_ts>2015-02-28 17:24:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>iPhone / iPad</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Farler">dfarler</reporter>
          <assigned_to name="David Farler">dfarler</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>glenn</cc>
    
    <cc>ossy</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1025665</commentid>
    <comment_count>0</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-07-29 21:54:52 -0700</bug_when>
    <thetext>At least on the iOS simulator, run-webkit-tests calls webkit-build-directory a lot - at least once per tests with run times between 1/4 and over 2 seconds! I’ll investigate to see if this is affecting other ports and cache the result accordingly. It doesn’t need to be calling out to a Perl script for what is basically a constant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1025931</commentid>
    <comment_count>1</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-07-31 02:44:31 -0700</bug_when>
    <thetext>I checked, this script is called only twice on EFL, so it is an iOS
specific bug.

Maybe mac_config.build_directory call in relay_path causes this problem:
http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/port/ios.py?rev=171789#L76</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1025994</commentid>
    <comment_count>2</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-07-31 10:01:18 -0700</bug_when>
    <thetext>relay_path is only called a handful of times. The culprit is in webkitpy.port.config.Config.build_directory, so unless a port overrides this somehow, it would be affecting everyone. You can check to see if it is eating up time by enabling debug logging in run-webkit-tests with --debug-rwt-logging.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026546</commentid>
    <comment_count>3</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-08-03 18:13:08 -0700</bug_when>
    <thetext>I stand corrected - _path_to_image_diff is called for each ref test and I’m constructing a mac Config object in there. Silly. I’ll save the path during construction of the port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026601</commentid>
    <comment_count>4</comment_count>
      <attachid>235966</attachid>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-08-03 23:16:51 -0700</bug_when>
    <thetext>Created attachment 235966
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026970</commentid>
    <comment_count>5</comment_count>
      <attachid>235966</attachid>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-08-05 15:39:05 -0700</bug_when>
    <thetext>Comment on attachment 235966
Patch

Wrong patch, apologies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026971</commentid>
    <comment_count>6</comment_count>
      <attachid>236056</attachid>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-08-05 15:40:04 -0700</bug_when>
    <thetext>Created attachment 236056
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028913</commentid>
    <comment_count>7</comment_count>
      <attachid>236056</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-08-13 14:47:40 -0700</bug_when>
    <thetext>Comment on attachment 236056
Patch

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

&gt; Tools/ChangeLog:10
&gt; +        (IOSSimulatorPort.__init__):
&gt; +        Cache Mac build directory once.

Nit: It seems sufficient to collapse these two line into a single line such that it reads:

(IOSSimulatorPort.__init__): Cache Mac build directory.

(Notice that I removed the word &quot;once&quot; since this is implied by the use of the word &quot;cache&quot;).

&gt; Tools/ChangeLog:12
&gt; +        (IOSSimulatorPort.relay_path):
&gt; +        Use cached build directory.

Nit: Similarly I would write the contents of these two lines in a single line.

&gt; Tools/ChangeLog:14
&gt; +        (IOSSimulatorPort._path_to_image_diff):
&gt; +        Use cached build directory.

Ditto.

&gt; Tools/Scripts/webkitpy/port/ios.py:67
&gt; +        self._mac_config = port_config.Config(self._executive, self._filesystem, &apos;mac&apos;)

This instance variable is referenced exactly once (on the line below). Unless you plan to make use of it in subsequent patches in the near future, I suggest we either inline its value into the line below or make it a local variable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1029198</commentid>
    <comment_count>8</comment_count>
    <who name="David Farler">dfarler</who>
    <bug_when>2014-08-14 13:58:32 -0700</bug_when>
    <thetext>Committed r172602: &lt;http://trac.webkit.org/changeset/172602&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073097</commentid>
    <comment_count>9</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-28 15:07:37 -0800</bug_when>
    <thetext>Re-fixed in commit r180845:  &lt;http://trac.webkit.org/changeset/180845&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073118</commentid>
    <comment_count>10</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-02-28 17:24:25 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Re-fixed in commit r180845:  &lt;http://trac.webkit.org/changeset/180845&gt;

This regressed with the fix for Bug 140949:

[iOS] run-webkit-tests --platform=ios* --lint-test-files does not work
https://bugs.webkit.org/show_bug.cgi?id=140949
&lt;http://trac.webkit.org/changeset/179216&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235966</attachid>
            <date>2014-08-03 23:16:51 -0700</date>
            <delta_ts>2014-08-05 15:39:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135409-20140803231639.patch</filename>
            <type>text/plain</type>
            <size>9374</size>
            <attacher name="David Farler">dfarler</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxOTg1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzU4N2QwOGY3ZWIxZDYyMzc2ZjExMWVhOTNlMmU1NTAx
MzFlYzU1My4uODIwMDE4MzA1ZDJiZWRjZmQxM2ZiZDFiOWQwY2U2N2ExOGNhZWU0ZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMz
IEBACisyMDE0LTA4LTAzICBEYXZpZCBGYXJsZXIgIDxkZmFybGVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBydW4td2Via2l0LXRlc3RzIHJ1bnMgd2Via2l0LWJ1aWxkLWRpcmVjdG9yeSBv
biBldmVyeSB0ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzU0MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3MucHk6CisgICAgICAgIChJT1NTaW11bGF0
b3JQb3J0Ll9faW5pdF9fKTogR2V0IHRoZSBPUyBYIGJ1aWxkIGRpcmVjdG9yeSBvbmNlLgorICAg
ICAgICAoSU9TU2ltdWxhdG9yUG9ydC5yZWxheV9wYXRoKTogUmVmZXJlbmNlIHBhdGggYWJvdmUu
CisgICAgICAgIChJT1NTaW11bGF0b3JQb3J0Ll9wYXRoX3RvX2ltYWdlX2RpZmYpOiBSZWZlcmVu
Y2UgcGF0aCBhYm92ZS4KKworMjAxNC0wOC0wMyAgRGF2aWQgRmFybGVyICA8ZGZhcmxlckBhcHBs
ZS5jb20+CisKKyAgICAgICAgaU9TIFNpbXVsYXRvcjogcnVuLXdlYmtpdC10ZXN0cyBjaG9rZXMg
b24gdW50ZXJtaW5hdGVkIFVURi04IHdoZW4gd3JpdGluZyBhIHRlc3QgcmVzdWx0CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzU1NTEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIExheW91dFRlc3RSZWxh
eS9MYXlvdXRUZXN0UmVsYXkvTFRSZWxheUNvbnRyb2xsZXIubToKKyAgICAgICAgKC1bTFRSZWxh
eUNvbnRyb2xsZXIgZGlkQ3Jhc2hXaXRoTWVzc2FnZTpdKTogV3JpdGUgY3Jhc2ggcHJvY2Vzcy9w
aWQgdG8gc3Rkb3V0IChzdHJpcHBlZCBpbiB3ZWJraXRweSkKKyAgICAgICAgKC1bTFRSZWxheUNv
bnRyb2xsZXIgbGF1bmNoU2ltdWxhdG9yXSk6IEJlIG1vcmUgYWdncmVzc2l2ZSBhYm91dCB3aGF0
IGNvbWVzIGJhY2sgZnJvbSB4Y29kZS1zZWxlY3QuCisgICAgICAgICgtW0xUUmVsYXlDb250cm9s
bGVyIHN0YXJ0XSk6IERvbid0IGV4cGxpY2l0bHkgdHJ5IHRvIGJvb3QgdGhlIGRldmljZSwgYWxy
ZWFkeSBoYW5kbGVkLgorICAgICAgICAoLVtMVFJlbGF5Q29udHJvbGxlciBib290RGV2aWNlXSk6
IERlbGV0ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2RyaXZlci5weToKKyAg
ICAgICAgKElPU1NpbXVsYXRvckRyaXZlci5fc2V0dXBfZW52aXJvbl9mb3JfZHJpdmVyKTogQWRk
IERFVkVMT1BFUl9ESVIuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvcy5weToK
KyAgICAgICAgKElPU1NpbXVsYXRvclBvcnQuX2dldF9jcmFzaF9sb2cpOiBQdWxsIHByb2Nlc3Mv
cGlkIGZyb20gc3Rkb3V0LgorICAgICAgICAoSU9TU2ltdWxhdG9yUG9ydC5kZXZlbG9wZXJfZGly
KTogTmV3IHByb3BlcnR5IHZpYSB4Y29kZS1zZWxlY3QuCisKIDIwMTQtMDctMzAgIERhdmlkIEZh
cmxlciAgPGRmYXJsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIGJ1aWxkLXdlYmtpdHRlc3RydW5u
ZXIgZG9lc24ndCBidWlsZCB0aGUgYXBwIHRhcmdldCBmb3IgaU9TIFNES3MKZGlmZiAtLWdpdCBh
L1Rvb2xzL0xheW91dFRlc3RSZWxheS9MYXlvdXRUZXN0UmVsYXkvTFRSZWxheUNvbnRyb2xsZXIu
bSBiL1Rvb2xzL0xheW91dFRlc3RSZWxheS9MYXlvdXRUZXN0UmVsYXkvTFRSZWxheUNvbnRyb2xs
ZXIubQppbmRleCA5NTU3YjFiZmZhYmFkZDQ1M2IwYmJiZjlhNTcyMDA4NGE0MDY4MGU5Li40YTA1
OWY1ODJhNTc1YmJhZTIxNWM1NDk4NDEzMjIwYmI3NWMxZTU2IDEwMDY0NAotLS0gYS9Ub29scy9M
YXlvdXRUZXN0UmVsYXkvTGF5b3V0VGVzdFJlbGF5L0xUUmVsYXlDb250cm9sbGVyLm0KKysrIGIv
VG9vbHMvTGF5b3V0VGVzdFJlbGF5L0xheW91dFRlc3RSZWxheS9MVFJlbGF5Q29udHJvbGxlci5t
CkBAIC0xMjcsNyArMTI3LDcgQEAgLSAodm9pZClkaWRDcmFzaFdpdGhNZXNzYWdlOihOU1N0cmlu
ZyAqKW1lc3NhZ2UKICAgICBpZiAobWVzc2FnZSkKICAgICAgICAgY3Jhc2hNZXNzYWdlID0gW2Ny
YXNoTWVzc2FnZSBzdHJpbmdCeUFwcGVuZGluZ0Zvcm1hdDpAIiVAXG4iLCBtZXNzYWdlXTsKIAot
ICAgIFtbc2VsZiBzdGFuZGFyZEVycm9yXSB3cml0ZURhdGE6W2NyYXNoTWVzc2FnZSBkYXRhVXNp
bmdFbmNvZGluZzpOU1VURjhTdHJpbmdFbmNvZGluZ11dOworICAgIFtbc2VsZiBzdGFuZGFyZE91
dHB1dF0gd3JpdGVEYXRhOltjcmFzaE1lc3NhZ2UgZGF0YVVzaW5nRW5jb2Rpbmc6TlNVVEY4U3Ry
aW5nRW5jb2RpbmddXTsKICAgICBbW3NlbGYgc3RhbmRhcmRFcnJvcl0gY2xvc2VGaWxlXTsKICAg
ICBbW3NlbGYgc3RhbmRhcmRPdXRwdXRdIGNsb3NlRmlsZV07CiAgICAgZXhpdChFWElUX0ZBSUxV
UkUpOwpAQCAtMTQ5LDQ4ICsxNDksNDYgQEAgLSAodm9pZClsYXVuY2hTaW11bGF0b3IKICAgICAg
ICAgTlNEYXRhICpkYXRhID0gW3N0ZG91dEZpbGVIYW5kbGUgcmVhZERhdGFUb0VuZE9mRmlsZV07
CiAgICAgICAgIGRldmVsb3BlckRpciA9IFtOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmluZzpb
ZGF0YSBieXRlc11dOwogICAgIH0KLQotICAgIGRldmVsb3BlckRpciA9IFtkZXZlbG9wZXJEaXIg
c3RyaW5nQnlUcmltbWluZ0NoYXJhY3RlcnNJblNldDpbTlNDaGFyYWN0ZXJTZXQgbmV3bGluZUNo
YXJhY3RlclNldF1dOwotCiAgICAgaWYgKCFkZXZlbG9wZXJEaXIgfHwgIVtkZXZlbG9wZXJEaXIg
bGVuZ3RoXSkgewogICAgICAgICBOU0xvZyhAIk5vdCBhYmxlIHRvIGRldGVybWluZSB0aGUgcGF0
aCB0byBpT1MgU2ltdWxhdG9yLmFwcCBpbiB5b3VyIGFjdGl2ZSBYY29kZS5hcHAiKTsKICAgICAg
ICAgZXhpdChFWElUX0ZBSUxVUkUpOwogICAgIH0KKworICAgIE5TUmFuZ2UgZGV2ZWxvcGVyRGly
UmFuZ2UgPSBbZGV2ZWxvcGVyRGlyIHJhbmdlT2ZTdHJpbmc6QCJYY29kZS5hcHAvQ29udGVudHMv
RGV2ZWxvcGVyIl07CisgICAgZGV2ZWxvcGVyRGlyID0gW2RldmVsb3BlckRpciBzdWJzdHJpbmdX
aXRoUmFuZ2U6TlNNYWtlUmFuZ2UoMCwgZGV2ZWxvcGVyRGlyUmFuZ2UubG9jYXRpb24gKyBkZXZl
bG9wZXJEaXJSYW5nZS5sZW5ndGgpXTsKKwogICAgIE5TVVJMICpzaW11bGF0b3JVUkwgPSBbTlNV
UkwgZmlsZVVSTFdpdGhQYXRoOltkZXZlbG9wZXJEaXIgc3RyaW5nQnlBcHBlbmRpbmdQYXRoQ29t
cG9uZW50OkAiQXBwbGljYXRpb25zL2lPUyBTaW11bGF0b3IuYXBwIl1dOwogCisgICAgZm9yIChO
U1J1bm5pbmdBcHBsaWNhdGlvbiAqYXBwbGljYXRpb24gaW4gW1tOU1dvcmtzcGFjZSBzaGFyZWRX
b3Jrc3BhY2VdIHJ1bm5pbmdBcHBsaWNhdGlvbnNdKSB7CisgICAgICAgIGlmIChbW1thcHBsaWNh
dGlvbiBidW5kbGVVUkxdIHBhdGhdIGlzRXF1YWxUbzpbc2ltdWxhdG9yVVJMIHBhdGhdXSkKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBOU0RpY3Rpb25hcnkgKmxhdW5jaENvbmZp
Z3VyYXRpb24gPSBAewogICAgICAgICBOU1dvcmtzcGFjZUxhdW5jaENvbmZpZ3VyYXRpb25Bcmd1
bWVudHM6IEBbCiAgICAgICAgICAgICBAIi1DdXJyZW50RGV2aWNlVURJRCIsIFtbW3NlbGYgZGV2
aWNlXSBVRElEXSBVVUlEU3RyaW5nXSwKLSAgICAgICAgICAgIF0KKyAgICAgICAgXQogICAgIH07
CisKICAgICBOU0Vycm9yICplcnJvcjsKLSAgICBbW05TV29ya3NwYWNlIHNoYXJlZFdvcmtzcGFj
ZV0gbGF1bmNoQXBwbGljYXRpb25BdFVSTDpzaW11bGF0b3JVUkwgb3B0aW9uczpOU1dvcmtzcGFj
ZUxhdW5jaERlZmF1bHQgY29uZmlndXJhdGlvbjpsYXVuY2hDb25maWd1cmF0aW9uIGVycm9yOiZl
cnJvcl07CisgICAgZm9yIChOU1VJbnRlZ2VyIHRyaWVzID0gMDsgdHJpZXMgPCAxMDsgdHJpZXMr
KykgeworICAgICAgICBbW05TV29ya3NwYWNlIHNoYXJlZFdvcmtzcGFjZV0gbGF1bmNoQXBwbGlj
YXRpb25BdFVSTDpzaW11bGF0b3JVUkwgb3B0aW9uczpOU1dvcmtzcGFjZUxhdW5jaERlZmF1bHQg
Y29uZmlndXJhdGlvbjpsYXVuY2hDb25maWd1cmF0aW9uIGVycm9yOiZlcnJvcl07CisKKyAgICAg
ICAgaWYgKCFlcnJvcikKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIHNsZWVwKHJhbmQo
KSAlIDUpOworICAgIH0KIAogICAgIGlmIChlcnJvcikgewogICAgICAgICBOU0xvZyhAIkNvdWxk
bid0IGxhdW5jaCBpT1MgU2ltdWxhdG9yIGZyb20gJUA6ICVAIiwgW3NpbXVsYXRvclVSTCBwYXRo
XSwgW2Vycm9yIGRlc2NyaXB0aW9uXSk7CiAgICAgICAgIGV4aXQoRVhJVF9GQUlMVVJFKTsKICAg
ICB9CiAKLSAgICB3aGlsZSAoW1tzZWxmIGRldmljZV0gc3RhdGVdID09IFNpbURldmljZVN0YXRl
U2h1dGRvd24pIHsKLSAgICAgICAgLy8gV2FpdCBmb3IgZGV2aWNlIHRvIHN0YXJ0IGJvb3RpbmcK
LSAgICAgICAgc2xlZXAoMSk7Ci0gICAgfQotfQotCi0tICh2b2lkKWJvb3REZXZpY2UKLXsKLSAg
ICB3aGlsZSAoW1tzZWxmIGRldmljZV0gc3RhdGVdID09IFNpbURldmljZVN0YXRlQm9vdGluZykK
KyAgICB3aGlsZSAoW1tzZWxmIGRldmljZV0gc3RhdGVdICE9IFNpbURldmljZVN0YXRlQm9vdGVk
KQogICAgICAgICBzbGVlcCgxKTsKIAotICAgIGlmIChbW3NlbGYgZGV2aWNlXSBzdGF0ZV0gPT0g
U2ltRGV2aWNlU3RhdGVCb290ZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIE5TRXJyb3IgKmVy
cm9yOwotICAgIFtbc2VsZiBkZXZpY2VdIGJvb3RXaXRoT3B0aW9uczpuaWwgZXJyb3I6JmVycm9y
XTsKLSAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgTlNMb2coQCJVbmFibGUgdG8gYm9vdCBkZXZp
Y2U6ICVAIiwgW2Vycm9yIGRlc2NyaXB0aW9uXSk7Ci0gICAgICAgIGV4aXQoRVhJVF9GQUlMVVJF
KTsKLSAgICB9CisgICAgc2xlZXAoMik7CiB9CiAKIC0gKHZvaWQpY3JlYXRlVW5pcXVlQXBwCkBA
IC0yODEsNyArMjc5LDYgQEAgLSAodm9pZClsYXVuY2hBcHAKIC0gKHZvaWQpc3RhcnQKIHsKICAg
ICBbc2VsZiBsYXVuY2hTaW11bGF0b3JdOwotICAgIFtzZWxmIGJvb3REZXZpY2VdOwogICAgIFtz
ZWxmIGNyZWF0ZVVuaXF1ZUFwcF07CiAgICAgW1tzZWxmIHJlbGF5XSBzZXR1cF07CiAgICAgW3Nl
bGYgbGF1bmNoQXBwXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9k
cml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZHJpdmVyLnB5CmluZGV4IDUz
NjM5NWUxZDRhMjg3NDc0NDcwM2U3Mjg1N2U2MDEyNGVmYTk0YjguLmY5NTAxNGQ5ZmEyZWYwMmEy
MjJmZTQyNTAyOWI4YTgxNDM2MmNlZDggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9kcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2RyaXZl
ci5weQpAQCAtNTEzLDYgKzUxMywxMCBAQCBjbGFzcyBJT1NTaW11bGF0b3JEcml2ZXIoRHJpdmVy
KToKICAgICAgICAgXQogICAgICAgICByZXR1cm4gW3JlbGF5X3Rvb2xdICsgcmVsYXlfYXJncyAr
IFsnLS0nXSArIGR1bXBfdG9vbF9hcmdzCiAKKyAgICBkZWYgX3NldHVwX2Vudmlyb25fZm9yX2Ry
aXZlcihzZWxmLCBlbnZpcm9ubWVudCk6CisgICAgICAgIGVudmlyb25tZW50WydERVZFTE9QRVJf
RElSJ10gPSBzZWxmLl9wb3J0LmRldmVsb3Blcl9kaXIKKyAgICAgICAgcmV0dXJuIHN1cGVyKElP
U1NpbXVsYXRvckRyaXZlciwgc2VsZikuX3NldHVwX2Vudmlyb25fZm9yX2RyaXZlcihlbnZpcm9u
bWVudCkKKwogCiBjbGFzcyBDb250ZW50QmxvY2sob2JqZWN0KToKICAgICBkZWYgX19pbml0X18o
c2VsZik6CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zLnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvcy5weQppbmRleCBiMjMyODk4Njk1ODViYzBh
MzkxZGI3ZGMyNDdjZDZhNDMxZjQxOTIwLi5lN2I2NWQ3ZDAwNzQyNGRhMTk5NDk3MTc5MTgxNzBl
OTRmNWE4MTkwIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3MucHkKQEAgLTY0LDYgKzY0LDgg
QEAgY2xhc3MgSU9TU2ltdWxhdG9yUG9ydChQb3J0KToKICAgICAgICAgICAgICMgRHVtcFJlbmRl
clRyZWUgc2xvd3MgZG93biBub3RpY2FibHkgaWYgd2UgcnVuIG1vcmUgdGhhbiBhYm91dCAxMDAw
IHRlc3RzIGluIGEgYmF0Y2gKICAgICAgICAgICAgICMgd2l0aCBNYWxsb2NTdGFja0xvZ2dpbmcg
ZW5hYmxlZC4KICAgICAgICAgICAgIHNlbGYuc2V0X29wdGlvbl9kZWZhdWx0KCJiYXRjaF9zaXpl
IiwgMTAwMCkKKyAgICAgICAgc2VsZi5fbWFjX2NvbmZpZyA9IHBvcnRfY29uZmlnLkNvbmZpZyhz
ZWxmLl9leGVjdXRpdmUsIHNlbGYuX2ZpbGVzeXN0ZW0sICdtYWMnKQorICAgICAgICBzZWxmLl9t
YWNfYnVpbGRfZGlyZWN0b3J5ID0gc2VsZi5fbWFjX2NvbmZpZy5idWlsZF9kaXJlY3Rvcnkoc2Vs
Zi5nZXRfb3B0aW9uKCdjb25maWd1cmF0aW9uJykpCiAKICAgICBkZWYgZHJpdmVyX25hbWUoc2Vs
Zik6CiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbignZHJpdmVyX25hbWUnKToKQEAgLTc0LDkg
Kzc2LDcgQEAgY2xhc3MgSU9TU2ltdWxhdG9yUG9ydChQb3J0KToKIAogICAgIEBwcm9wZXJ0eQog
ICAgIGRlZiByZWxheV9wYXRoKHNlbGYpOgotICAgICAgICBtYWNfY29uZmlnID0gcG9ydF9jb25m
aWcuQ29uZmlnKHNlbGYuX2V4ZWN1dGl2ZSwgc2VsZi5fZmlsZXN5c3RlbSwgJ21hYycpCi0gICAg
ICAgIG1hY19idWlsZF9kaXJlY3RvcnkgPSBtYWNfY29uZmlnLmJ1aWxkX2RpcmVjdG9yeShzZWxm
LmdldF9vcHRpb24oJ2NvbmZpZ3VyYXRpb24nKSkKLSAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVz
eXN0ZW0uam9pbihtYWNfYnVpbGRfZGlyZWN0b3J5LCBzZWxmLnJlbGF5X25hbWUpCisgICAgICAg
IHJldHVybiBzZWxmLl9maWxlc3lzdGVtLmpvaW4oc2VsZi5fbWFjX2J1aWxkX2RpcmVjdG9yeSwg
c2VsZi5yZWxheV9uYW1lKQogCiAgICAgZGVmIGRlZmF1bHRfdGltZW91dF9tcyhzZWxmKToKICAg
ICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCdndWFyZF9tYWxsb2MnKToKQEAgLTEwNCw5ICsxMDQs
NyBAQCBjbGFzcyBJT1NTaW11bGF0b3JQb3J0KFBvcnQpOgogICAgICAgICByZXR1cm4gbmVlZHNf
ZHJpdmVyIGFuZCBzZWxmLl9jaGVja19idWlsZF9yZWxheSgpIGFuZCBzZWxmLl9jaGVja19idWls
ZF9pbWFnZV9kaWZmKCkKIAogICAgIGRlZiBfcGF0aF90b19pbWFnZV9kaWZmKHNlbGYpOgotICAg
ICAgICBtYWNfY29uZmlnID0gcG9ydF9jb25maWcuQ29uZmlnKHNlbGYuX2V4ZWN1dGl2ZSwgc2Vs
Zi5fZmlsZXN5c3RlbSwgJ21hYycpCi0gICAgICAgIG1hY19idWlsZF9kaXJlY3RvcnkgPSBtYWNf
Y29uZmlnLmJ1aWxkX2RpcmVjdG9yeShzZWxmLmdldF9vcHRpb24oJ2NvbmZpZ3VyYXRpb24nKSkK
LSAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihtYWNfYnVpbGRfZGlyZWN0b3J5
LCAnSW1hZ2VEaWZmJykKKyAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihzZWxm
Ll9tYWNfYnVpbGRfZGlyZWN0b3J5LCAnSW1hZ2VEaWZmJykKIAogICAgIGRlZiBfYnVpbGRfcmVs
YXkoc2VsZik6CiAgICAgICAgIGVudmlyb25tZW50ID0gc2VsZi5ob3N0LmNvcHlfY3VycmVudF9l
bnZpcm9ubWVudCgpCkBAIC0yNTgsMTQgKzI1NiwxNCBAQCBjbGFzcyBJT1NTaW11bGF0b3JQb3J0
KFBvcnQpOgogICAgICAgICBub3cgPSB0aW1lX2ZuKCkKIAogICAgICAgICBjcmFzaF9wcmVmaXgg
PSAnQ1JBU0g6ICcKLSAgICAgICAgc3RkZXJyX2xpbmVzID0gW10KKyAgICAgICAgc3Rkb3V0X2xp
bmVzID0gW10KICAgICAgICAgY3Jhc2hfbGluZXMgPSBbXQotICAgICAgICBmb3IgbGluZSBpbiBz
dGRlcnIuc3BsaXRsaW5lcygpOgotICAgICAgICAgICAgY3Jhc2hfbGluZXMuYXBwZW5kKGxpbmUp
IGlmIGxpbmUuc3RhcnRzd2l0aChjcmFzaF9wcmVmaXgpIGVsc2Ugc3RkZXJyX2xpbmVzLmFwcGVu
ZChsaW5lKQorICAgICAgICBmb3IgbGluZSBpbiAoc3Rkb3V0IG9yICcnKS5zcGxpdGxpbmVzKCk6
CisgICAgICAgICAgICBjcmFzaF9saW5lcy5hcHBlbmQobGluZSkgaWYgbGluZS5zdGFydHN3aXRo
KGNyYXNoX3ByZWZpeCkgZWxzZSBzdGRvdXRfbGluZXMuYXBwZW5kKGxpbmUpCiAKICAgICAgICAg
Zm9yIGNyYXNoX2xpbmUgaW4gY3Jhc2hfbGluZXM6CiAgICAgICAgICAgICBpZGVudGlmaWVyLCBw
aWQgPSBjcmFzaF9saW5lW2xlbihjcmFzaF9wcmVmaXgpOl0uc3BsaXQoJyAnKQotICAgICAgICAg
ICAgcmV0dXJuIHNlbGYuX2dldF9jcmFzaF9sb2coaWRlbnRpZmllciwgaW50KHBpZCksIHN0ZG91
dCwgJ1xuJy5qb2luKHN0ZGVycl9saW5lcyksIG5ld2VyX3RoYW4sIHRpbWVfZm4sIHNsZWVwX2Zu
LCB3YWl0X2Zvcl9sb2cpCisgICAgICAgICAgICByZXR1cm4gc2VsZi5fZ2V0X2NyYXNoX2xvZyhp
ZGVudGlmaWVyLCBpbnQocGlkKSwgJ1xuJy5qb2luKHN0ZG91dF9saW5lcyksIHN0ZGVyciwgbmV3
ZXJfdGhhbiwgdGltZV9mbiwgc2xlZXBfZm4sIHdhaXRfZm9yX2xvZykKIAogICAgICAgICBfbG9n
LmRlYnVnKCdsb29raW5nIGZvciBjcmFzaCBsb2cgZm9yICVzOiVzJyAlIChuYW1lLCBzdHIocGlk
KSkpCiAgICAgICAgIGRlYWRsaW5lID0gbm93ICsgNSAqIGludChzZWxmLmdldF9vcHRpb24oJ2No
aWxkX3Byb2Nlc3NlcycsIDEpKQpAQCAtMzYxLDUgKzM1OSwxMiBAQCBjbGFzcyBJT1NTaW11bGF0
b3JQb3J0KFBvcnQpOgogICAgICAgICAgICAgX2xvZy53YXJuKCJ4Y3J1biBmYWlsZWQ7IGZhbGxp
bmcgYmFjayB0byAnJXMnLiIgJSBmYWxsYmFjaykKICAgICAgICAgICAgIHJldHVybiBmYWxsYmFj
awogCisgICAgQHByb3BlcnR5CisgICAgZGVmIGRldmVsb3Blcl9kaXIoc2VsZik6CisgICAgICAg
IHRyeToKKyAgICAgICAgICAgIHJldHVybiBzZWxmLl9leGVjdXRpdmUucnVuX2NvbW1hbmQoWyd4
Y29kZS1zZWxlY3QnLCAnLS1wcmludC1wYXRoJ10pLnJzdHJpcCgpCisgICAgICAgIGV4Y2VwdCBT
Y3JpcHRFcnJvcjoKKyAgICAgICAgICAgIHJldHVybiAnL0FwcGxpY2F0aW9ucy9YY29kZS5hcHAv
Q29udGVudHMvRGV2ZWxvcGVyJworCiAgICAgZGVmIGxvZ2dpbmdfcGF0dGVybnNfdG9fc3RyaXAo
c2VsZik6CiAgICAgICAgIHJldHVybiBbXQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236056</attachid>
            <date>2014-08-05 15:40:04 -0700</date>
            <delta_ts>2014-08-13 14:47:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135409-20140805153952.patch</filename>
            <type>text/plain</type>
            <size>2758</size>
            <attacher name="David Farler">dfarler</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcyMDUzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTM0OWYxMDU3MmY3ZTBlNWVlYThiNDUwOWI4ZGNkMGRl
YjVlOWNhYy4uYWUwMDE3MWRiNTIzNjk1NWRjODllNjVlMjY0MjdmMWU4Zjg4Mjk5ZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4
IEBACisyMDE0LTA4LTA1ICBEYXZpZCBGYXJsZXIgIDxkZmFybGVyQGFwcGxlLmNvbT4KKworICAg
ICAgICBbaU9TXSBydW4td2Via2l0LXRlc3RzIHJ1bnMgd2Via2l0LWJ1aWxkLWRpcmVjdG9yeSBv
biBldmVyeSB0ZXN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzU0MDkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFNjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3MucHk6CisgICAgICAgIChJT1NTaW11bGF0
b3JQb3J0Ll9faW5pdF9fKToKKyAgICAgICAgQ2FjaGUgTWFjIGJ1aWxkIGRpcmVjdG9yeSBvbmNl
LgorICAgICAgICAoSU9TU2ltdWxhdG9yUG9ydC5yZWxheV9wYXRoKToKKyAgICAgICAgVXNlIGNh
Y2hlZCBidWlsZCBkaXJlY3RvcnkuCisgICAgICAgIChJT1NTaW11bGF0b3JQb3J0Ll9wYXRoX3Rv
X2ltYWdlX2RpZmYpOgorICAgICAgICBVc2UgY2FjaGVkIGJ1aWxkIGRpcmVjdG9yeS4KKwogMjAx
NC0wOC0wNSAgVml2ZWsgR2FsYXRhZ2UgIDx2aXZlay52Z0BzYW1zdW5nLmNvbT4KIAogICAgICAg
ICBbZ3RrXSBJbmNsdWRlIGxsdm0tZGV2KGVsKSBwYWNrYWdlIHRvIHNhdGlzZnkgbWVzYSBidWls
ZCBjb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
aW9zLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvcy5weQppbmRleCBiMjMyODk4
Njk1ODViYzBhMzkxZGI3ZGMyNDdjZDZhNDMxZjQxOTIwLi4wMmNkMTQ3NTZjMGYxNWY1NWU3MjQ3
YmM0NGYyZjY5YWVjZTdlNWQyIDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvaW9zLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9pb3MucHkKQEAgLTY0
LDYgKzY0LDggQEAgY2xhc3MgSU9TU2ltdWxhdG9yUG9ydChQb3J0KToKICAgICAgICAgICAgICMg
RHVtcFJlbmRlclRyZWUgc2xvd3MgZG93biBub3RpY2FibHkgaWYgd2UgcnVuIG1vcmUgdGhhbiBh
Ym91dCAxMDAwIHRlc3RzIGluIGEgYmF0Y2gKICAgICAgICAgICAgICMgd2l0aCBNYWxsb2NTdGFj
a0xvZ2dpbmcgZW5hYmxlZC4KICAgICAgICAgICAgIHNlbGYuc2V0X29wdGlvbl9kZWZhdWx0KCJi
YXRjaF9zaXplIiwgMTAwMCkKKyAgICAgICAgc2VsZi5fbWFjX2NvbmZpZyA9IHBvcnRfY29uZmln
LkNvbmZpZyhzZWxmLl9leGVjdXRpdmUsIHNlbGYuX2ZpbGVzeXN0ZW0sICdtYWMnKQorICAgICAg
ICBzZWxmLl9tYWNfYnVpbGRfZGlyZWN0b3J5ID0gc2VsZi5fbWFjX2NvbmZpZy5idWlsZF9kaXJl
Y3Rvcnkoc2VsZi5nZXRfb3B0aW9uKCdjb25maWd1cmF0aW9uJykpCiAKICAgICBkZWYgZHJpdmVy
X25hbWUoc2VsZik6CiAgICAgICAgIGlmIHNlbGYuZ2V0X29wdGlvbignZHJpdmVyX25hbWUnKToK
QEAgLTc0LDkgKzc2LDcgQEAgY2xhc3MgSU9TU2ltdWxhdG9yUG9ydChQb3J0KToKIAogICAgIEBw
cm9wZXJ0eQogICAgIGRlZiByZWxheV9wYXRoKHNlbGYpOgotICAgICAgICBtYWNfY29uZmlnID0g
cG9ydF9jb25maWcuQ29uZmlnKHNlbGYuX2V4ZWN1dGl2ZSwgc2VsZi5fZmlsZXN5c3RlbSwgJ21h
YycpCi0gICAgICAgIG1hY19idWlsZF9kaXJlY3RvcnkgPSBtYWNfY29uZmlnLmJ1aWxkX2RpcmVj
dG9yeShzZWxmLmdldF9vcHRpb24oJ2NvbmZpZ3VyYXRpb24nKSkKLSAgICAgICAgcmV0dXJuIHNl
bGYuX2ZpbGVzeXN0ZW0uam9pbihtYWNfYnVpbGRfZGlyZWN0b3J5LCBzZWxmLnJlbGF5X25hbWUp
CisgICAgICAgIHJldHVybiBzZWxmLl9maWxlc3lzdGVtLmpvaW4oc2VsZi5fbWFjX2J1aWxkX2Rp
cmVjdG9yeSwgc2VsZi5yZWxheV9uYW1lKQogCiAgICAgZGVmIGRlZmF1bHRfdGltZW91dF9tcyhz
ZWxmKToKICAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCdndWFyZF9tYWxsb2MnKToKQEAgLTEw
NCw5ICsxMDQsNyBAQCBjbGFzcyBJT1NTaW11bGF0b3JQb3J0KFBvcnQpOgogICAgICAgICByZXR1
cm4gbmVlZHNfZHJpdmVyIGFuZCBzZWxmLl9jaGVja19idWlsZF9yZWxheSgpIGFuZCBzZWxmLl9j
aGVja19idWlsZF9pbWFnZV9kaWZmKCkKIAogICAgIGRlZiBfcGF0aF90b19pbWFnZV9kaWZmKHNl
bGYpOgotICAgICAgICBtYWNfY29uZmlnID0gcG9ydF9jb25maWcuQ29uZmlnKHNlbGYuX2V4ZWN1
dGl2ZSwgc2VsZi5fZmlsZXN5c3RlbSwgJ21hYycpCi0gICAgICAgIG1hY19idWlsZF9kaXJlY3Rv
cnkgPSBtYWNfY29uZmlnLmJ1aWxkX2RpcmVjdG9yeShzZWxmLmdldF9vcHRpb24oJ2NvbmZpZ3Vy
YXRpb24nKSkKLSAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihtYWNfYnVpbGRf
ZGlyZWN0b3J5LCAnSW1hZ2VEaWZmJykKKyAgICAgICAgcmV0dXJuIHNlbGYuX2ZpbGVzeXN0ZW0u
am9pbihzZWxmLl9tYWNfYnVpbGRfZGlyZWN0b3J5LCAnSW1hZ2VEaWZmJykKIAogICAgIGRlZiBf
YnVpbGRfcmVsYXkoc2VsZik6CiAgICAgICAgIGVudmlyb25tZW50ID0gc2VsZi5ob3N0LmNvcHlf
Y3VycmVudF9lbnZpcm9ubWVudCgpCg==
</data>
<flag name="review"
          id="260643"
          type_id="1"
          status="+"
          setter="dbates"
    />
          </attachment>
      

    </bug>

</bugzilla>