<?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>59083</bug_id>
          
          <creation_ts>2011-04-21 02:37:14 -0700</creation_ts>
          <short_desc>new-run-webkit-tests: Exception raised when stderr contains binary data</short_desc>
          <delta_ts>2011-04-22 18:49:13 -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="Yuta Kitamura">yutak</reporter>
          <assigned_to name="Yuta Kitamura">yutak</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>389909</commentid>
    <comment_count>0</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-04-21 02:37:14 -0700</bug_when>
    <thetext>I accidentally found that NRWT gets killed when stderr output contains non-ASCII characters (0x80-0xFF).

This is because TestResultWriter writes stderr output using FileSystem.write_text_file() instead of write_binary_file(). write_text_file() implicitly converts the given data into a unicode string. In this case, input is a str containing stderr output and it gets converted with default &quot;ascii&quot; codec, which caused this conversion error.

I will upload a patch shortly.


Full output:

    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/worker.py&quot;, line 74, in run
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/worker.py&quot;, line 74, in run
      self._worker_connection.run_message_loop()
      self._worker_connection.run_message_loop()
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/message_broker2.py&quot;, line 192, in run_message_loop
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/message_broker2.py&quot;, line 192, in run_message_loop
      self._broker.run_message_loop(self._run_topic, self._client, delay_secs)
      self._broker.run_message_loop(self._run_topic, self._client, delay_secs)
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/message_broker2.py&quot;, line 128, in run_message_loop
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/message_broker2.py&quot;, line 128, in run_message_loop
      self._run_loop(topic_name, client, block=True, delay_secs=delay_secs)
      self._run_loop(topic_name, client, block=True, delay_secs=delay_secs)
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/message_broker2.py&quot;, line 142, in _run_loop
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/message_broker2.py&quot;, line 142, in _run_loop
      self._dispatch_message(msg, client)
      self._dispatch_message(msg, client)
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/message_broker2.py&quot;, line 151, in _dispatch_message
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/message_broker2.py&quot;, line 151, in _dispatch_message
      message_handler(message.src, *optargs)
      message_handler(message.src, *optargs)
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/worker.py&quot;, line 99, in handle_test_list
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/worker.py&quot;, line 99, in handle_test_list
      self._run_test(test_input)
      self._run_test(test_input)
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/worker.py&quot;, line 117, in _run_test
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/worker.py&quot;, line 117, in _run_test
      result = self.run_test_with_timeout(test_input, test_timeout_sec)
      result = self.run_test_with_timeout(test_input, test_timeout_sec)
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py&quot;, line 121, in run_test_with_timeout
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py&quot;, line 121, in run_test_with_timeout
      return self._run_test_in_this_thread(test_input)
      return self._run_test_in_this_thread(test_input)
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py&quot;, line 204, in _run_test_in_this_thread
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py&quot;, line 204, in _run_test_in_this_thread
      return self._run_single_test(self._driver, test_input)
      return self._run_single_test(self._driver, test_input)
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py&quot;, line 208, in _run_single_test
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/worker_mixin.py&quot;, line 208, in _run_single_test
      test_input, driver, self._name)
      test_input, driver, self._name)
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py&quot;, line 44, in run_single_test
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py&quot;, line 44, in run_single_test
      return runner.run()
      return runner.run()
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py&quot;, line 120, in run
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py&quot;, line 120, in run
      return self._run_compare_test()
      return self._run_compare_test()
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py&quot;, line 127, in _run_compare_test
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/single_test_runner.py&quot;, line 127, in _run_compare_test
      driver_output, expected_driver_output, test_result.failures)
      driver_output, expected_driver_output, test_result.failures)
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/test_result_writer.py&quot;, line 47, in write_test_result
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/test_result_writer.py&quot;, line 47, in write_test_result
      writer.write_stderr(driver_output.error)
      writer.write_stderr(driver_output.error)
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/test_result_writer.py&quot;, line 164, in write_stderr
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/test_result_writer.py&quot;, line 164, in write_stderr
      fs.write_text_file(filename, error)
      fs.write_text_file(filename, error)
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/common/system/filesystem.py&quot;, line 281, in write_text_file
    File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/common/system/filesystem.py&quot;, line 281, in write_text_file
      f.write(contents)
      f.write(contents)
    File &quot;/usr/lib/python2.6/codecs.py&quot;, line 686, in write
    File &quot;/usr/lib/python2.6/codecs.py&quot;, line 686, in write
      return self.writer.write(data)
      return self.writer.write(data)
    File &quot;/usr/lib/python2.6/codecs.py&quot;, line 351, in write
    File &quot;/usr/lib/python2.6/codecs.py&quot;, line 351, in write
      data, consumed = self.encode(object, self.errors)
      data, consumed = self.encode(object, self.errors)

Exception raised, exiting                           
Traceback (most recent call last):
  File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 446, in &lt;module&gt;
    sys.exit(main())
  File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 441, in main
    return run(port_obj, options, args)
  File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/run_webkit_tests.py&quot;, line 116, in run
    num_unexpected_results = runner.run(result_summary)
  File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner.py&quot;, line 652, in run
    self._run_tests(self._test_files_list, result_summary))
  File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner2.py&quot;, line 164, in _run_tests
    manager_connection.run_message_loop(delay_secs=1.0)
  File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/message_broker2.py&quot;, line 192, in run_message_loop
    self._broker.run_message_loop(self._run_topic, self._client, delay_secs)
  File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/message_broker2.py&quot;, line 128, in run_message_loop
    self._run_loop(topic_name, client, block=True, delay_secs=delay_secs)
  File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/message_broker2.py&quot;, line 142, in _run_loop
    self._dispatch_message(msg, client)
  File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/message_broker2.py&quot;, line 151, in _dispatch_message
    message_handler(message.src, *optargs)
  File &quot;/usr/local/google/home/yutak/build/Chromium/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/layout_package/test_runner2.py&quot;, line 216, in handle_exception
    raise exception_type, exception_value, exception_traceback
