New issue
Advanced search Search tips

Issue 679723 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

WebKit Android Nexus4 builder failed with UnicodeDecodeError

Project Member Reported by foolip@chromium.org, Jan 10 2017

Issue description

https://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.
 

Comment 1 by foolip@chromium.org, Jan 10 2017

Cc: dpranke@chromium.org
It'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.
Components: -Infra Blink>Infra Infra>Client>Android
Owner: jbudorick@chromium.org
Status: Started (was: Untriaged)
Pretty sure this was triggered by some of my work over in https://bugs.chromium.org/p/chromium/issues/detail?id=567947.
Project Member

Comment 4 by bugdroid1@chromium.org, 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

Project Member

Comment 5 by bugdroid1@chromium.org, 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

Project Member

Comment 6 by bugdroid1@chromium.org, 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

Status: Fixed (was: Started)

Sign in to add a comment