New issue
Advanced search Search tips

Issue 824539 link

Starred by 5 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Blocking:
issue 790265



Sign in to add a comment

WebKit Android bots aren't running any layout tests (but still green)

Project Member Reported by robertma@chromium.org, Mar 21 2018

Issue description

The WebKit Android bot and the android_blink_rel trybot aren't running any layout tests recently (not sure when it started).

Example:
https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Android%20%28Nexus4%29/75588

Looks like content_shell.apk is crashing on Android (JNI?):

03-21 22:16:30.887  9843  9843 W System.err: java.lang.ClassNotFoundException: Didn't find class "org.chromium.base.test.util.UrlUtils" on path: DexPathList[[zip file "/data/app/org.chromium.content_shell_apk-1.apk", zip file "/data/data/org.chromium.content_shell_apk/code_cache/secondary-dexes/org.chromium.content_shell_apk-1.apk.classes2.zip"],nativeLibraryDirectories=[/data/app-lib/org.chromium.content_shell_apk-1, /vendor/lib, /system/lib]]
...
03-21 22:16:30.897  9843  9843 F chromium: [9843:9843:0321/221630.896992:FATAL:jni_android.cc(139)] Failed to find class org/chromium/base/test/util/UrlUtils


We need to:
1. Fix the content_shell crash on Android.
2. Make the webkit_tests step red when no tests run.
 
@jbudorick, IIRC you worked on some Android layout test stuff. Could you help triage or redirect this issue? Thanks!

Comment 3 by danyao@chromium.org, Mar 26 2018

Owner: jbudorick@chromium.org
Status: Assigned (was: Untriaged)
Ping, I can't run Android layout tests locally either.
Status: Started (was: Assigned)
multiple bugs here, it seems.

