<?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>136546</bug_id>
          
          <creation_ts>2014-09-04 14:35:21 -0700</creation_ts>
          <short_desc>[Win] webkitpy test suite frequently fails to complete</short_desc>
          <delta_ts>2014-09-04 16:47:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</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="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>glenn</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1033307</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-09-04 14:35:21 -0700</bug_when>
    <thetext>The Windows port frequently fails to run all tests due to the following two errors:

UnicodeEncodeError raised: &apos;decimal&apos; codec can&apos;t encode characters in position 0-3: invalid decimal Unicode string
Traceback (most recent call last):
  File &quot;/home/buildbot/slave/windows-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 80, in main
    run_details = run(port, options, args, stderr)
  File &quot;/home/buildbot/slave/windows-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 414, in run
    run_details = manager.run(args)
  File &quot;/home/buildbot/slave/windows-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py&quot;, line 200, in run
    int(self._options.child_processes), retrying=False)
  File &quot;/home/buildbot/slave/windows-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py&quot;, line 257, in _run_tests
    return self._runner.run_tests(self._expectations, test_inputs, tests_to_skip, num_workers, needs_http, needs_websockets, retrying)
  File &quot;/home/buildbot/slave/windows-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py&quot;, line 120, in run_tests
    self.start_servers_with_lock(2 * min(num_workers, len(locked_shards)))
  File &quot;/home/buildbot/slave/windows-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py&quot;, line 202, in start_servers_with_lock
    self._port.acquire_http_lock()
  File &quot;/home/buildbot/slave/windows-release-tests/build/OpenSource/Tools/Scripts/webkitpy/port/base.py&quot;, line 915, in acquire_http_lock
    self._http_lock.wait_for_httpd_lock()
  File &quot;/home/buildbot/slave/windows-release-tests/build/OpenSource/Tools/Scripts/webkitpy/port/http_lock.py&quot;, line 134, in wait_for_httpd_lock
    while self._current_lock_pid() != os.getpid():
  File &quot;/home/buildbot/slave/windows-release-tests/build/OpenSource/Tools/Scripts/webkitpy/port/http_lock.py&quot;, line 95, in _current_lock_pid
    if not (current_pid and self._executive.check_running_pid(int(current_pid))):
UnicodeEncodeError: &apos;decimal&apos; codec can&apos;t encode characters in position 0-3: invalid decimal Unicode string

The other error is:
worker/2: UnicodeDecodeError(&apos;&apos;ascii&apos; codec can&apos;t decode byte 0xe0 in position 1889: ordinal not in range(128)&apos;) raised:
    File &quot;/home/buildbot/slave/windows-64bit-release-tests/build/OpenSource/Tools/Scripts/webkitpy/common/message_pool.py&quot;, line 255, in run
      worker.handle(message.name, message.src, *message.args)
    File &quot;/home/buildbot/slave/windows-64bit-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py&quot;, line 283, in handle
      self._run_test(test_input, test_list_name)
    File &quot;/home/buildbot/slave/windows-64bit-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py&quot;, line 308, in _run_test
      result = self._run_test_with_or_without_timeout(test_input, test_timeout_sec, stop_when_done)
    File &quot;/home/buildbot/slave/windows-64bit-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py&quot;, line 351, in _run_test_with_or_without_timeout
      return self._run_test_in_this_thread(test_input, stop_when_done)
    File &quot;/home/buildbot/slave/windows-64bit-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py&quot;, line 432, in _run_test_in_this_thread
      return self._run_single_test(self._driver, test_input, stop_when_done)
    File &quot;/home/buildbot/slave/windows-64bit-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py&quot;, line 436, in _run_single_test
      self._name, driver, test_input, stop_when_done)
    File &quot;/home/buildbot/slave/windows-64bit-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py&quot;, line 46, in run_single_test
      return runner.run()
    File &quot;/home/buildbot/slave/windows-64bit-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py&quot;, line 102, in run
      return self._run_reftest()
    File &quot;/home/buildbot/slave/windows-64bit-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py&quot;, line 313, in _run_reftest
      test_result_writer.write_test_result(self._filesystem, self._port, self._results_directory, self._test_name, test_output, reference_output, test_result.failures)
    File &quot;/home/buildbot/slave/windows-64bit-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/test_result_writer.py&quot;, line 48, in write_test_result
      failure.write_failure(writer, driver_output, expected_driver_output, port)
    File &quot;/home/buildbot/slave/windows-64bit-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/models/test_failures.py&quot;, line 156, in write_failure
      writer.write_crash_log(crashed_driver_output.crash_log)
    File &quot;/home/buildbot/slave/windows-64bit-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/test_result_writer.py&quot;, line 131, in write_crash_log
      self._write_text_file(filename, crash_log)
    File &quot;/home/buildbot/slave/windows-64bit-release-tests/build/OpenSource/Tools/Scripts/webkitpy/layout_tests/controllers/test_result_writer.py&quot;, line 100, in _write_text_file
      self._filesystem.write_text_file(path, contents)
    File &quot;/home/buildbot/slave/windows-64bit-release-tests/build/OpenSource/Tools/Scripts/webkitpy/common/system/filesystem.py&quot;, line 227, in write_text_file
      f.write(contents)
    File &quot;/usr/lib/python2.7/codecs.py&quot;, line 688, in write
      return self.writer.write(data)
    File &quot;/usr/lib/python2.7/codecs.py&quot;, line 351, in write
      data, consumed = self.encode(object, self.errors)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033310</commentid>
    <comment_count>1</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-09-04 14:38:21 -0700</bug_when>
    <thetext>The first problem is due to a non-number value being stored in the PID file. This patch adds logging to identify what this content includes so that we can fix any underlying issue.

