New issue
Advanced search Search tips

Issue 848494 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: 2018-06-05
OS: Android
Pri: 1
Type: Task
Q2

Blocking:
issue 819305



Sign in to add a comment

[Feed] Get multi-dex vr tests working with Feed lib integration

Project Member Reported by s...@chromium.org, May 31 2018

Issue description

When integrating with the feed library, we add ~2000 methods to the apk. This previous pushed chrome_public_test_vr_apk over 64K and we enabled multidex. See https://chromium-review.googlesource.com/c/chromium/src/+/1061624

However, things still seem broken. When running the tests on KitKat devices, using Dalvik, with obfuscation enabled, we see the following exception

W/dalvikvm(22332): VFY:  rejecting opcode 0x6e at 0x0027
W/dalvikvm(22332): VFY:  rejected Lorg/chromium/net/NetworkChangeNotifierAutoDetect;.b ()V
W/dalvikvm(22332): Verifier rejected class Lorg/chromium/net/NetworkChangeNotifierAutoDetect;
W/System.err(22332): java.lang.VerifyError: org/chromium/net/NetworkChangeNotifierAutoDetect
W/System.err(22332): 	at org.chromium.content.browser.BackgroundSyncNetworkObserver.createObserver(PG:1084)
W/System.err(22332): 	at org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
W/System.err(22332): 	at org.chromium.base.SystemMessageHandler.handleMessage(PG:51)
W/System.err(22332): 	at android.os.Handler.dispatchMessage(Handler.java:102)
W/System.err(22332): 	at android.os.Looper.loop(Looper.java:136)
W/System.err(22332): 	at android.app.ActivityThread.main(ActivityThread.java:5001)
W/System.err(22332): 	at java.lang.reflect.Method.invokeNative(Native Method)
W/System.err(22332): 	at java.lang.reflect.Method.invoke(Method.java:515)
W/System.err(22332): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
W/System.err(22332): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
W/System.err(22332): 	at dalvik.system.NativeStart.main(Native Method)

https://www.google.com/url?q=https://luci-logdog.appspot.com/v/?s%3Dchromium%252Fandroid%252Fswarming%252Flogcats%252F3dcb3d6f4cb1b311%252F%252B%252Flogcat_logcat_org.chromium.chrome.browser.vr_shell.VrShellTransitionTest.test2dtoVrShellNfcUnsupported_20180530T192511-UTC_06c05dc8003bb082&sa=D&source=hangouts&ust=1527893324905000&usg=AFQjCNFmKTggBvAwX59gkmP5pAv27GpTxw
 
Blocking: 819305
Labels: -KR-Core-M3-API KR-Render-Zine-Feed
Is this fixed by the proguard flag to use the output mapping from one run as an input to the other, or are we still looking for a full solution?

A quick note on labels - I believe we don't assign size estimates to bugs, only tasks. I don't know this is explicitly called out in go/chrome-jardin-dev-process, but maybe it should be.

Comment 2 by s...@chromium.org, Jun 1 2018

Well, we've spent a significant amount of time investigating this issue, I figured it made sense to track that effort somehow. What do you think of making it a task and keeping the size estimate?

I'm not sure if this fully fixes the problem, looks like the DEPS roll sneaked in and broke compilation for all my trybot runs. Rebasing and re-running trybots now.
> What do you think of making it a task and keeping the size estimate?

Sure, that works too :) Maybe with a less bug-sounding title like "Get multi-dex vr tests working with Feed lib integration"


Or we could make issue 819305 a "large" task. 

Comment 4 by s...@chromium.org, Jun 1 2018

Labels: -Type-Bug Type-Task
Summary: [Feed] Get multi-dex vr tests working with Feed lib integration (was: [Feed] chrome_public_test_vr_apk fails when integrating feed library)
The NextAction date has arrived: 2018-06-05

Comment 6 by s...@chromium.org, Jun 5 2018

Hopefully the fix for this will land today https://chromium-review.googlesource.com/c/chromium/src/+/1082010/10
Project Member

Comment 7 by bugdroid1@chromium.org, Jun 5 2018

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

commit a6d07817d030567d4faa254bebebd2f0e05076e3
Author: Andrew Grieve <agrieve@chromium.org>
Date: Tue Jun 05 16:58:46 2018

android: Use -applymapping for test apks when proguard is enabled

Seeing VerifyError on Dalvik that seems to be triggered by proguard
obfuscation on multidex test apks. It's really just a guess that this
will fix them...

Also - stop -keep'ing all enums in tests (I don't see other projects
doing this and I can't see why we'd need to).

Also also - Stop writing .json metadata in proguard.py. These were
replaced by .build_config and are no longer used.

TBR=yfriedman  # For .flags change