1) Failure to run anything isn't being reported as a failure.
2) UrlUtils is used but isn't present in ContentShell.apk. Pretty straightforward fix.
3) A recent startup change (https://chromium.googlesource.com/chromium/src/+/f19a89e87d1a31d64987e76d161b1b8b59b9a87a) means we're now creating the browser main thread's MessageLoop before ScopedAndroidConfiguration gets a chance to call InitMessagePumpForUIFactory (https://codesearch.chromium.org/chromium/src/content/shell/browser/layout_test/scoped_android_configuration.cc?rcl=7287e22585babb2143b7bfadd4363695b4103785&l=133)
4) A recent change to the layout test loop quit logic (https://chromium.googlesource.com/chromium/src/+/7d3eb016cc02f4e66c6f9bf6b05793f46d907b4a) left Android attempting to run a null OnceClosure in Shell::QuitMainMessageLoopForTesting (https://codesearch.chromium.org/chromium/src/content/shell/browser/shell.cc?rcl=a5adc4ec6539ec4f94986f0a0ba13108eaa218e3&l=190)

I've got a CL up that addresses 2-4 (and will address 1 before I publish it) and attempts to move the suite to android-kitkat-arm-rel, where it'll run on swarming.
5) An even more recent change to Shell destruction (https://chromium.googlesource.com/chromium/src/+/f3d07b7ae4d87eee2f8c80958626391dfc91c5f8) left ShellManager in a broken state after a test completed, leaving subsequent tests to fail.
 Issue 860179  has been merged into this issue.
This was reported in  issue 860179  as well, possible more clues there. jbudorick@, are you still working on this, any progress to report?
 Issue 864948  has been merged into this issue.
#10: the issue reported there is #2 from comment 6. the issue reported in 864948 will be #6 once I'm sure of where the fix is going. I've tried adding

  gfx::Size(width, height);
  web_contents_->GetNativeView()->OnPhysicalBackingSizeChanged(size);

to WebContentsAndroid::SetSize (https://codesearch.chromium.org/chromium/src/content/browser/web_contents/web_contents_android.cc?rcl=2b31de169e783260c9e2fbaea295b39ae808fbf9&l=744), which resolved the crash but wound up w/ the tests that had been crashing on pixel dump instead failing due to having a slightly different layout? (widths were a bit too large, and one of the layers wound up with an extra clip and backgroundClip)
Wound up fixing the issue described in #12 by removing the #if defined(OS_ANDROID) in blink_test_controller (https://codesearch.chromium.org/chromium/src/content/shell/browser/layout_test/blink_test_controller.cc?rcl=271eaf50594eb818c9295dc78d364aea18c82ea8&l=403) because we were always resizing the RenderWidget at least twice, once without a compositor size.

Current batch of fixes now on review: https://chromium-review.googlesource.com/c/chromium/src/+/1120431

Still quite a few tests failing, but they're "only" w/ text and image diffs, not because they crash, so... progress?
Project Member

Comment 14 by bugdroid1@chromium.org, Jul 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d07b639cf458488bf701bd5d93801026cee928d6

commit d07b639cf458488bf701bd5d93801026cee928d6
Author: John Budorick <jbudorick@chromium.org>
Date: Sun Jul 29 22:51:33 2018

Group layout tests by argument sets and revise chunking logic.

This CL:
 - groups layout tests by argument sets to reduce the number of driver
   restarts required when running tests w/ shards that include multiple
   argument sets.
 - updates chunking logic to match that used by //base/test/launcher,
   which should ensure consistent chunking across all swarming shards
   and ensure stable chunking given consistent chunk parameters.
 - fixes a small bug in http server execution and teardown.

Split from https://chromium-review.googlesource.com/c/chromium/src/+/1120431

Bug: 824539
Change-Id: Ic1a2ab34f38e8d4c15784977de792314d106e484
Reviewed-on: https://chromium-review.googlesource.com/1149418
Commit-Queue: John Budorick <jbudorick@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578955}
[modify] https://crrev.com/d07b639cf458488bf701bd5d93801026cee928d6/third_party/blink/tools/blinkpy/web_tests/controllers/layout_test_finder.py
[modify] https://crrev.com/d07b639cf458488bf701bd5d93801026cee928d6/third_party/blink/tools/blinkpy/web_tests/controllers/layout_test_finder_unittest.py
[modify] https://crrev.com/d07b639cf458488bf701bd5d93801026cee928d6/third_party/blink/tools/blinkpy/web_tests/controllers/layout_test_runner.py
[modify] https://crrev.com/d07b639cf458488bf701bd5d93801026cee928d6/third_party/blink/tools/blinkpy/web_tests/controllers/manager.py
[modify] https://crrev.com/d07b639cf458488bf701bd5d93801026cee928d6/third_party/blink/tools/blinkpy/web_tests/controllers/single_test_runner.py
[modify] https://crrev.com/d07b639cf458488bf701bd5d93801026cee928d6/third_party/blink/tools/blinkpy/web_tests/models/test_expectations.py
[modify] https://crrev.com/d07b639cf458488bf701bd5d93801026cee928d6/third_party/blink/tools/blinkpy/web_tests/port/android.py
[modify] https://crrev.com/d07b639cf458488bf701bd5d93801026cee928d6/third_party/blink/tools/blinkpy/web_tests/port/base.py
[modify] https://crrev.com/d07b639cf458488bf701bd5d93801026cee928d6/third_party/blink/tools/blinkpy/web_tests/run_webkit_tests_unittest.py
[modify] https://crrev.com/d07b639cf458488bf701bd5d93801026cee928d6/third_party/blink/tools/blinkpy/web_tests/servers/apache_http.py

Project Member

Comment 15 by bugdroid1@chromium.org, Jul 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7732d4d0afcd71f550e351bbc368d49f12aa1f72

commit 7732d4d0afcd71f550e351bbc368d49f12aa1f72
Author: John Budorick <jbudorick@chromium.org>
Date: Mon Jul 30 19:02:54 2018

Fix many android layout test bugs.

They've bitrotten quite a bit :(

Bug:  853040 ,824539
Change-Id: I5127a984e7a92a7fc74cd57b9f5945f3abe7c5f6
Reviewed-on: https://chromium-review.googlesource.com/1120431
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Peter Beverloo <peter@chromium.org>
Commit-Queue: John Budorick <jbudorick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#579108}
[modify] https://crrev.com/7732d4d0afcd71f550e351bbc368d49f12aa1f72/base/test/BUILD.gn
[modify] https://crrev.com/7732d4d0afcd71f550e351bbc368d49f12aa1f72/content/public/test/nested_message_pump_android.h
[modify] https://crrev.com/7732d4d0afcd71f550e351bbc368d49f12aa1f72/content/shell/android/BUILD.gn
[modify] https://crrev.com/7732d4d0afcd71f550e351bbc368d49f12aa1f72/content/shell/android/java/src/org/chromium/content_shell/ShellManager.java
[modify] https://crrev.com/7732d4d0afcd71f550e351bbc368d49f12aa1f72/content/shell/app/shell_main_delegate.cc
[modify] https://crrev.com/7732d4d0afcd71f550e351bbc368d49f12aa1f72/content/shell/browser/layout_test/blink_test_controller.cc
[modify] https://crrev.com/7732d4d0afcd71f550e351bbc368d49f12aa1f72/content/shell/browser/layout_test/layout_test_browser_main.cc
[modify] https://crrev.com/7732d4d0afcd71f550e351bbc368d49f12aa1f72/content/shell/browser/layout_test/scoped_android_configuration.cc
[modify] https://crrev.com/7732d4d0afcd71f550e351bbc368d49f12aa1f72/content/shell/browser/shell.cc
[modify] https://crrev.com/7732d4d0afcd71f550e351bbc368d49f12aa1f72/testing/buildbot/chromium.android.json
[modify] https://crrev.com/7732d4d0afcd71f550e351bbc368d49f12aa1f72/testing/buildbot/test_suite_exceptions.pyl
[modify] https://crrev.com/7732d4d0afcd71f550e351bbc368d49f12aa1f72/testing/buildbot/waterfalls.pyl
[modify] https://crrev.com/7732d4d0afcd71f550e351bbc368d49f12aa1f72/third_party/WebKit/LayoutTests/TestExpectations

Project Member

Comment 16 by bugdroid1@chromium.org, Jul 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f8f625a71df73e3f426068c352e3ece1e094a158

commit f8f625a71df73e3f426068c352e3ece1e094a158
Author: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
Date: Tue Jul 31 11:50:21 2018

Mark some Android layout tests as crashing post #579108

Commit 7732d4d0a ("Fix many android layout test bugs") marked some layout
tests as failing on Android. It turns out some of them are actually crashing
on android_blink_rel, and preventing new WPT imports because rebaseline-cl
tries to add duplicate expectations to TestExpectations.

Use the results from
https://ci.chromium.org/buildbot/tryserver.chromium.android/android_blink_rel/7107
to update the list.

TBR=jbudorick@chromium.org
NOTRY=True

Bug: 824539
Change-Id: I4bd46d9fdc0b3c7e75b6c91ac10792fadef1eab7
Reviewed-on: https://chromium-review.googlesource.com/1156505
Reviewed-by: Raphael Kubo da Costa (CET) <raphael.kubo.da.costa@intel.com>
Commit-Queue: Raphael Kubo da Costa (CET) <raphael.kubo.da.costa@intel.com>
Cr-Commit-Position: refs/heads/master@{#579373}
[modify] https://crrev.com/f8f625a71df73e3f426068c352e3ece1e094a158/third_party/WebKit/LayoutTests/TestExpectations

Any updates on this? This is blocking Webkit Android builder migration to LUCI (crbug/790265)
Blocking: 790265
Project Member

Comment 19 by bugdroid1@chromium.org, Oct 3

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5c3bd203f58f35d0f0a2194988dc12e43f2dddb0

commit 5c3bd203f58f35d0f0a2194988dc12e43f2dddb0
Author: John Budorick <jbudorick@chromium.org>
Date: Wed Oct 03 23:41:42 2018

Make the layout tests non-experimental on K Phone Tester (dbg)

Bug: 790265,824539
Change-Id: Ic34ea3ae7f2aa3221edb436ed443a7c943cc1d43
Reviewed-on: https://chromium-review.googlesource.com/c/1260202
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Commit-Queue: John Budorick <jbudorick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#596427}
[modify] https://crrev.com/5c3bd203f58f35d0f0a2194988dc12e43f2dddb0/testing/buildbot/chromium.android.json
[modify] https://crrev.com/5c3bd203f58f35d0f0a2194988dc12e43f2dddb0/testing/buildbot/test_suite_exceptions.pyl

Sign in to add a comment