Investigate upgrading system image for Android 4.3 emulator tests

RESOLVED WONTFIX

Status

()

Firefox for Android
Testing
RESOLVED WONTFIX
a year ago
a year ago

People

(Reporter: gbrown, Assigned: gbrown)

Tracking

(Blocks: 1 bug)

49 Branch
Points:
---

Firefox Tracking Flags

(firefox49 affected)

Details

Attachments

(1 attachment)

(Assignee)

Description

a year ago
See especially https://bugzilla.mozilla.org/show_bug.cgi?id=1254443#c10: We may be able to avoid some test crashes by upgrading the system image used in the Android 4.3 AVD used for emulator tests.

I need to create a new avd and run the full set of tests against it to see if there is an overall win.
(Assignee)

Comment 1

a year ago
I won't get to this until after the London All Hands (sorry!).
(Assignee)

Comment 2

a year ago
For https://treeherder.mozilla.org/#/jobs?repo=try&revision=d292d87c63cc, I used a new 4.3 AVD based on the existing AVD but with system.img replaced with the latest version from the SDK (API 18, rev 3). Note the persistent failures in xpcshell-3.

Logcat shows erros just like in bug 1136634:

06-23 20:54:34.549 14434 14434 I Gecko   : Attempting load of libEGL.so
06-23 20:54:34.560 14434 14434 D libEGL  : loaded /system/lib/egl/libEGL_emulation.so
06-23 20:54:34.560 14434 14434 D libEGL  : loaded /system/lib/egl/libGLESv1_CM_emulation.so
06-23 20:54:34.569 14434 14434 D libEGL  : loaded /system/lib/egl/libGLESv2_emulation.so
06-23 20:54:34.579 14434 14434 E libEGL  : dlopen("system/lib/libGLESv1_CM.so") failed: dlopen failed: library "system/lib/libGLESv1_CM.so" not found
06-23 20:54:34.579 14434 14434 F libEGL  : couldn't load system OpenGL ES wrapper libraries
06-23 20:54:34.589 14434 14434 W google-breakpad: ExceptionHandler::GenerateDump cloned child 
06-23 20:54:34.589 14434 14434 W google-breakpad: 14447
06-23 20:54:34.589 14434 14434 W google-breakpad: 
06-23 20:54:34.589 14434 14434 W google-breakpad: ExceptionHandler::SendContinueSignalToChild sent continue signal to child
06-23 20:54:34.589 14447 14447 W google-breakpad: ExceptionHandler::WaitForContinueSignal waiting for continue signal...

So we cannot use the prebuilt system.img.

Next idea: Build a newer AOSP revision and apply the fix from https://bugzilla.mozilla.org/show_bug.cgi?id=1136634#c10 again. 

SDK API 18, rev 3 prebuilt reports:

[ro.build.date]: [Thu Feb 19 00:23:24 UTC 2015]
[ro.build.description]: [sdk-eng 4.3.1 JB_MR2 1743067 test-keys]
(Assignee)

Comment 3

a year ago
(In reply to Geoff Brown [:gbrown] from comment #2)
> Next idea: Build a newer AOSP revision and apply the fix from
> https://bugzilla.mozilla.org/show_bug.cgi?id=1136634#c10 again. 

But "4.3.1 JB_MR2" should be the 4.3.1_r1 branch, which is what is already in use, and I don't see any changes to that branch since my last build. Re-building seems to just give me the same code I started with.
(Assignee)

Comment 4

a year ago
Vincent -- It looks to me like the current AVD is already using the most recent source code for 4.3.1_r1. When I update the AVD to use the 4.3 system.img from the latest Android SDK, the only difference I see is that bug 1136634 re-appears. https://treeherder.mozilla.org/#/jobs?repo=try&revision=25cfb3debe40 uses my updated AVD and enables dom/media tests: I still get mozilla::layers::GLImage::GetAsSourceSurface crashes. Are you sure about https://bugzilla.mozilla.org/show_bug.cgi?id=1254443#c10? Can you suggest anything else to try?
Flags: needinfo?(vliu)

Comment 5

a year ago
Created attachment 8768722 [details]
logs-test-mediarecorder-on-fennec.log

May I confirm something?

1. Bug 1136634 was talking about failed to load libGLESv1_CM.so library. When I tried with JB_MR2, I never see this problem.

2. When I looked into https://treeherder.mozilla.org/#/jobs?repo=try&revision=25cfb3debe40, I saw it crashed when test_mediarecorder_bitrate.html was test. From the attached log I'd saw the following bug.

tracks should be added manually to immediately and synchronously be available to JS.: '!mStream->mTracks.IsEmpty()', file /Volumes/firefoxos/android-build/dom/media/DOMMediaStream.cpp, line 152
F/MOZ_Assert( 2175): Assertion failure: NS_IsMainThread() (Should be on the main thread), at /Volumes/firefoxos/android-build/gfx/layers/GLImages.cpp:51

   It is more likely relative to bug 1272877. Simply said, in current design, we can't call [1] in non-main thread.

   http://searchfox.org/mozilla-central/source/gfx/layers/GLImages.cpp#51
Flags: needinfo?(vliu)
(Assignee)

Comment 6

a year ago
I added xpcshell tests to https://treeherder.mozilla.org/#/jobs?repo=try&revision=25cfb3debe40; now you can see the library loading failure in X3, from the logcat:

07-07 07:29:59.184 14644 14644 I Gecko   : Attempting load of libEGL.so
07-07 07:29:59.204 14644 14644 D libEGL  : loaded /system/lib/egl/libEGL_emulation.so
07-07 07:29:59.214 14644 14644 D libEGL  : loaded /system/lib/egl/libGLESv1_CM_emulation.so
07-07 07:29:59.235 14644 14644 D libEGL  : loaded /system/lib/egl/libGLESv2_emulation.so
07-07 07:29:59.255 14644 14644 E libEGL  : dlopen("system/lib/libGLESv1_CM.so") failed: dlopen failed: library "system/lib/libGLESv1_CM.so" not found
07-07 07:29:59.255 14644 14644 F libEGL  : couldn't load system OpenGL ES wrapper libraries
07-07 07:29:59.264 14644 14644 W google-breakpad: ExceptionHandler::GenerateDump cloned child 
07-07 07:29:59.264 14644 14644 W google-breakpad: 14658
(Assignee)

Comment 7

a year ago
New try pushes, with test_mediarecorder_bitrate skipped:

Current AVD:     https://treeherder.mozilla.org/#/jobs?repo=try&revision=36a914dde0d9
New, JB_MR2 AVD: https://treeherder.mozilla.org/#/jobs?repo=try&revision=6c60aee1d5e8
(Assignee)

Comment 8

a year ago
I don't think we should make any changes here. I am pretty sure that the 4.3 image that we currently use is based on the latest 4.3 code available; it should be identical to the JB_MR2 pre-built image for Android sdk 18 rev 3, except for the fix for bug 1136634, which I think is still relevant.

In my try pushes, I don't see any benefit to changing the image. Also, without the fix for bug 1136634, those xpcshell test failures are hit.
Status: NEW → RESOLVED
Last Resolved: a year ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.