WebKit Android Nexus4 builder failed with UnicodeDecodeError |
||||
Issue descriptionhttps://uberchromegw.corp.google.com/i/chromium.webkit/builders/WebKit%20Android%20%28Nexus4%29/builds/59247/steps/webkit_tests/logs/stdio Here this happened towards the end: 05:06:15.831 19787 worker/1: UnicodeDecodeError(''ascii' codec can't decode byte 0xd0 in position 166: ordinal not in range(128)') raised: 05:06:15.831 19787 File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/common/message_pool.py", line 256, in run 05:06:15.831 19787 worker.handle(message.name, message.src, *message.args) 05:06:15.831 19787 File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 258, in handle 05:06:15.831 19787 device_failed = self._run_test(test_input, test_list_name) 05:06:15.831 19787 File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py", line 294, in _run_test 05:06:15.831 19787 stop_when_done) 05:06:15.831 19787 File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py", line 52, in run_single_test 05:06:15.831 19787 return runner.run() 05:06:15.831 19787 File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py", line 146, in run 05:06:15.831 19787 return self._run_compare_test() 05:06:15.831 19787 File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py", line 163, in _run_compare_test 05:06:15.831 19787 driver_output = self._driver.run_test(self._driver_input(), self._stop_when_done) 05:06:15.831 19787 File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/driver.py", line 196, in run_test 05:06:15.831 19787 self.error_from_test, crash_log = self._get_crash_log(text, self.error_from_test, newer_than=start_time) 05:06:15.831 19787 File "/b/c/b/WebKit_Android__Nexus4_/src/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/android.py", line 895, in _get_crash_log 05:06:15.831 19787 stdout.encode('utf8', 'replace'), It looks like this is in an error handling code path and not the root cause of failure, but it probably means that logs aren't being uploaded. It's gone now because there was a successful build after it, but I think that https://sheriff-o-matic.appspot.com/chromium said "No test result data available", likely caused by this.
,
Jan 11 2017
,
Jan 12 2017
Pretty sure this was triggered by some of my work over in https://bugs.chromium.org/p/chromium/issues/detail?id=567947.
,
Jan 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f7be987d1b081aa826af6d842e27608dd47a7cff commit f7be987d1b081aa826af6d842e27608dd47a7cff Author: jbudorick <jbudorick@chromium.org> Date: Fri Jan 13 18:34:20 2017 [Android] Stop using universal_newlines in the layout tests server constructor. This had previously been necessary when spawning adb instances with the server constructor, as adb mangles newlines. Starting with https://codereview.chromium.org/2540603004/, the android port no longer spins up adb shells with the server constructor, so we no longer need to use universal_newlines. This also means we no longer need to encode crash streams back into bytes from text, as they're not converted to text in the first place. BUG= 679723 , 496983 Review-Url: https://codereview.chromium.org/2629113005 Cr-Commit-Position: refs/heads/master@{#443621} [modify] https://crrev.com/f7be987d1b081aa826af6d842e27608dd47a7cff/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/android.py [modify] https://crrev.com/f7be987d1b081aa826af6d842e27608dd47a7cff/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/server_process.py [modify] https://crrev.com/f7be987d1b081aa826af6d842e27608dd47a7cff/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/server_process_mock.py
,
Jan 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5489020f1edea26f4256621b874afebf7425fdf0 commit 5489020f1edea26f4256621b874afebf7425fdf0 Author: jbudorick <jbudorick@chromium.org> Date: Fri Jan 13 22:10:04 2017 Revert of [Android] Stop using universal_newlines in the layout tests server constructor. (patchset #2 id:20001 of https://codereview.chromium.org/2629113005/ ) Reason for revert: https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Android%20%28Nexus4%29/builds/59416 Original issue's description: > [Android] Stop using universal_newlines in the layout tests server constructor. > > This had previously been necessary when spawning adb instances with the > server constructor, as adb mangles newlines. Starting with > https://codereview.chromium.org/2540603004/, the android port no longer > spins up adb shells with the server constructor, so we no longer need to > use universal_newlines. This also means we no longer need to encode crash > streams back into bytes from text, as they're not converted to text in the > first place. > > BUG= 679723 , 496983 > > Review-Url: https://codereview.chromium.org/2629113005 > Cr-Commit-Position: refs/heads/master@{#443621} > Committed: https://chromium.googlesource.com/chromium/src/+/f7be987d1b081aa826af6d842e27608dd47a7cff TBR=qyearsley@chromium.org,jeffcarp@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= 679723 , 496983 Review-Url: https://codereview.chromium.org/2631743003 Cr-Commit-Position: refs/heads/master@{#443693} [modify] https://crrev.com/5489020f1edea26f4256621b874afebf7425fdf0/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/android.py [modify] https://crrev.com/5489020f1edea26f4256621b874afebf7425fdf0/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/server_process.py [modify] https://crrev.com/5489020f1edea26f4256621b874afebf7425fdf0/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/server_process_mock.py
,
Jan 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/078991c0a621513fe78bde8822c7bc9f309e688d commit 078991c0a621513fe78bde8822c7bc9f309e688d Author: jbudorick <jbudorick@chromium.org> Date: Sat Jan 14 02:20:03 2017 [Android] Stop using universal_newlines in the layout tests server constructor. (RELAND) This had previously been necessary when spawning adb instances with the server constructor, as adb mangles newlines. Starting with https://codereview.chromium.org/2540603004/, the android port no longer spins up adb shells with the server constructor, so we no longer need to use universal_newlines. This also means we no longer need to encode crash streams back into bytes from text, as they're not converted to text in the first place. This is a reland of https://codereview.chromium.org/2629113005/ BUG= 679723 , 496983 TEST=fast/dom/shadow/gesture-tap-mouseup-listener-update-distribution-crash.html, which consistently crashes on android Review-Url: https://codereview.chromium.org/2633753003 Cr-Commit-Position: refs/heads/master@{#443771} [modify] https://crrev.com/078991c0a621513fe78bde8822c7bc9f309e688d/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/android.py [modify] https://crrev.com/078991c0a621513fe78bde8822c7bc9f309e688d/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/base.py [modify] https://crrev.com/078991c0a621513fe78bde8822c7bc9f309e688d/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/server_process.py [modify] https://crrev.com/078991c0a621513fe78bde8822c7bc9f309e688d/third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/server_process_mock.py
,
Jan 18 2017
|
||||
►
Sign in to add a comment |
||||
Comment 1 by foolip@chromium.org
, Jan 10 2017It's odd that the UnicodeDecodeError mentions 'ascii' when it looks like the code in question is trying to encode with 'utf8' with error handling ('replace') so that errors shouldn't be possible, at least not if stdout is a string. +dpranke@ who last touched that stdout.encode('utf8', 'replace') line.