Bug:  848494 
Change-Id: I96fc1f9619e71c37458e4b7401f0b13ced18cfbc
Reviewed-on: https://chromium-review.googlesource.com/1082010
Commit-Queue: agrieve <agrieve@chromium.org>
Reviewed-by: Sky Malice <skym@chromium.org>
Reviewed-by: Peter Wen <wnwen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564544}
[modify] https://crrev.com/a6d07817d030567d4faa254bebebd2f0e05076e3/build/android/gyp/proguard.py
[modify] https://crrev.com/a6d07817d030567d4faa254bebebd2f0e05076e3/build/android/gyp/util/proguard_util.py
[modify] https://crrev.com/a6d07817d030567d4faa254bebebd2f0e05076e3/build/android/gyp/write_build_config.py
[modify] https://crrev.com/a6d07817d030567d4faa254bebebd2f0e05076e3/build/config/android/internal_rules.gni
[modify] https://crrev.com/a6d07817d030567d4faa254bebebd2f0e05076e3/build/config/android/rules.gni
[modify] https://crrev.com/a6d07817d030567d4faa254bebebd2f0e05076e3/chrome/android/BUILD.gn
[add] https://crrev.com/a6d07817d030567d4faa254bebebd2f0e05076e3/chrome/android/java/apk_for_test.flags

Comment 8 by s...@chromium.org, Jun 5 2018

Status: Fixed (was: Started)
Project Member

Comment 9 by bugdroid1@chromium.org, Jul 4

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

commit 9984a6b923b1549d93f700aadd48dd4ddcc4dffc
Author: Takuto Ikuta <tikuta@chromium.org>
Date: Wed Jul 04 03:30:26 2018

Remove apk_under_test dependency from proguard

This is partial revert of
https://chromium-review.googlesource.com/1082010

This improves build parallelism and remove around 5 mins from compile step on android builders in some cases.

Bug:  848494 
Change-Id: I2d51decd25125e3cfb3e036e142925dfe9358512
Reviewed-on: https://chromium-review.googlesource.com/1121670
Commit-Queue: Takuto Ikuta <tikuta@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#572461}
[modify] https://crrev.com/9984a6b923b1549d93f700aadd48dd4ddcc4dffc/build/config/android/rules.gni

Project Member

Comment 10 by bugdroid1@chromium.org, Aug 2

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

commit cc004c7f588c13626ee7dc640e4ac922a6c60a99
Author: Aldo Culquicondor <acondor@chromium.org>
Date: Thu Aug 02 14:50:02 2018

VR: Add a controller delegate for VrShellGl

A controller delegate is responsible for updating the controller, detect
gestures and produce a model to be sent to the Ui. This CL introduces 2
delegates for VrShellGl, one for production and one for testing.

This is the first step on a major refactoring on which VrShellGl
disappears in favor of a cross platform RenderLoop, composed of platform
specific delegates for each of its functions.

A revert to https://crrev.com/c/1121670 was needed to get the
chrome_public_test_vr_apk built properly.

Bug:  767282 ,  848494 
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:linux_vr;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel
Change-Id: Ib68f975ce4e5e39fc7ebb5cf386b400f48039f4e
Reviewed-on: https://chromium-review.googlesource.com/1151623
Reviewed-by: agrieve <agrieve@chromium.org>
Reviewed-by: Amirhossein Simjour <asimjour@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Bill Orr <billorr@chromium.org>
Commit-Queue: Aldo Culquicondor <acondor@chromium.org>
Cr-Commit-Position: refs/heads/master@{#580178}
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/build/config/android/rules.gni
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/android/javatests/src/org/chromium/chrome/browser/vr/VrBrowserDialogTest.java
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/android/vr/BUILD.gn
[add] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/android/vr/controller_delegate_for_testing.cc
[add] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/android/vr/controller_delegate_for_testing.h
[add] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/android/vr/gvr_controller_delegate.cc
[add] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/android/vr/gvr_controller_delegate.h
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/android/vr/vr_controller.cc
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/android/vr/vr_controller.h
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/android/vr/vr_shell_gl.cc
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/android/vr/vr_shell_gl.h
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/vr/BUILD.gn
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/vr/DEPS
[add] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/vr/controller_delegate.h
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/vr/model/controller_model.h
[add] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/vr/render_loop.cc
[add] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/vr/render_loop.h
[add] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/vr/test/constants.cc
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/vr/test/constants.h
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/vr/ui.cc
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/vr/ui.h
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/vr/ui_interface.h
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/vr/ui_pixeltest.cc
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/vr/ui_test_input.cc
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/vr/ui_unittest.cc
[modify] https://crrev.com/cc004c7f588c13626ee7dc640e4ac922a6c60a99/chrome/browser/vr/vr_geometry_util_unittest.cc

Sign in to add a comment