Update to Android NDK r26
Categories
(GeckoView :: General, task, P3)
Tracking
(firefox125 fixed)
| Tracking | Status | |
|---|---|---|
| firefox125 | --- | fixed |
People
(Reporter: cpeterson, Assigned: RyanVM)
References
()
Details
(Whiteboard: [geckoview:2023q4] [geckoview:m122?], [wptsync upstream])
Attachments
(4 files)
The next NDK LTS after r25 (bug 1814734) will be r26, which Google plans to release in 2023 Q3:
https://github.com/android/ndk/wiki#ndk-r26-lts
According to r25's release notes, r26 will drop support for API levels < 21 and the minimum OS supported will be API level 21 (Lollipop 5.0), same as Fenix:
https://github.com/android/ndk/wiki/Changelog-r25
See NDK issue 1751 for details.
| Reporter | ||
Updated•2 years ago
|
| Reporter | ||
Comment 1•2 years ago
|
||
NDK r26b LTS is now available:
Comment 2•2 years ago
|
||
We have to update webrtc build script when we support NDK r26. I guess that webrtc's BUILD.gn is a copy from Chromium's, but this doesn't support r26c. From r26, andorid_support is removed.
Updated•2 years ago
|
| Assignee | ||
Comment 3•1 year ago
|
||
I'm a bit confused about the status on Google's end now, but it looks like Chromium (and by extension, libwebrtc) is using r26b now?
Comment 4•1 year ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #3)
I'm a bit confused about the status on Google's end now, but it looks like Chromium (and by extension, libwebrtc) is using r26b now?
Yes, now. Actually, webrtc build fiels (into third_party/libwebrtc/build/config) seems to be from Chromium's build config files. Since NDK r26 removes some shard libraries, we need to modify it. https://searchfox.org/mozilla-central/rev/a030f2013ac6a6b1bd0c95c617899abb7f10f749/third_party/libwebrtc/build/config/android/BUILD.gn#92-98 is removed when upgrading NDK r26 in Chromium.
| Assignee | ||
Comment 5•1 year ago
|
||
| Assignee | ||
Comment 6•1 year ago
|
||
| Assignee | ||
Comment 7•1 year ago
|
||
| Assignee | ||
Comment 8•1 year ago
|
||
Updated•1 year ago
|
| Assignee | ||
Comment 9•1 year ago
|
||
Comment 10•1 year ago
|
||
Comment 12•1 year ago
|
||
Backed out for frequent or permanent task failures on Android:
https://hg.mozilla.org/integration/autoland/rev/cedd2977706a535a83082833fbddbd71e0882d2e
[task 2024-02-19T17:11:24.746Z] Setting test_root to /data/local/tmp/test_root
[task 2024-02-19T17:11:25.741Z] 17:11:25 INFO - Running post-action listener: _resource_record_post_action
[task 2024-02-19T17:11:25.741Z] 17:11:25 INFO - [mozharness: 2024-02-19 17:11:25.741088Z] Finished verify-device step (failed)
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - Uncaught exception: Traceback (most recent call last):
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - File "/builds/worker/workspace/mozharness/mozharness/base/script.py", line 2384, in run
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - self.run_action(action)
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - File "/builds/worker/workspace/mozharness/mozharness/base/script.py", line 2318, in run_action
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - self._possibly_run_method(method_name, error_if_missing=True)
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - File "/builds/worker/workspace/mozharness/mozharness/base/script.py", line 2270, in _possibly_run_method
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - return getattr(self, method_name)()
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - File "/builds/worker/workspace/mozharness/mozharness/mozilla/testing/android.py", line 682, in verify_device
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - self.dump_perf_info()
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - File "/builds/worker/workspace/mozharness/mozharness/mozilla/testing/android.py", line 318, in dump_perf_info
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - out = self.shell_output(cmd)
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - File "/builds/worker/workspace/mozharness/mozharness/mozilla/testing/android.py", line 472, in shell_output
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - return self.device.shell_output(
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - File "/builds/worker/workspace/build/venv/lib/python3.8/site-packages/mozdevice/adb.py", line 2217, in shell_output
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - raise ADBProcessError(adb_process)
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - mozdevice.adb.ADBProcessError: args: /builds/worker/fetches/android-sdk-linux/platform-tools/adb wait-for-device shell cat /proc/cpuinfo; echo adb_returncode=$?, exitcode: 255, stdout:
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - Running post_fatal callback...
[task 2024-02-19T17:11:25.742Z] 17:11:25 FATAL - Exiting -1
Permanent XPCshell failure log
[task 2024-02-19T17:52:50.405Z] 17:52:50 INFO - TEST-PASS | netwerk/test/unit/test_bug261425.js | took 736ms
[task 2024-02-19T17:52:50.462Z] 17:52:50 INFO - Cleaning up profile for /builds/worker/workspace/build/tests/xpcshell/tests/netwerk/test/unit/test_bug261425.js folder: /data/local/tmp/test_root/xpc/p/2dec126e-1117-4a77-97e5-eea0d845078e
[task 2024-02-19T17:52:50.618Z] 17:52:50 INFO - Following exceptions were raised:
[task 2024-02-19T17:52:50.618Z] 17:52:50 INFO - Traceback (most recent call last):
[task 2024-02-19T17:52:50.618Z] 17:52:50 INFO - File "/builds/worker/workspace/build/tests/xpcshell/runxpcshelltests.py", line 252, in run
[task 2024-02-19T17:52:50.618Z] 17:52:50 INFO - self.run_test()
[task 2024-02-19T17:52:50.619Z] 17:52:50 INFO - File "/builds/worker/workspace/build/tests/xpcshell/runxpcshelltests.py", line 1008, in run_test
[task 2024-02-19T17:52:50.619Z] 17:52:50 INFO - if self.checkForCrashes(self.tempDir, self.symbolsPath, test_name=name):
[task 2024-02-19T17:52:50.619Z] 17:52:50 INFO - File "/builds/worker/workspace/build/tests/xpcshell/remotexpcshelltests.py", line 346, in checkForCrashes
[task 2024-02-19T17:52:50.619Z] 17:52:50 INFO - self.device.pull(self.remoteMinidumpDir, dumpDir)
[task 2024-02-19T17:52:50.619Z] 17:52:50 INFO - File "/builds/worker/workspace/build/venv/lib/python3.8/site-packages/mozdevice/adb.py", line 3067, in pull
[task 2024-02-19T17:52:50.619Z] 17:52:50 INFO - self._sync(timeout=timeout)
[task 2024-02-19T17:52:50.619Z] 17:52:50 INFO - File "/builds/worker/workspace/build/venv/lib/python3.8/site-packages/mozdevice/adb.py", line 1277, in _sync
[task 2024-02-19T17:52:50.619Z] 17:52:50 INFO - self.shell_output("sync", timeout=timeout)
[task 2024-02-19T17:52:50.619Z] 17:52:50 INFO - File "/builds/worker/workspace/build/venv/lib/python3.8/site-packages/mozdevice/adb.py", line 2217, in shell_output
[task 2024-02-19T17:52:50.619Z] 17:52:50 CRITICAL - raise ADBProcessError(adb_process)
[task 2024-02-19T17:52:50.619Z] 17:52:50 CRITICAL - mozdevice.adb.ADBProcessError: args: adb wait-for-device shell sync; echo adb_returncode=$?, exitcode: 255, stdout:
[task 2024-02-19T17:52:50.620Z] 17:52:50 INFO - Traceback (most recent call last):
[task 2024-02-19T17:52:50.620Z] 17:52:50 INFO - File "/builds/worker/workspace/build/tests/xpcshell/remotexpcshelltests.py", line 790, in <module>
[task 2024-02-19T17:52:50.620Z] 17:52:50 INFO - main()
[task 2024-02-19T17:52:50.620Z] 17:52:50 INFO - File "/builds/worker/workspace/build/tests/xpcshell/remotexpcshelltests.py", line 783, in main
[task 2024-02-19T17:52:50.620Z] 17:52:50 INFO - if not xpcsh.runTests(
[task 2024-02-19T17:52:50.620Z] 17:52:50 INFO - File "/builds/worker/workspace/build/tests/xpcshell/runxpcshelltests.py", line 1995, in runTests
[task 2024-02-19T17:52:50.620Z] 17:52:50 INFO - status = self.runTestList(
[task 2024-02-19T17:52:50.620Z] 17:52:50 INFO - File "/builds/worker/workspace/build/tests/xpcshell/runxpcshelltests.py", line 2236, in runTestList
[task 2024-02-19T17:52:50.620Z] 17:52:50 INFO - raise exceptions[0]
[task 2024-02-19T17:52:50.620Z] 17:52:50 INFO - File "/builds/worker/workspace/build/tests/xpcshell/runxpcshelltests.py", line 252, in run
[task 2024-02-19T17:52:50.620Z] 17:52:50 INFO - self.run_test()
[task 2024-02-19T17:52:50.620Z] 17:52:50 INFO - File "/builds/worker/workspace/build/tests/xpcshell/runxpcshelltests.py", line 1008, in run_test
[task 2024-02-19T17:52:50.620Z] 17:52:50 INFO - if self.checkForCrashes(self.tempDir, self.symbolsPath, test_name=name):
[task 2024-02-19T17:52:50.621Z] 17:52:50 INFO - File "/builds/worker/workspace/build/tests/xpcshell/remotexpcshelltests.py", line 346, in checkForCrashes
[task 2024-02-19T17:52:50.621Z] 17:52:50 INFO - self.device.pull(self.remoteMinidumpDir, dumpDir)
[task 2024-02-19T17:52:50.621Z] 17:52:50 INFO - File "/builds/worker/workspace/build/venv/lib/python3.8/site-packages/mozdevice/adb.py", line 3067, in pull
[task 2024-02-19T17:52:50.621Z] 17:52:50 INFO - self._sync(timeout=timeout)
[task 2024-02-19T17:52:50.621Z] 17:52:50 INFO - File "/builds/worker/workspace/build/venv/lib/python3.8/site-packages/mozdevice/adb.py", line 1277, in _sync
[task 2024-02-19T17:52:50.621Z] 17:52:50 INFO - self.shell_output("sync", timeout=timeout)
[task 2024-02-19T17:52:50.621Z] 17:52:50 INFO - File "/builds/worker/workspace/build/venv/lib/python3.8/site-packages/mozdevice/adb.py", line 2217, in shell_output
[task 2024-02-19T17:52:50.621Z] 17:52:50 CRITICAL - raise ADBProcessError(adb_process)
[task 2024-02-19T17:52:50.621Z] 17:52:50 CRITICAL - mozdevice.adb.ADBProcessError: args: adb wait-for-device shell sync; echo adb_returncode=$?, exitcode: 255, stdout:
[task 2024-02-19T17:52:50.647Z] 17:52:50 INFO - Return code: 1
[task 2024-02-19T17:52:50.647Z] 17:52:50 ERROR - No tests run or test summary not found
Comment 13•1 year ago
|
||
Backed out for causing android failures with "Uncaught exception: Traceback (most recent call last):"
| Assignee | ||
Comment 14•1 year ago
•
|
||
Looking at the logs for toolchain-linux64-android-sdk-linux-repack, we appear to be installing the newly-released release of the Android SDK Platform Tools (34.0.5 was the previous official release). These failures would have presumably burned whoever did the next push that triggered this toolchain to rebuild.
platform-tools | 35.0.0 | Android SDK Platform-Tools | platform-tools
https://firefoxci.taskcluster-artifacts.net/QOGkqQPuS7-EJR6KERLLmA/0/public/logs/live_backing.log
| Assignee | ||
Comment 15•1 year ago
•
|
||
Geoff, can you help me debug this? We either need to figure out why android.py doesn't like this new adb version or pin ourselves to the last known-good 34.0.5 release for now (hard to say if this is a bug with the new adb that will get fixed down the road or a real behavior change we'll need to deal with eventually).
| Assignee | ||
Comment 16•1 year ago
•
|
||
I can confirm that it's the new platform-tools 35.0.0 package we're picking up transiently in the toolchain rebuild that's breaking things here. The same patch stack which was green on Try last week and shows version 34.0.5 in the build logs is now hitting the same failures this week with version 35.0.0 in the logs. Also, it looks like we have the same issue with the platform-tools package that we had previously with the emulator where older versions are made unavailable when a newer one is released.
Warning: Failed to find package 'platform-tools;34.0.5'
Comment 17•1 year ago
|
||
Comment 18•1 year ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/5e5ee04a093c
https://hg.mozilla.org/mozilla-central/rev/b8c26e3455ec
https://hg.mozilla.org/mozilla-central/rev/f5c9cd6cc881
https://hg.mozilla.org/mozilla-central/rev/6c92ce640dc6
Comment 19•1 year ago
|
||
(In reply to Ryan VanderMeulen [:RyanVM] from comment #15)
Geoff, can you help me debug this? We either need to figure out why android.py doesn't like this new adb version or pin ourselves to the last known-good 34.0.5 release for now (hard to say if this is a bug with the new adb that will get fixed down the road or a real behavior change we'll need to deal with eventually).
Thanks Ryan. I am looking at this in bug 1881158.
Comment 22•1 year ago
|
||
Description
•