The second problem appears to be a nuance in the Windows port of Python when the &apos;codec.open&apos; call is made using the encoding string &quot;utf8&quot; rather than &quot;utf-8&quot;. Other ports do not seem to suffer from this problem; perhaps they default to utf-8 when the codec is an unexpected string.

This patch adds error handling for the case of non-numeric (or mixed numeric) pids, and switches the encoding string type from &quot;utf8&quot; to &quot;utf-8&quot;, which matches other uses of the codec function in our code base.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033312</commentid>
    <comment_count>2</comment_count>
      <attachid>237648</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-09-04 14:41:28 -0700</bug_when>
    <thetext>Created attachment 237648
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033319</commentid>
    <comment_count>3</comment_count>
      <attachid>237648</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-04 14:56:51 -0700</bug_when>
    <thetext>Comment on attachment 237648
Patch

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

&gt; Tools/ChangeLog:9
&gt; +        (FileSystem.open_text_file_for_reading): Switch from &quot;utf8&quot; to &quot;utf-8&quot;

Is this necessary? Do you feel it improves the readability of the code? From my understanding of &lt;https://docs.python.org/2/library/codecs.html#standard-encodings&gt; &quot;utf8&quot; is an alias for &quot;utf-8&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033341</commentid>
    <comment_count>4</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-09-04 16:12:36 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 237648 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=237648&amp;action=review
&gt; 
&gt; &gt; Tools/ChangeLog:9
&gt; &gt; +        (FileSystem.open_text_file_for_reading): Switch from &quot;utf8&quot; to &quot;utf-8&quot;
&gt; 
&gt; Is this necessary? Do you feel it improves the readability of the code? From my understanding of &lt;https://docs.python.org/2/library/codecs.html#standard-encodings&gt; &quot;utf8&quot; is an alias for &quot;utf-8&quot;.

You are right; that wasn&apos;t the problem. The issue is that we are in some cases (e.g., the crash log) getting the contents of the file as a byte string, and passing that value to this function, which assumes it will be given a unicode value that can encode itself as utf-8.

Since we pass a byte string, the moment the codecs class asks it to convert itself to a utf-8 encoding, it (being an ASCII-only byte representation) refuses and throws an exception.

I need to find where this log file is getting read, and make sure it is converted to unicode as early as possible so that this doesn&apos;t happen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033349</commentid>
    <comment_count>5</comment_count>
      <attachid>237658</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-09-04 16:37:53 -0700</bug_when>
    <thetext>Created attachment 237658
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033351</commentid>
    <comment_count>6</comment_count>
      <attachid>237658</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-04 16:43:36 -0700</bug_when>
    <thetext>Comment on attachment 237658
Patch

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

&gt; Tools/ChangeLog:12
&gt; +        We were mixing ascii/unicode strings under Windows, which was

Nit: ascii =&gt; ASCII
unicode =&gt; Unicode

&gt; Tools/Scripts/webkitpy/common/system/crashlogs.py:92
&gt; +                    log_file = self._host.filesystem.read_binary_file(path).decode(&apos;ascii&apos;, &apos;ignore&apos;)

