New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 608084 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: May 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

Get media_blink_unittests running on Android

Project Member Reported by w...@chromium.org, Apr 29 2016

Issue description

Currently v8 is failing to initialize because it can't find its snapshot file:

04-29 17:26:07.677 24169 24169 E ApkAssets: Error while loading asset assets/icudtl.dat: java.io.FileNotFoundException: assets/icudtl.dat
04-29 17:26:07.679 24169 24169 E ApkAssets: Error while loading asset assets/snapshot_blob_32.bin: java.io.FileNotFoundException: assets/snapshot_blob_32.bin
04-29 17:26:07.679 24169 24169 E ApkAssets: Error while loading asset assets/natives_blob_32.bin: java.io.FileNotFoundException: assets/natives_blob_32.bin
04-29 17:26:07.700 24169 24169 F chromium: [FATAL:v8_initializer.cc(300)] Couldn't mmap v8 natives data file, status code is 1

test_runner.py was warning that there was no isolate, so I added the isolate to _DEFAULT_ISOLATE_FILE_PATHS. After that the runner was pushing the snapshots to /sdcard/. But judging from the log above, they're supposed to be in the apk assets.

This seems like it's probably something simple, but I don't understand how Android unit testing works very well.

Also, do we still need .isolate files with gn? I thought setting the data = [..] variable was enough?

Steps for running it:
ninja -C out/a media_blink_unittests
CHROMIUM_OUTPUT_DIR=out/a test_runner.py gtest -s media_blink_unittests
 

Comment 1 by w...@chromium.org, Apr 29 2016

Cc: jbudorick@chromium.org
jbudorick@ any thoughts or tips for me?

Comment 2 by w...@chromium.org, May 2 2016

Ok, I'm pretty sure I don't need an isolate for the snapshots. Rather, we need to put the snapshots into the apk assets somehow.
Sorry I didn't have a chance to respond on Friday -- I'll look at this either today or tomorrow & get back to you.

Comment 4 by w...@chromium.org, May 2 2016

Thanks, I'll probably keep looking today and let you know how far I get. Just looking into how you're supposed to package assets right now, and why the //gin dep isn't automatically adding the snapshots to the assets.

Comment 5 by w...@chromium.org, May 2 2016

CL here: http://crrev.com/1938263002

I have two follow up questions that I'd appreciate your help with jbudorick:
1) Is it true that gin can't automatically export apk assets to its dependents? It seems to be the case that the "test" or "android_apk" target has to depend on the asset.
2) Is this also true of android_java targets. i.e., if test A depends on a shared_library B, and B has associated java sources B:b_java, then A has to depend on both B and B:b_java? There's no way to collect all java libraries recursively when we create the apk?
Project Member

Comment 6 by bugdroid1@chromium.org, May 3 2016

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

commit 23fff35c8f6011affb8c3025b5e4ec3e82c13bb0
Author: watk <watk@chromium.org>
Date: Tue May 03 01:40:12 2016

Get media_blink_unittests running on Android

media_blink_unittests wasn't running for a couple of reasons:
1) the v8 snapshots were not being bundled in the apk,
2) it was missing a dep on //media/base/android:media_java so it would
   fail to find media classes.

BUG= 608084 

Review-Url: https://codereview.chromium.org/1938263002
Cr-Commit-Position: refs/heads/master@{#391152}

[modify] https://crrev.com/23fff35c8f6011affb8c3025b5e4ec3e82c13bb0/media/blink/BUILD.gn
[modify] https://crrev.com/23fff35c8f6011affb8c3025b5e4ec3e82c13bb0/media/blink/run_all_unittests.cc

Comment 7 by w...@chromium.org, May 3 2016

Status: Fixed (was: Started)

Sign in to add a comment