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

Projects
None yet
6 participants
@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

This comment has been minimized.

Copy link

highfive commented Oct 3, 2018

Heads up! This PR modifies the following files:

@ferjm

This comment has been minimized.

Copy link
Member Author

ferjm commented Oct 3, 2018

@bors-servo

This comment has been minimized.

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

Auto merge of #21864 - ferjm:android.gst.binaries.update, r=<try>
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

This comment has been minimized.

Copy link
Contributor

bors-servo commented Oct 3, 2018

💔 Test failed - status-taskcluster

@SimonSapin

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

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

This comment has been minimized.

Copy link
Member Author

ferjm commented Oct 8, 2018

@bors-servo

This comment has been minimized.

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

Auto merge of #21864 - ferjm:android.gst.binaries.update, r=<try>
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

This comment has been minimized.

Copy link
Contributor

bors-servo commented Oct 8, 2018

💔 Test failed - android

@ferjm

This comment has been minimized.

Copy link
Member Author

ferjm commented Oct 8, 2018

@bors-servo retry

@bors-servo

This comment has been minimized.

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

Auto merge of #21864 - ferjm:android.gst.binaries.update, r=<try>
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

This comment has been minimized.

Copy link
Contributor

bors-servo commented Oct 8, 2018

💔 Test failed - mac-rel-wpt1

@jdm

This comment has been minimized.

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

This comment has been minimized.

Copy link
Member Author

ferjm commented Oct 8, 2018

@highfive highfive assigned SimonSapin and unassigned asajeffrey Oct 8, 2018

@SimonSapin

This comment has been minimized.

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

This comment has been minimized.

Copy link
Member Author

ferjm commented Nov 2, 2018

@bors-servo try=android

@bors-servo

This comment has been minimized.

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

Auto merge of #21864 - ferjm:android.gst.binaries.update, r=<try>
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

This comment has been minimized.

Copy link
Member Author

ferjm commented Nov 2, 2018

@bors-servo try=android

@bors-servo

This comment has been minimized.

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

Auto merge of #21864 - ferjm:android.gst.binaries.update, r=<try>
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

This comment has been minimized.

Copy link
Contributor

bors-servo commented Nov 2, 2018

💔 Test failed - android-x86

@ferjm

This comment has been minimized.

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

This comment has been minimized.

Copy link
Member Author

ferjm commented Nov 5, 2018

@bors-servo try=android

@bors-servo

This comment has been minimized.

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

Auto merge of #21864 - ferjm:android.gst.binaries.update, r=<try>
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

This comment has been minimized.

Copy link
Contributor

bors-servo commented Nov 5, 2018

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

@ferjm

This comment has been minimized.

@ferjm

This comment has been minimized.

Copy link
Member Author

ferjm commented Nov 5, 2018

@bors-servo r=SimonSapin

@bors-servo

This comment has been minimized.

Copy link
Contributor

bors-servo commented Nov 5, 2018

📌 Commit fb28cc7 has been approved by SimonSapin

@bors-servo

This comment has been minimized.

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

Auto merge of #21864 - ferjm:android.gst.binaries.update, r=SimonSapin
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

This comment has been minimized.

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

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
You can’t perform that action at this time.