UnicodeDecodeError: &apos;ascii&apos; codec can&apos;t decode byte 0xc2 in position 146: ordinal not in range(128)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389910</commentid>
    <comment_count>1</comment_count>
      <attachid>90505</attachid>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-04-21 02:40:31 -0700</bug_when>
    <thetext>Created attachment 90505
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390054</commentid>
    <comment_count>2</comment_count>
      <attachid>90505</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2011-04-21 08:37:43 -0700</bug_when>
    <thetext>Comment on attachment 90505
Patch

Seems fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390477</commentid>
    <comment_count>3</comment_count>
      <attachid>90505</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-21 17:11:35 -0700</bug_when>
    <thetext>Comment on attachment 90505
Patch

Rejecting attachment 90505 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-3&apos;, &apos;apply-...&quot; exit_code: 1

Last 500 characters of output:
autoinstalled/mechanize/_urllib2_fork.py&quot;, line 332, in _call_chain
    result = func(*args)
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 1170, in https_open
    return self.do_open(conn_factory, req)
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 1118, in do_open
    raise URLError(err)
urllib2.URLError: &lt;urlopen error [Errno 60] Operation timed out&gt;

Full output: http://queues.webkit.org/results/8498155</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391112</commentid>
    <comment_count>4</comment_count>
    <who name="Yuta Kitamura">yutak</who>
    <bug_when>2011-04-22 15:00:00 -0700</bug_when>
    <thetext>Um... bot flakiness? Let me try again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391114</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-22 15:01:20 -0700</bug_when>
    <thetext>yeah, not sure why the server timed out like that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391315</commentid>
    <comment_count>6</comment_count>
      <attachid>90505</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-22 18:49:08 -0700</bug_when>
    <thetext>Comment on attachment 90505
Patch

Clearing flags on attachment: 90505

Committed r84722: &lt;http://trac.webkit.org/changeset/84722&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>391316</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-22 18:49:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90505</attachid>
            <date>2011-04-21 02:40:31 -0700</date>
            <delta_ts>2011-04-22 18:49:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-59083-20110421184028.patch</filename>
            <type>text/plain</type>
            <size>1487</size>
            <attacher name="Yuta Kitamura">yutak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQ0NzkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmZDQ4Y2MzODE3ODJhMTE1N2YyNmYzNjQ3ZDNkMzA3NTgz
ZjU4MTRmLi4wMjg1YmY2YTBlNzFhNTIzY2IzMjBhOWQ0ZGU5ZTRiYzE1YjFjYThkIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTEtMDQtMjEgIFl1dGEgS2l0YW11cmEgIDx5dXRha0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgbmV3LXJ1bi13ZWJr
aXQtdGVzdHM6IEV4Y2VwdGlvbiByYWlzZWQgd2hlbiBzdGRlcnIgY29udGFpbnMgYmluYXJ5IGRh
dGEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU5MDgz
CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2Fn
ZS90ZXN0X3Jlc3VsdF93cml0ZXIucHk6CisgICAgICAgIFVzZSB3cml0ZV9iaW5hcnlfZmlsZSgp
IGluc3RlYWQgb2Ygd3JpdGVfdGV4dF9maWxlKCkuCisKIDIwMTEtMDQtMjAgIERvbWluaWMgQ29v
bmV5ICA8ZG9taW5pY2NAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0
cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL2xheW91dF9wYWNrYWdlL3Rlc3RfcmVzdWx0X3dyaXRlci5weSBiL1Rvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL3Rlc3RfcmVzdWx0X3dyaXRlci5w
eQppbmRleCAwN2U2Mzg5ZDZiNGQ1MmUwNmZkMjMxNTE3NmViMmQ4MzYwNDFhZjY4Li4yNDNiYmVk
Y2U3YTFiOGEzMjdhNGRlN2E3YzNjZTg5NzZhYmM2M2FhIDEwMDY0NAotLS0gYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS90ZXN0X3Jlc3VsdF93cml0
ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3Bh
Y2thZ2UvdGVzdF9yZXN1bHRfd3JpdGVyLnB5CkBAIC0xNjEsNyArMTYxLDcgQEAgY2xhc3MgVGVz
dFJlc3VsdFdyaXRlcihvYmplY3QpOgogICAgICAgICBmcyA9IHNlbGYuX3BvcnQuX2ZpbGVzeXN0
ZW0KICAgICAgICAgZmlsZW5hbWUgPSBzZWxmLm91dHB1dF9maWxlbmFtZSgiLXN0ZGVyci50eHQi
KQogICAgICAgICBmcy5tYXliZV9tYWtlX2RpcmVjdG9yeShmcy5kaXJuYW1lKGZpbGVuYW1lKSkK
LSAgICAgICAgZnMud3JpdGVfdGV4dF9maWxlKGZpbGVuYW1lLCBlcnJvcikKKyAgICAgICAgZnMu
d3JpdGVfYmluYXJ5X2ZpbGUoZmlsZW5hbWUsIGVycm9yKQogCiAgICAgZGVmIHdyaXRlX2NyYXNo
X3JlcG9ydChzZWxmLCBlcnJvcik6CiAgICAgICAgICIiIldyaXRlIGNyYXNoIGluZm9ybWF0aW9u
LiIiIgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>