Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update GStreamer binaries for Android. Include required codecs #21864

Merged
merged 1 commit into from Nov 5, 2018

Conversation

@ferjm
Copy link
Member

ferjm commented Oct 3, 2018

  • ./mach build -d does not report any errors
  • ./mach test-tidy does not report any errors

This should finally work for both armv7 and x86. I moved the binaries from Github to S3.


This change is Reviewable

@highfive
Copy link

highfive commented Oct 3, 2018

Heads up! This PR modifies the following files:

@ferjm
Copy link
Member Author

ferjm commented Oct 3, 2018

@bors-servo
Copy link
Contributor

bors-servo commented Oct 3, 2018

Trying commit d303d79 with merge 55262b6...

bors-servo added a commit that referenced this pull request Oct 3, 2018
Update GStreamer binaries for Android. Include required codecs

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

This should finally work for both armv7 and x86.

I moved the binaries from Github to S3. I also updated the build scripts and [documented the workaround for the issue](servo/libgstreamer_android_gen@da2d89a) that I was hitting when building for x86.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21864)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Oct 3, 2018

💔 Test failed - status-taskcluster

@SimonSapin
Copy link
Member

SimonSapin commented Oct 3, 2018

error: failed to run custom build command for `servo-media-gstreamer v0.1.0 (https://github.com/servo/media#e700a083)`
process didn't exit successfully: `/repo/target/release/build/servo-media-gstreamer-c45c9a207b7ec1ad/build-script-build` (exit code: 101)
--- stderr
--2018-10-03 13:06:21--  https://github.com/servo/libgstreamer_android_gen/blob/master/out/gst-build-armeabi-v7a.zip?raw=true
Resolving github.com (github.com)... 192.30.255.112, 192.30.255.113
Connecting to github.com (github.com)|192.30.255.112|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
@SimonSapin
Copy link
Member

SimonSapin commented Oct 3, 2018

#21863 also failed its android-x86 job with:

Downloading GStreamer dependencies
Error running mach:

    ['build', '--target', 'i686-linux-android', '--release']

The error occurred in the implementation of the invoked mach command.

This should never occur and is likely a bug in the implementation of that
command. Consider filing a bug for this issue.

If filing a bug, please include the full output of mach, including this error
message.

The details of the failure are as follows:

OSError: [Errno 2] No such file or directory: '/home/servo/buildbot/slave/android-x86/build/target/gstreamer/gst-build-x86/pkgconfig'

  File "/home/servo/buildbot/slave/android-x86/build/python/servo/build_commands.py", line 436, in build
    for each in os.listdir(pkg_config_path):
@bors-servo
Copy link
Contributor

bors-servo commented Oct 3, 2018

The latest upstream changes (presumably #21865) made this pull request unmergeable. Please resolve the merge conflicts.

@ferjm ferjm force-pushed the ferjm:android.gst.binaries.update branch from d303d79 to d7e9437 Oct 8, 2018
@highfive highfive removed the S-tests-failed label Oct 8, 2018
@ferjm ferjm force-pushed the ferjm:android.gst.binaries.update branch from d7e9437 to 4780876 Oct 8, 2018
@ferjm
Copy link
Member Author

ferjm commented Oct 8, 2018

@bors-servo
Copy link
Contributor

bors-servo commented Oct 8, 2018

Trying commit 4780876 with merge 7b13415...

bors-servo added a commit that referenced this pull request Oct 8, 2018
Update GStreamer binaries for Android. Include required codecs

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

This should finally work for both armv7 and x86.

I moved the binaries from Github to S3. I also updated the build scripts and [documented the workaround for the issue](servo/libgstreamer_android_gen@da2d89a) that I was hitting when building for x86.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21864)
<!-- Reviewable:end -->
@ferjm ferjm removed the S-needs-rebase label Oct 8, 2018
@bors-servo
Copy link
Contributor

bors-servo commented Oct 8, 2018

💔 Test failed - android

@ferjm
Copy link
Member Author

ferjm commented Oct 8, 2018

@bors-servo retry

@bors-servo
Copy link
Contributor

bors-servo commented Oct 8, 2018

Trying commit 4780876 with merge c951f6c...

bors-servo added a commit that referenced this pull request Oct 8, 2018
Update GStreamer binaries for Android. Include required codecs

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

This should finally work for both armv7 and x86.

I moved the binaries from Github to S3. I also updated the build scripts and [documented the workaround for the issue](servo/libgstreamer_android_gen@da2d89a) that I was hitting when building for x86.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21864)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Oct 8, 2018

💔 Test failed - mac-rel-wpt1

@jdm
Copy link
Member

jdm commented Oct 8, 2018

That was caused by me messing with that builder to deploy servo/saltfs#898. The other mac builds were fine.

@ferjm
Copy link
Member Author

ferjm commented Oct 8, 2018