I assume it&apos;s always acceptable to decode the file as ASCII regardless of the platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033353</commentid>
    <comment_count>7</comment_count>
      <attachid>237658</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-09-04 16:47:44 -0700</bug_when>
    <thetext>Comment on attachment 237658
Patch

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

&gt;&gt; Tools/Scripts/webkitpy/common/system/crashlogs.py:92
&gt;&gt; +                    log_file = self._host.filesystem.read_binary_file(path).decode(&apos;ascii&apos;, &apos;ignore&apos;)
&gt; 
&gt; I assume it&apos;s always acceptable to decode the file as ASCII regardless of the platform.

Disregard this comment. This function is specific to Windows.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1033354</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2014-09-04 16:47:50 -0700</bug_when>
    <thetext>Committed r173290: &lt;http://trac.webkit.org/changeset/173290&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237648</attachid>
            <date>2014-09-04 14:41:28 -0700</date>
            <delta_ts>2014-09-04 16:37:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136546-20140904144314.patch</filename>
            <type>text/plain</type>
            <size>5060</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3MzI4MikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIzIEBACisyMDE0LTA5LTA0ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFtXaW5dIHdlYmtpdHB5IHRlc3Qgc3VpdGUgZnJlcXVlbnRseSBmYWlscyB0
byBjb21wbGV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTM2NTQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBTY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vZmlsZXN5c3RlbS5weToKKyAgICAg
ICAgKEZpbGVTeXN0ZW0ub3Blbl90ZXh0X2ZpbGVfZm9yX3JlYWRpbmcpOiBTd2l0Y2ggZnJvbSAi
dXRmOCIgdG8gInV0Zi04IgorICAgICAgICAoRmlsZVN5c3RlbS5vcGVuX3RleHRfZmlsZV9mb3Jf
d3JpdGluZyk6IERpdHRvLgorICAgICAgICAoRmlsZVN5c3RlbS5vcGVuX3N0ZGluKTogRGl0dG8u
CisgICAgICAgIChGaWxlU3lzdGVtLnJlYWRfdGV4dF9maWxlKTogRGl0dG8uCisgICAgICAgIChG
aWxlU3lzdGVtLndyaXRlX3RleHRfZmlsZSk6IERpdHRvLgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0cHkvcG9ydC9odHRwX2xvY2sucHk6CisgICAgICAgIChIdHRwTG9jay5fY3VycmVudF9sb2Nr
X3BpZCk6IEFkZCBsb2dnaW5nIGFuZCBoYW5kbGUgY2FzZSBvZgorICAgICAgICB0aGUgY3VycmVu
dF9waWQgZmFpbGluZyB0byBjbGVhbmx5IGNvbnZlcnQgdG8gJ2ludCcuCisgICAgICAgICogU2Ny
aXB0cy93ZWJraXRweS9wb3J0L3dpbi5weToKKyAgICAgICAgKFdpblBvcnQpOiBBZGQgNjQtYml0
IGFyY2hpdGVjdHVyZSBhcyBhIGtub3duIHRhcmdldCBmb3IgdGhlCisgICAgICAgIFdpbmRvd3Mg
YnVpbGQuCisKIDIwMTQtMDktMDQgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+
CiAKICAgICAgICAgUkVHUkVTU0lPTjogRGFzaGJvYXJkIG1ldHJpY3MgcGFnZSBhZ2dyZWdhdGlv
biBjb3VudHMgcGVyZm9ybWFuY2UgYm90cwpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9j
b21tb24vc3lzdGVtL2ZpbGVzeXN0ZW0ucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9jb21tb24vc3lzdGVtL2ZpbGVzeXN0ZW0ucHkJKHJldmlzaW9uIDE3MzI3MCkKKysr
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9maWxlc3lzdGVtLnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMDEsMjkgKzIwMSwyOSBAQCBjbGFzcyBGaWxlU3lzdGVtKG9iamVjdCk6
CiAgICAgZGVmIG9wZW5fdGV4dF9maWxlX2Zvcl9yZWFkaW5nKHNlbGYsIHBhdGgsIGVycm9ycz0n
c3RyaWN0Jyk6CiAgICAgICAgICMgTm90ZTogVGhlcmUgYXBwZWFycyB0byBiZSBhbiBpc3N1ZSB3
aXRoIHRoZSByZXR1cm5lZCBmaWxlIG9iamVjdHMKICAgICAgICAgIyBub3QgYmVpbmcgc2Vla2Fi
bGUuIFNlZSBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE1MTAxODgvY2FuLXNl
ZWstYW5kLXRlbGwtd29yay13aXRoLXV0Zi04LWVuY29kZWQtZG9jdW1lbnRzLWluLXB5dGhvbiAu
Ci0gICAgICAgIHJldHVybiBjb2RlY3Mub3BlbihwYXRoLCAncicsICd1dGY4JywgZXJyb3JzKQor
ICAgICAgICByZXR1cm4gY29kZWNzLm9wZW4ocGF0aCwgJ3InLCAndXRmLTgnLCBlcnJvcnMpCiAK
ICAgICBkZWYgb3Blbl90ZXh0X2ZpbGVfZm9yX3dyaXRpbmcoc2VsZiwgcGF0aCk6Ci0gICAgICAg
IHJldHVybiBjb2RlY3Mub3BlbihwYXRoLCAndycsICd1dGY4JykKKyAgICAgICAgcmV0dXJuIGNv
ZGVjcy5vcGVuKHBhdGgsICd3JywgJ3V0Zi04JykKIAogICAgIGRlZiBvcGVuX3N0ZGluKHNlbGYp
OgogICAgICAgICByZXR1cm4gY29kZWNzLlN0cmVhbVJlYWRlcldyaXRlcihzeXMuc3RkaW4sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlY3MuZ2V0cmVh
ZGVyKCd1dGY4JyksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb2RlY3MuZ2V0d3JpdGVyKCd1dGY4JyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb2RlY3MuZ2V0cmVhZGVyKCd1dGYtOCcpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZWNzLmdldHdyaXRlcigndXRmLTgn
KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXBsYWNl
JykKIAogICAgIGRlZiByZWFkX3RleHRfZmlsZShzZWxmLCBwYXRoKToKICAgICAgICAgIiIiUmV0
dXJuIHRoZSBjb250ZW50cyBvZiB0aGUgZmlsZSBhdCB0aGUgZ2l2ZW4gcGF0aCBhcyBhIFVuaWNv
ZGUgc3RyaW5nLgogCiAgICAgICAgIFRoZSBmaWxlIGlzIHJlYWQgYXNzdW1pbmcgaXQgaXMgYSBV
VEYtOCBlbmNvZGVkIGZpbGUgd2l0aCBubyBCT00uIiIiCi0gICAgICAgIHdpdGggY29kZWNzLm9w
ZW4ocGF0aCwgJ3InLCAndXRmOCcpIGFzIGY6CisgICAgICAgIHdpdGggY29kZWNzLm9wZW4ocGF0
aCwgJ3InLCAndXRmLTgnKSBhcyBmOgogICAgICAgICAgICAgcmV0dXJuIGYucmVhZCgpCiAKICAg
ICBkZWYgd3JpdGVfdGV4dF9maWxlKHNlbGYsIHBhdGgsIGNvbnRlbnRzKToKICAgICAgICAgIiIi
V3JpdGUgdGhlIGNvbnRlbnRzIHRvIHRoZSBmaWxlIGF0IHRoZSBnaXZlbiBsb2NhdGlvbi4KIAog
ICAgICAgICBUaGUgZmlsZSBpcyB3cml0dGVuIGVuY29kZWQgYXMgVVRGLTggd2l0aCBubyBCT00u
IiIiCi0gICAgICAgIHdpdGggY29kZWNzLm9wZW4ocGF0aCwgJ3cnLCAndXRmOCcpIGFzIGY6Cisg
ICAgICAgIHdpdGggY29kZWNzLm9wZW4ocGF0aCwgJ3cnLCAndXRmLTgnKSBhcyBmOgogICAgICAg
ICAgICAgZi53cml0ZShjb250ZW50cykKIAogICAgIGRlZiBzaGExKHNlbGYsIHBhdGgpOgpJbmRl
eDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2h0dHBfbG9jay5weQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaHR0cF9sb2NrLnB5CShyZXZpc2lvbiAxNzMy
NzApCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaHR0cF9sb2NrLnB5CSh3b3JraW5n
IGNvcHkpCkBAIC05MSw5ICs5MSwyMSBAQCBjbGFzcyBIdHRwTG9jayhvYmplY3QpOgogICAgICAg
ICAgICAgX2xvZy5kZWJ1ZygiTm8gbG9jayBmaWxlIGxpc3QiKQogICAgICAgICAgICAgcmV0dXJu
CiAgICAgICAgIHRyeToKLSAgICAgICAgICAgIGN1cnJlbnRfcGlkID0gc2VsZi5fZmlsZXN5c3Rl
bS5yZWFkX3RleHRfZmlsZShsb2NrX2xpc3RbMF0pCi0gICAgICAgICAgICBpZiBub3QgKGN1cnJl
bnRfcGlkIGFuZCBzZWxmLl9leGVjdXRpdmUuY2hlY2tfcnVubmluZ19waWQoaW50KGN1cnJlbnRf
cGlkKSkpOgotICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoIlJlbW92aW5nIHN0dWNrIGxvY2sg
ZmlsZTogJXMiICUgbG9ja19saXN0WzBdKQorICAgICAgICAgICAgX2xvZy5kZWJ1ZygiUmV0cmll
dmluZyBjdXJyZW50IGxvY2sgcGlkIGZyb20gJXMiICUgbG9ja19saXN0WzBdKQorICAgICAgICAg
ICAgY3VycmVudF9waWRfc3RyaW5nID0gc2VsZi5fZmlsZXN5c3RlbS5yZWFkX3RleHRfZmlsZShs
b2NrX2xpc3RbMF0pCisgICAgICAgICAgICBfbG9nLmRlYnVnKCJDaGVja2luZyBjdXJyZW50IGxv
Y2sgb24gcGlkICVzIiAlIGN1cnJlbnRfcGlkX3N0cmluZykKKyAgICAgICAgICAgIGlmIG5vdCBj
dXJyZW50X3BpZF9zdHJpbmc6CisgICAgICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS5yZW1v
dmUobG9ja19saXN0WzBdKQorICAgICAgICAgICAgICAgIHJldHVybgorCisgICAgICAgICAgICB0
cnk6CisgICAgICAgICAgICAgICAgY3VycmVudF9waWQgPSBpbnQoY3VycmVudF9waWRfc3RyaW5n
KQorICAgICAgICAgICAgICAgIGlmIG5vdCAoY3VycmVudF9waWQgYW5kIHNlbGYuX2V4ZWN1dGl2
ZS5jaGVja19ydW5uaW5nX3BpZChjdXJyZW50X3BpZCkpOgorICAgICAgICAgICAgICAgICAgICBf
bG9nLmRlYnVnKCJSZW1vdmluZyBzdHVjayBsb2NrIGZpbGU6ICVzIiAlIGxvY2tfbGlzdFswXSkK
KyAgICAgICAgICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS5yZW1vdmUobG9ja19saXN0WzBd
KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVy
cm9yLCBlOgorICAgICAgICAgICAgICAgIF9sb2cuZGVidWcoIlZhbHVlRXJyb3I6ICVzIiAlIGUp
CiAgICAgICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS5yZW1vdmUobG9ja19saXN0WzBdKQog
ICAgICAgICAgICAgICAgIHJldHVybgogICAgICAgICBleGNlcHQgSU9FcnJvciwgZToKSW5kZXg6
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9wb3J0L3dpbi5weQkocmV2aXNpb24gMTczMjcwKQorKysgVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9wb3J0L3dpbi5weQkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDks
NyBAQCBjbGFzcyBXaW5Qb3J0KEFwcGxlUG9ydCk6CiAKICAgICBWRVJTSU9OX0ZBTExCQUNLX09S
REVSID0gWyJ3aW4teHAiLCAid2luLXZpc3RhIiwgIndpbi03c3AwIiwgIndpbiJdCiAKLSAgICBB
UkNISVRFQ1RVUkVTID0gWyd4ODYnXQorICAgIEFSQ0hJVEVDVFVSRVMgPSBbJ3g4NicsICd4ODZf
NjQnXQogCiAgICAgQ1JBU0hfTE9HX1BSRUZJWCA9ICJDcmFzaExvZyIKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>237658</attachid>
            <date>2014-09-04 16:37:53 -0700</date>
            <delta_ts>2014-09-04 16:47:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-136546-20140904163939.patch</filename>
            <type>text/plain</type>
            <size>5461</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE3MzI4OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMxIEBACisyMDE0LTA5LTA0ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgorCisgICAgICAgIFtXaW5dIHdlYmtpdHB5IHRlc3Qgc3VpdGUgZnJlcXVlbnRseSBmYWlscyB0
