Trac issueshttps://gitlab.torproject.org/legacy/trac/-/issues2020-07-19T04:41:03Zhttps://gitlab.torproject.org/legacy/trac/-/issues/34323Audit mozilla_browser_icons2020-07-19T04:41:03ZMatthew FinkelAudit mozilla_browser_icons> # An implementation for loading and storing website icons (like favicons)
> mozilla_browser_icons -> org.mozilla.components:browser-icons
https://github.com/mozilla-mobile/android-components/tree/master/components/browser/icons> # An implementation for loading and storing website icons (like favicons)
> mozilla_browser_icons -> org.mozilla.components:browser-icons
https://github.com/mozilla-mobile/android-components/tree/master/components/browser/iconshttps://gitlab.torproject.org/legacy/trac/-/issues/34241tba crash saving image2020-06-16T01:13:05Ztraumschuletba crash saving image- tba version: 68.8.0 (9.5a12)
- includes several Gecko traces for error code [0x80004005](https://helpful.knobs-dials.com/index.php/0x80004005_(NS_ERROR_FAILURE)_and_other_firefox_errors) (catch-all ff error) equal to #31572 and #33966
...- tba version: 68.8.0 (9.5a12)
- includes several Gecko traces for error code [0x80004005](https://helpful.knobs-dials.com/index.php/0x80004005_(NS_ERROR_FAILURE)_and_other_firefox_errors) (catch-all ff error) equal to #31572 and #33966
STR:
1) start and connect TBA (without this step the page won't be loaded after connecting)
2) in another application share a link with TBA
3) "Open in Tor Browser"
4) "Save Image As"
Result:
```
05-17 15:19:16.044 5623 5641 E AndroidRuntime: FATAL EXCEPTION: GeckoBackgroundThread
05-17 15:19:16.044 5623 5641 E AndroidRuntime: Process: org.torproject.torbrowser_alpha, PID: 5623
05-17 15:19:16.044 5623 5641 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.InetAddress.toString()' on a null object reference
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at com.android.okhttp.internal.Util.closeQuietly(Util.java:96)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at com.android.okhttp.internal.http.StreamAllocation.deallocate(StreamAllocation.java:293)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at com.android.okhttp.internal.http.StreamAllocation.streamFinished(StreamAllocation.java:234)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at com.android.okhttp.internal.http.Http1xStream$AbstractSource.endOfInput(Http1xStream.java:571)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at com.android.okhttp.internal.http.Http1xStream$FixedLengthSource.read(Http1xStream.java:610)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at com.android.okhttp.okio.RealBufferedSource$1.read(RealBufferedSource.java:396)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at java.io.InputStream.read(InputStream.java:101)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at org.mozilla.gecko.GeckoApplication.downloadImageForSetImage(GeckoApplication.java:887)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at org.mozilla.gecko.GeckoApplication.access$300(GeckoApplication.java:82)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at org.mozilla.gecko.GeckoApplication$6.run(GeckoApplication.java:847)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at org.mozilla.gecko.permissions.PermissionBlock.executeRunnable(PermissionBlock.java:139)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at org.mozilla.gecko.permissions.PermissionBlock.onPermissionsGranted(PermissionBlock.java:118)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at org.mozilla.gecko.permissions.PermissionBlock.run(PermissionBlock.java:98)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at org.mozilla.gecko.GeckoApplication.setImageAs(GeckoApplication.java:844)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at org.mozilla.gecko.GeckoApplication.access$100(GeckoApplication.java:82)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at org.mozilla.gecko.GeckoApplication$EventListener.handleMessage(GeckoApplication.java:649)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at org.mozilla.gecko.EventDispatcher$3.run(EventDispatcher.java:368)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:873)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at android.os.Looper.loop(Looper.java:216)
05-17 15:19:16.044 5623 5641 E AndroidRuntime: at org.mozilla.gecko.util.GeckoBackgroundThread.run(GeckoBackgroundThread.java:41)
```
Alternative way:
1) Open and connect TBA
2) Click "Donate Now"
3) Long tap the logo
4) Switch to the Image tab
5) "Set As"
6) See the `Unable to set image` message
7) "Set As" again
Result:
```
05-17 15:57:13.538 24022 24041 E AndroidRuntime: FATAL EXCEPTION: GeckoBackgroundThread
05-17 15:57:13.538 24022 24041 E AndroidRuntime: Process: org.torproject.torbrowser_alpha, PID: 24022
05-17 15:57:13.538 24022 24041 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.InetAddress.toString()' on a null object reference
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at com.android.okhttp.internal.Util.closeQuietly(Util.java:96)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at com.android.okhttp.internal.http.StreamAllocation.deallocate(StreamAllocation.java:293)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at com.android.okhttp.internal.http.StreamAllocation.connectionFailed(StreamAllocation.java:330)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at com.android.okhttp.internal.http.StreamAllocation.connectionFailed(StreamAllocation.java:325)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at com.android.okhttp.internal.http.StreamAllocation.recover(StreamAllocation.java:373)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at com.android.okhttp.internal.http.HttpEngine.recover(HttpEngine.java:479)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at com.android.okhttp.internal.http.HttpEngine.recover(HttpEngine.java:495)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:523)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:434)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:248)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:210)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:26)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at org.mozilla.gecko.GeckoApplication.downloadImageForSetImage(GeckoApplication.java:882)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at org.mozilla.gecko.GeckoApplication.access$300(GeckoApplication.java:82)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at org.mozilla.gecko.GeckoApplication$6.run(GeckoApplication.java:847)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at org.mozilla.gecko.permissions.PermissionBlock.executeRunnable(PermissionBlock.java:139)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at org.mozilla.gecko.permissions.PermissionBlock.onPermissionsGranted(PermissionBlock.java:118)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at org.mozilla.gecko.permissions.PermissionBlock.run(PermissionBlock.java:98)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at org.mozilla.gecko.GeckoApplication.setImageAs(GeckoApplication.java:844)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at org.mozilla.gecko.GeckoApplication.access$100(GeckoApplication.java:82)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at org.mozilla.gecko.GeckoApplication$EventListener.handleMessage(GeckoApplication.java:649)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at org.mozilla.gecko.EventDispatcher$3.run(EventDispatcher.java:368)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:873)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at android.os.Looper.loop(Looper.java:216)
05-17 15:57:13.538 24022 24041 E AndroidRuntime: at org.mozilla.gecko.util.GeckoBackgroundThread.run(GeckoBackgroundThread.java:41)
```
LMK if you are interested in the complete log.https://gitlab.torproject.org/legacy/trac/-/issues/34187Update zlib build script to pick up new android toolchain2020-06-16T01:26:25ZGeorg KoppenUpdate zlib build script to pick up new android toolchainIt seems in order to pick up the new android toolchain we need to update our `zlib` project as well.It seems in order to pick up the new android toolchain we need to update our `zlib` project as well.Georg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/34163testbuild target is broken for Tor Browser 64 bit (versionCode can't get comp...2020-06-16T01:26:24ZGeorg Koppentestbuild target is broken for Tor Browser 64 bit (versionCode can't get computed){{{
0:03.87 Traceback (most recent call last):
0:03.87 File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
0:03.88 "__main__", fname, loader, pkg_name)
0:03.88 File "/usr/lib/python2.7/runpy.py", line 72, in _ru...{{{
0:03.87 Traceback (most recent call last):
0:03.87 File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
0:03.88 "__main__", fname, loader, pkg_name)
0:03.88 File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
0:03.88 exec code in run_globals
0:03.88 File "/var/tmp/build/firefox-4516c5951e84/python/mozbuild/mozbuild/action/file_generate.py", line 120, in <module>
0:03.88 sys.exit(main(sys.argv[1:]))
0:03.88 File "/var/tmp/build/firefox-4516c5951e84/python/mozbuild/mozbuild/action/file_generate.py", line 71, in main
0:03.88 ret = module.__dict__[method](output, *args.additional_arguments, **kwargs)
0:03.88 File "/var/tmp/build/firefox-4516c5951e84/mobile/android/base/generate_build_config.py", line 145, in generate_android_manifest
0:03.88 defines=_defines(),
0:03.88 File "/var/tmp/build/firefox-4516c5951e84/mobile/android/base/generate_build_config.py", line 129, in _defines
0:03.88 max_sdk=max_sdk)
0:03.88 File "/var/tmp/build/firefox-4516c5951e84/python/mozbuild/mozbuild/android_version_code.py", line 140, in android_version_code
0:03.88 return android_version_code_v0(buildid, *args, **kwargs)
0:03.88 File "/var/tmp/build/firefox-4516c5951e84/python/mozbuild/mozbuild/android_version_code.py", line 31, in android_version_code_v0
0:03.88 "for CPU arch %s" % cpu_arch)
0:03.88 ValueError: Don't know how to compute android:versionCode for CPU arch arm64-v8a
}}}
I *think* this will be fixed once we move away from ESR 68 as I've been doing test builds for #33626. Still, even if so, this is a bug in our current setup.https://gitlab.torproject.org/legacy/trac/-/issues/34145Investigate fallout from transitioning to 77.0b12020-06-16T01:12:56ZGeorg KoppenInvestigate fallout from transitioning to 77.0b1Compilation is busted with our patches based on 77.0b1. This is the bug to investigate this.Compilation is busted with our patches based on 77.0b1. This is the bug to investigate this.https://gitlab.torproject.org/legacy/trac/-/issues/34110Investigate `./mach android gradle-dependencies` for our use cases2020-06-16T01:26:24ZGeorg KoppenInvestigate `./mach android gradle-dependencies` for our use casesMozilla has a neat way of automating the gradle dependencies it needs during build time and making them available: https://firefox-source-docs.mozilla.org/build/buildsystem/toolchains.html#firefox-for-android-with-gradle
We should think...Mozilla has a neat way of automating the gradle dependencies it needs during build time and making them available: https://firefox-source-docs.mozilla.org/build/buildsystem/toolchains.html#firefox-for-android-with-gradle
We should think about how we could use that either just for Fenix or in general for our mobile related projects.https://gitlab.torproject.org/legacy/trac/-/issues/34108Write script to keep track of toolchain changes2020-06-16T01:26:23ZGeorg KoppenWrite script to keep track of toolchain changesWe have a lot of different requirements for our toolchain (see: #33557) due to a number of different projects involved in building Fenix. We should write a script that we run periodically to keep track of necessary toolchain changes ahea...We have a lot of different requirements for our toolchain (see: #33557) due to a number of different projects involved in building Fenix. We should write a script that we run periodically to keep track of necessary toolchain changes ahead of time.Georg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/34101Add tor-browser-build project for application-services2020-06-16T01:26:23ZGeorg KoppenAdd tor-browser-build project for application-servicesUnless we rip out all of the `application-services` (which I currently don't think we'll do) we need to have a project for it in `tor-browser-build`.
This will be a fun one to build. See the `lib` dir for some build scripts and [the meg...Unless we rip out all of the `application-services` (which I currently don't think we'll do) we need to have a project for it in `tor-browser-build`.
This will be a fun one to build. See the `lib` dir for some build scripts and [the megazord design](https://github.com/mozilla/application-services/blob/master/docs/design/megazords.md).Georg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/34066Implement 28005 (https-everywhere onions) in mobile2020-06-15T23:01:23ZAlex CatarineuImplement 28005 (https-everywhere onions) in mobileFor feature parity, consider porting the #28005 patch for mobile.For feature parity, consider porting the #28005 patch for mobile.https://gitlab.torproject.org/legacy/trac/-/issues/34015geckoview is not built reproducible2020-06-16T01:12:48ZGeorg Koppengeckoview is not built reproducibleWhile checking for reproducibility issues within geckoview .aar files I realized that `libxul.so` differs. All other artifacts match when built on different machines. Attached is the diff.While checking for reproducibility issues within geckoview .aar files I realized that `libxul.so` differs. All other artifacts match when built on different machines. Attached is the diff.Georg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/34014Support sqlite3 in our python project2020-06-16T01:26:21ZGeorg KoppenSupport sqlite3 in our python projectPython3 we use needs sqlite3 support now.Python3 we use needs sqlite3 support now.Georg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/34013Bump node version to v10.21.02020-06-16T01:26:20ZGeorg KoppenBump node version to v10.21.0Update our node version to what is used in mozilla-central.Update our node version to what is used in mozilla-central.Georg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/34012Bump cbindgen version to 0.14.12020-06-16T01:26:20ZGeorg KoppenBump cbindgen version to 0.14.1Update to latest cbindgen used on mozilla-central.Update to latest cbindgen used on mozilla-central.Georg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/34011Bump clang version to 9.0.12020-06-16T01:26:19ZGeorg KoppenBump clang version to 9.0.1Let's go away from clang 8.0.1Let's go away from clang 8.0.1Georg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/33973Create fat .aar for geckoview2020-06-16T01:26:18ZGeorg KoppenCreate fat .aar for geckoviewDownstream consumers like `android-components` and `fenix` use fat .aar files. We need to create them out of ouf per-arch ones. https://bugzilla.mozilla.org/show_bug.cgi?id=1508976 is the bug where this got implemented on Mozilla's side.Downstream consumers like `android-components` and `fenix` use fat .aar files. We need to create them out of ouf per-arch ones. https://bugzilla.mozilla.org/show_bug.cgi?id=1508976 is the bug where this got implemented on Mozilla's side.Georg KoppenGeorg Koppenhttps://gitlab.torproject.org/legacy/trac/-/issues/33966tba: Extension error: [Exception... "Component returned failure code: 0x80004...2020-06-16T01:12:42Ztraumschuletba: Extension error: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMWindowUtils.removeSheetUsingURIString]"Experienced another OOM and ANR in combination with this trace which slipped through so far: shows up repeatedly (5 times each) and happens daily according to my logs, also unrelated to ANR:
```
04-22 01:11:58.547 3810 3840 I Gecko :...Experienced another OOM and ANR in combination with this trace which slipped through so far: shows up repeatedly (5 times each) and happens daily according to my logs, also unrelated to ANR:
```
04-22 01:11:58.547 3810 3840 I Gecko : Extension error: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMWindowUtils.removeSheetUsingURIString]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: re[/gre/modules/ExtensionCommon.jsm](/gre/modules/ExtensionCommon.jsm) :: runSafeSyncWithoutClone :: line 75" data: no] undefined 75
04-22 01:11:58.547 3810 3840 I Gecko : [[Exception stack
04-22 01:11:58.547 3810 3840 I Gecko : runSafeSyncWithoutClone@re[/gre/modules/ExtensionCommon.jsm:75:12](/gre/modules/ExtensionCommon.jsm:75:12)
04-22 01:11:58.547 3810 3840 I Gecko : cleanup@re[/gre/modules/ExtensionContent.jsm:403:11](/gre/modules/ExtensionContent.jsm:403:11)
04-22 01:11:58.547 3810 3840 I Gecko : close@re[/gre/modules/ExtensionContent.jsm:913:14](/gre/modules/ExtensionContent.jsm:913:14)
04-22 01:11:58.547 3810 3840 I Gecko : inner-window-destroyed@re[/gre/modules/ExtensionContent.jsm:998:19](/gre/modules/ExtensionContent.jsm:998:19)
04-22 01:11:58.547 3810 3840 I Gecko : observe@re[/gre/modules/ExtensionContent.jsm:1016:27](/gre/modules/ExtensionContent.jsm:1016:27)
04-22 01:11:58.547 3810 3840 I Gecko : Current stack
04-22 01:11:58.547 3810 3840 I Gecko : runSafeSyncWithoutClone@re[/gre/modules/ExtensionCommon.jsm:81:9](/gre/modules/ExtensionCommon.jsm:81:9)
04-22 01:11:58.547 3810 3840 I Gecko : cleanup@re[/gre/modules/ExtensionContent.jsm:403:11](/gre/modules/ExtensionContent.jsm:403:11)
04-22 01:11:58.547 3810 3840 I Gecko : close@re[/gre/modules/ExtensionContent.jsm:913:14](/gre/modules/ExtensionContent.jsm:913:14)
04-22 01:11:58.547 3810 3840 I Gecko : inner-window-destroyed@re[/gre/modules/ExtensionContent.jsm:998:19](/gre/modules/ExtensionContent.jsm:998:19)
04-22 01:11:58.547 3810 3840 I Gecko : observe@re[/gre/modules/ExtensionContent.jsm:1016:27](/gre/modules/ExtensionContent.jsm:1016:27)
04-22 01:11:58.547 3810 3840 I Gecko : ]]
```
Fixed in Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1550470
I have no additional addons installed.https://gitlab.torproject.org/legacy/trac/-/issues/33944tba: unhandled bug in OkHttp2020-06-16T01:12:37Ztraumschuletba: unhandled bug in OkHttpOccasionally little-t tor crashes because of a [bug](https://github.com/shadowsocks/shadowsocks-android/issues/2297) in [OKHttp](https://github.com/square/okhttp/blob/master/okhttp/src/main/kotlin/okhttp3/ConnectionPool.kt).
Tor Browser ...Occasionally little-t tor crashes because of a [bug](https://github.com/shadowsocks/shadowsocks-android/issues/2297) in [OKHttp](https://github.com/square/okhttp/blob/master/okhttp/src/main/kotlin/okhttp3/ConnectionPool.kt).
Tor Browser stays up but `proxy server is refusing connections`.
`java.net.InetAddress.toString()` suggests it happens due to changes of the network address for example when switching VPN or disabling network. No exact STR yet.
```
E AndroidRuntime: FATAL EXCEPTION: OkHttp ConnectionPool
E AndroidRuntime: Process: org.torproject.torbrowser_alpha, PID: 23649
E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.net.InetAddress.toString()' on a null object reference
E AndroidRuntime: at com.android.okhttp.internal.Util.closeQuietly(Util.java:96)
E AndroidRuntime: at com.android.okhttp.ConnectionPool.cleanup(ConnectionPool.java:282)
E AndroidRuntime: at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:94)
E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E AndroidRuntime: at java.lang.Thread.run(Thread.java:764)
```https://gitlab.torproject.org/legacy/trac/-/issues/33939Decide which components of Fenix to rip out, disable, or use2020-06-15T23:01:23ZGeorg KoppenDecide which components of Fenix to rip out, disable, or useOne thing we are struggling with when trying to write proper patches for building various parts of Fenix is that it's not clear yet which components we want to rip out/disable/use.
E.g. there are a number of things we might want to rip ...One thing we are struggling with when trying to write proper patches for building various parts of Fenix is that it's not clear yet which components we want to rip out/disable/use.
E.g. there are a number of things we might want to rip out of `android-components` (comment:4:ticket:33156) or maybe not, it's not clear. We have already a separate bug (#33594) to figure out what we should do with Glean.
So, in this ticket we should look over the various components involved and decide
a) which to rip (fully) out at build time
b) disable at run time
and document the reasoning (maybe that could be part of our release prep process documentation).
I think by default we should enable everything for usability reasons and disable potentially fingerprinting/tracking features where we don't have patches (yet) and rip out outright dangerous ones if we don't find a better solution. That's a similar method we follow for desktop audits.https://gitlab.torproject.org/legacy/trac/-/issues/33938tba: Out of memory after "Could not create search engine from name"2020-06-16T01:12:36Ztraumschuletba: Out of memory after "Could not create search engine from name"Added terms into address bar to search:
```
04-19 01:00:25.864 30950 31093 D GeckoSearchEngineManager: Found default engine name in SharedPreferences: DuckDuckGo
04-19 01:00:25.864 30950 31093 D GeckoDistribution: Getting file from dist...Added terms into address bar to search:
```
04-19 01:00:25.864 30950 31093 D GeckoSearchEngineManager: Found default engine name in SharedPreferences: DuckDuckGo
04-19 01:00:25.864 30950 31093 D GeckoDistribution: Getting file from distribution.
04-19 01:00:25.871 30950 30950 D ViewRootImpl@e57276d[BrowserApp]: stopped(false) old=false
04-19 01:00:25.872 30950 31093 E GeckoDistribution: Distribution directory exists, but no file named searchplugins
04-19 01:00:25.905 30950 31093 I GeckoSearchEngineManager: This is Tor Browser. Skipping.
04-19 01:00:25.914 30950 31093 E GeckoSearchEngineManager: Error getting engine list
04-19 01:00:25.914 30950 31093 E GeckoSearchEngineManager: org.json.JSONException: No value for default
04-19 01:00:25.914 30950 31093 E GeckoSearchEngineManager: at org.json.JSONObject.get(JSONObject.java:392)
...
Adreno-GSL: <sharedmem_gpuobj_alloc:2461>: sharedmem_gpumem_alloc: mmap failed errno 12 Out of memory
...
InputDispatcher: Application is not responding: Window{45797b8 u0 org.torproject.torbrowser_alpha/org.mozilla.gecko.BrowserApp}. It has been 20008.4ms since event, 20007.5ms since wait started.
...
ActivityManager: Load: 8.13 / 6.9 / 6.31
ActivityManager: CPU usage from 0ms to 7305ms later (2020-04-19 01:03:17.314 to 2020-04-19 01:03:24.619):
ActivityManager: 50% 30950/org.torproject.torbrowser_alpha: 35% user + 14% kernel / faults: 8641 minor 295 major
ActivityManager: 48% 1266/system_server: 28% user + 19% kernel / faults: 6208 minor 601 major
```https://gitlab.torproject.org/legacy/trac/-/issues/33936Make our fetch-gradle-dependencies script smarter regarding dependency location2020-06-16T01:26:16ZGeorg KoppenMake our fetch-gradle-dependencies script smarter regarding dependency locationWe fetch gradle dependencies with our `fetch-gradle-dependencies` script but don't really care where exactly we put them in that process. We should change that, though, because otherwise we need to do in build scripts things like
`cp -r ...We fetch gradle dependencies with our `fetch-gradle-dependencies` script but don't really care where exactly we put them in that process. We should change that, though, because otherwise we need to do in build scripts things like
`cp -r $gradle_repo/m2/* $gradle_repo` to adjust the paths so that gradle can find them.
That's a thing our script should do in the first place to avoid complexity in our build scripts.Georg KoppenGeorg Koppen