@highfive highfive assigned SimonSapin and unassigned asajeffrey Oct 8, 2018
@SimonSapin
Copy link
Member

SimonSapin commented Oct 30, 2018

My Unicode-in-Python-2 must be… rusty. I’m honestly confused why we get a decode error in encode() called by the write() method of what should be a byte stream, called with what should be bytes.

@highfive highfive removed the S-tests-failed label Nov 2, 2018
@ferjm
Copy link
Member Author

ferjm commented Nov 2, 2018

@bors-servo try=android

@bors-servo
Copy link
Contributor

bors-servo commented Nov 2, 2018

Trying commit 66d6dd7 with merge 73b02b2...

bors-servo added a commit that referenced this pull request Nov 2, 2018
Update GStreamer binaries for Android. Include required codecs

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

This should finally work for both armv7 and x86. I moved the binaries from Github to S3.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21864)
<!-- Reviewable:end -->
@ferjm
Copy link
Member Author

ferjm commented Nov 2, 2018

@bors-servo try=android

@bors-servo
Copy link
Contributor

bors-servo commented Nov 2, 2018

Trying commit 203fb1d with merge 51480ed...

bors-servo added a commit that referenced this pull request Nov 2, 2018
Update GStreamer binaries for Android. Include required codecs

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

This should finally work for both armv7 and x86. I moved the binaries from Github to S3.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21864)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Nov 2, 2018

💔 Test failed - android-x86

@ferjm
Copy link
Member Author

ferjm commented Nov 2, 2018

I managed to reproduce the issue locally by regenerating the binaries again (I am not sure why I wasn't able to reproduce it before... :). I got this from the logcat:

"/data/app/org.mozilla.servo-nOOw72Qz41OjUAUw_uVE7g==/lib/x86/libgstreamer_android.so" has text relocations (https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md#Text-Relocations-Enforced-for-API-level-23)
--------- beginning of crash
FATAL EXCEPTION: GLThread 285
Process: org.mozilla.servo, PID: 4791
java.lang.UnsatisfiedLinkError: dlopen failed: "/data/app/org.mozilla.servo-nOOw72Qz41OjUAUw_uVE7g==/lib/x86/libgstreamer_android.so" has text relocations (https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md#Text-Relocations-Enforced-for-API-level-23)
	at java.lang.Runtime.loadLibrary0(Runtime.java:1016)
	at java.lang.System.loadLibrary(System.java:1669)
	at org.mozilla.servoview.JNIServo.<init>(JNIServo.java:17)
	at org.mozilla.servoview.Servo.<init>(Servo.java:22)
	at org.mozilla.servoview.ServoView.lambda$onGLReady$1$ServoView(ServoView.java:152)
	at org.mozilla.servoview.ServoView$$Lambda$1.run(Unknown Source:4)
	at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1500)
	at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)
  Force finishing activity org.mozilla.servo/.MainActivity

Which lead me to this known and unresolved GStreamer issue https://bugzilla.gnome.org/show_bug.cgi?id=742633

I don't think we need the x86 emulator to playback a/v video any time soon. So in order to unblock a/v playback on real devices, I am going to temporarily remove libav from the x86 binaries.

@ferjm ferjm force-pushed the ferjm:android.gst.binaries.update branch from 203fb1d to fb28cc7 Nov 5, 2018
@highfive highfive removed the S-tests-failed label Nov 5, 2018
@ferjm
Copy link
Member Author

ferjm commented Nov 5, 2018

@bors-servo try=android

@bors-servo
Copy link
Contributor

bors-servo commented Nov 5, 2018

Trying commit fb28cc7 with merge 3f4e108...

bors-servo added a commit that referenced this pull request Nov 5, 2018
Update GStreamer binaries for Android. Include required codecs

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

This should finally work for both armv7 and x86. I moved the binaries from Github to S3.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21864)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Nov 5, 2018

☀️ Test successful - android, android-mac, android-x86
State: approved= try=True

@ferjm
Copy link
Member Author

ferjm commented Nov 5, 2018

@bors-servo r=SimonSapin

@bors-servo
Copy link
Contributor

bors-servo commented Nov 5, 2018

📌 Commit fb28cc7 has been approved by SimonSapin

@bors-servo
Copy link
Contributor

bors-servo commented Nov 5, 2018

Testing commit fb28cc7 with merge 8205575...

bors-servo added a commit that referenced this pull request Nov 5, 2018
Update GStreamer binaries for Android. Include required codecs

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

This should finally work for both armv7 and x86. I moved the binaries from Github to S3.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21864)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Nov 5, 2018

@bors-servo bors-servo merged commit fb28cc7 into servo:master Nov 5, 2018
3 checks passed
3 checks passed
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
homu Test successful
Details
@ferjm ferjm deleted the ferjm:android.gst.binaries.update branch Nov 5, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

6 participants
You can’t perform that action at this time.