byBjb21wbGV0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTM2NTQ2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUHJvcGVybHkgY29udmVydCB0aGUgQVNDSUkgY3Jhc2ggbG9nIHByb2R1Y2VkIGJ5IG50c2Qg
aW50bworICAgICAgICBhIHVuaWNvZGUgc3RyaW5nIGFzIGVhcmx5IGFzIHBvc3NpYmxlIHNvIHRo
YXQgd2UgaGFuZGxlIGl0CisgICAgICAgIHByb3Blcmx5IHdoZW4gZ2VuZXJhdGluZyBvdXIgbG9n
cyBhbmQgb3RoZXIgdGVzdCBzdXBwb3J0IG91dHB1dC4KKworICAgICAgICBXZSB3ZXJlIG1peGlu
ZyBhc2NpaS91bmljb2RlIHN0cmluZ3MgdW5kZXIgV2luZG93cywgd2hpY2ggd2FzCisgICAgICAg
IGNhdXNpbmcgdGVzdCBzeXN0ZW0gZmFpbHVyZXMgd2hlbiB3ZSBwcm9jZXNzZWQgc29tZSBjcmFz
aCBsb2dzLgorCisgICAgICAgIEFsc28gZG8gYSBiZXR0ZXIgam9iIG9mIGhhbmRsaW5nIGdhcmJh
Z2UgcGlkIGVudHJpZXMgaW4gdGhlCisgICAgICAgIEN5Z3dpbiBsb2NrIGZpbGVzLgorCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXRweS9jb21tb24vc3lzdGVtL2NyYXNobG9ncy5weToKKyAgICAg
ICAgKENyYXNoTG9ncy5fZmluZF9uZXdlc3RfbG9nX3dpbik6IFRoZSBudHNkICcubG9nb3Blbicg
Y29tbWFuZAorICAgICAgICBjcmVhdGVzIGFuIEFTQ0lJIGZpbGUuIERlY29kZSBpdCBhcyBBU0NJ
SSwgbm90ICd1dGYtOCcsIGFuZAorICAgICAgICBoYW5kbGUgdGhlIHN0cmluZ3MgYXMgdW5pY29k
ZSBmcm9tIHRoYXQgcG9pbnQgb24uCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2h0
dHBfbG9jay5weToKKyAgICAgICAgKEh0dHBMb2NrLl9jdXJyZW50X2xvY2tfcGlkKTogQWRkIGxv
Z2dpbmcgYW5kIGhhbmRsZSBjYXNlIG9mCisgICAgICAgIHRoZSBjdXJyZW50X3BpZCBmYWlsaW5n
IHRvIGNsZWFubHkgY29udmVydCB0byAnaW50Jy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L3BvcnQvd2luLnB5OgorICAgICAgICAoV2luUG9ydCk6IEFkZCA2NC1iaXQgYXJjaGl0ZWN0dXJl
IGFzIGEga25vd24gdGFyZ2V0IGZvciB0aGUKKyAgICAgICAgV2luZG93cyBidWlsZC4KKwogMjAx
NC0wOS0wNCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAKICAgICAgICAgQWRkcmVz
cyBhZGRpdGlvbmFsIHJldmlldyBmZWVkYmFjayBhZnRlciBsYW5kaW5nIHIxNzMyODMuCkluZGV4
OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2NvbW1vbi9zeXN0ZW0vY3Jhc2hsb2dzLnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5c3RlbS9jcmFzaGxvZ3Mu
cHkJKHJldmlzaW9uIDE3MzI3MCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvY29tbW9uL3N5
c3RlbS9jcmFzaGxvZ3MucHkJKHdvcmtpbmcgY29weSkKQEAgLTg1LDExICs4NSwxMSBAQCBjbGFz
cyBDcmFzaExvZ3Mob2JqZWN0KToKICAgICAgICAgICAgIHJldHVybiBiYXNlbmFtZS5zdGFydHN3
aXRoKCJDcmFzaExvZyIpCiAKICAgICAgICAgbG9ncyA9IHNlbGYuX2hvc3QuZmlsZXN5c3RlbS5m
aWxlc191bmRlcihzZWxmLl9yZXN1bHRzX2RpcmVjdG9yeSwgZmlsZV9maWx0ZXI9aXNfY3Jhc2hf
bG9nKQotICAgICAgICBlcnJvcnMgPSAnJworICAgICAgICBlcnJvcnMgPSB1JycKICAgICAgICAg
Zm9yIHBhdGggaW4gcmV2ZXJzZWQoc29ydGVkKGxvZ3MpKToKICAgICAgICAgICAgIHRyeToKICAg
ICAgICAgICAgICAgICBpZiBub3QgbmV3ZXJfdGhhbiBvciBzZWxmLl9ob3N0LmZpbGVzeXN0ZW0u
bXRpbWUocGF0aCkgPiBuZXdlcl90aGFuOgotICAgICAgICAgICAgICAgICAgICBsb2dfZmlsZSA9
IHNlbGYuX2hvc3QuZmlsZXN5c3RlbS5yZWFkX2JpbmFyeV9maWxlKHBhdGgpLmRlY29kZSgndXRm
OCcsICdpZ25vcmUnKQorICAgICAgICAgICAgICAgICAgICBsb2dfZmlsZSA9IHNlbGYuX2hvc3Qu
ZmlsZXN5c3RlbS5yZWFkX2JpbmFyeV9maWxlKHBhdGgpLmRlY29kZSgnYXNjaWknLCAnaWdub3Jl
JykKICAgICAgICAgICAgICAgICAgICAgbWF0Y2ggPSBzZWxmLlBJRF9MSU5FX1JFR0VYLnNlYXJj
aChsb2dfZmlsZSkKICAgICAgICAgICAgICAgICAgICAgaWYgbWF0Y2ggaXMgTm9uZToKICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCkBAIC05OCwxNSArOTgsMTUgQEAgY2xhc3MgQ3Jh
c2hMb2dzKG9iamVjdCk6CiAgICAgICAgICAgICBleGNlcHQgSU9FcnJvciwgZToKICAgICAgICAg
ICAgICAgICBwcmludCAiSU9FcnJvciAlcyIgJSBzdHIoZSkKICAgICAgICAgICAgICAgICBpZiBp
bmNsdWRlX2Vycm9yczoKLSAgICAgICAgICAgICAgICAgICAgZXJyb3JzICs9ICJFUlJPUjogRmFp
bGVkIHRvIHJlYWQgJyVzJzogJXNcbiIgJSAocGF0aCwgc3RyKGUpKQorICAgICAgICAgICAgICAg
ICAgICBlcnJvcnMgKz0gdSJFUlJPUjogRmFpbGVkIHRvIHJlYWQgJyVzJzogJXNcbiIgJSAocGF0
aCwgc3RyKGUpKQogICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3IsIGU6CiAgICAgICAgICAgICAg
ICAgcHJpbnQgIk9TRXJyb3IgJXMiICUgc3RyKGUpCiAgICAgICAgICAgICAgICAgaWYgaW5jbHVk
ZV9lcnJvcnM6Ci0gICAgICAgICAgICAgICAgICAgIGVycm9ycyArPSAiRVJST1I6IEZhaWxlZCB0
byByZWFkICclcyc6ICVzXG4iICUgKHBhdGgsIHN0cihlKSkKKyAgICAgICAgICAgICAgICAgICAg
ZXJyb3JzICs9IHUiRVJST1I6IEZhaWxlZCB0byByZWFkICclcyc6ICVzXG4iICUgKHBhdGgsIHN0
cihlKSkKICAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3IsIGU6CiAgICAgICAg
ICAgICAgICAgcHJpbnQgIlVuaWNvZGVEZWNvZGVFcnJvciAlcyIgJSBzdHIoZSkKICAgICAgICAg
ICAgICAgICBpZiBpbmNsdWRlX2Vycm9yczoKLSAgICAgICAgICAgICAgICAgICAgZXJyb3JzICs9
ICJFUlJPUjogRmFpbGVkIHRvIGRlY29kZSAnJXMnIGFzIHV0Zjg6ICVzXG4iICUgKHBhdGgsIHN0
cihlKSkKKyAgICAgICAgICAgICAgICAgICAgZXJyb3JzICs9IHUiRVJST1I6IEZhaWxlZCB0byBk
ZWNvZGUgJyVzJyBhcyBhc2NpaTogJXNcbiIgJSAocGF0aCwgc3RyKGUpKQogCiAgICAgICAgIGlm
IGluY2x1ZGVfZXJyb3JzIGFuZCBlcnJvcnM6CiAgICAgICAgICAgICByZXR1cm4gZXJyb3JzCklu
ZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaHR0cF9sb2NrLnB5Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9odHRwX2xvY2sucHkJKHJldmlzaW9uIDE3
MzI3MCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9odHRwX2xvY2sucHkJKHdvcmtp
bmcgY29weSkKQEAgLTkxLDkgKzkxLDIxIEBAIGNsYXNzIEh0dHBMb2NrKG9iamVjdCk6CiAgICAg
ICAgICAgICBfbG9nLmRlYnVnKCJObyBsb2NrIGZpbGUgbGlzdCIpCiAgICAgICAgICAgICByZXR1
cm4KICAgICAgICAgdHJ5OgotICAgICAgICAgICAgY3VycmVudF9waWQgPSBzZWxmLl9maWxlc3lz
dGVtLnJlYWRfdGV4dF9maWxlKGxvY2tfbGlzdFswXSkKLSAgICAgICAgICAgIGlmIG5vdCAoY3Vy
cmVudF9waWQgYW5kIHNlbGYuX2V4ZWN1dGl2ZS5jaGVja19ydW5uaW5nX3BpZChpbnQoY3VycmVu
dF9waWQpKSk6Ci0gICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygiUmVtb3Zpbmcgc3R1Y2sgbG9j
ayBmaWxlOiAlcyIgJSBsb2NrX2xpc3RbMF0pCisgICAgICAgICAgICBfbG9nLmRlYnVnKCJSZXRy
aWV2aW5nIGN1cnJlbnQgbG9jayBwaWQgZnJvbSAlcyIgJSBsb2NrX2xpc3RbMF0pCisgICAgICAg
ICAgICBjdXJyZW50X3BpZF9zdHJpbmcgPSBzZWxmLl9maWxlc3lzdGVtLnJlYWRfdGV4dF9maWxl
KGxvY2tfbGlzdFswXSkKKyAgICAgICAgICAgIF9sb2cuZGVidWcoIkNoZWNraW5nIGN1cnJlbnQg
bG9jayBvbiBwaWQgJXMiICUgY3VycmVudF9waWRfc3RyaW5nKQorICAgICAgICAgICAgaWYgbm90
IGN1cnJlbnRfcGlkX3N0cmluZzoKKyAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLnJl
bW92ZShsb2NrX2xpc3RbMF0pCisgICAgICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgICAg
IHRyeToKKyAgICAgICAgICAgICAgICBjdXJyZW50X3BpZCA9IGludChjdXJyZW50X3BpZF9zdHJp
bmcpCisgICAgICAgICAgICAgICAgaWYgbm90IChjdXJyZW50X3BpZCBhbmQgc2VsZi5fZXhlY3V0
aXZlLmNoZWNrX3J1bm5pbmdfcGlkKGN1cnJlbnRfcGlkKSk6CisgICAgICAgICAgICAgICAgICAg
IF9sb2cuZGVidWcoIlJlbW92aW5nIHN0dWNrIGxvY2sgZmlsZTogJXMiICUgbG9ja19saXN0WzBd
KQorICAgICAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLnJlbW92ZShsb2NrX2xpc3Rb
MF0pCisgICAgICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAgZXhjZXB0IFZhbHVl
RXJyb3IsIGU6CisgICAgICAgICAgICAgICAgX2xvZy5kZWJ1ZygiVmFsdWVFcnJvcjogJXMiICUg
ZSkKICAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLnJlbW92ZShsb2NrX2xpc3RbMF0p
CiAgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgIGV4Y2VwdCBJT0Vycm9yLCBlOgpJbmRl
eDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dpbi5weQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5CShyZXZpc2lvbiAxNzMyNzApCisrKyBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5CSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0
OSw3IEBAIGNsYXNzIFdpblBvcnQoQXBwbGVQb3J0KToKIAogICAgIFZFUlNJT05fRkFMTEJBQ0tf
T1JERVIgPSBbIndpbi14cCIsICJ3aW4tdmlzdGEiLCAid2luLTdzcDAiLCAid2luIl0KIAotICAg
IEFSQ0hJVEVDVFVSRVMgPSBbJ3g4NiddCisgICAgQVJDSElURUNUVVJFUyA9IFsneDg2JywgJ3g4
Nl82NCddCiAKICAgICBDUkFTSF9MT0dfUFJFRklYID0gIkNyYXNoTG9nIgogCg==
</data>
<flag name="review"
          id="262392"
          type_id="1"
          status="+"
          setter="dbates"
    />
          </attachment>
      

    </bug>

</bugzilla>