gecko-dev/xpcom
Aaron Klotz 004362bf3e Bug 1690384: Propagate error information up through XPCOMGlueLoad and GetBootstrap; r=glandium
We know that some GV installations (particularly but not exlcusively Focus) are
failing to load `libxul.so` during early Gecko bootstrapping. Unfortunately
a boolean pass/fail result is not giving us sufficient information to be able to
properly troubleshoot this problem.

This patch adds `mozilla::Result`-based return values to `XPCOMGlueLoad` and
`GetBootstrap` in an effort to produce more actionable information about these
failures.

We include either a `nsresult` or, if the failure is rooted in a dynamic linker
failure, appropriate platform-specific error information:

* On Unix-based platforms, a `UniqueFreePtr<char>` containing the string from `dlerror(3)`;
* On Windows, the Win32 `DWORD` error code from `GetLastError()`.

For non-Android platforms, I updated them to handle the new return type, but
otherwise did not make any further changes.

For Android, we include the error information in the message string that we pass
into the Java `Exception` that is subsequently thrown.

Differential Revision: https://phabricator.services.mozilla.com/D104263
2021-02-23 23:25:22 +00:00
..
base Bug 1689218 - Rename nsBaseHashtable::GetAndRemove to Extract. r=necko-reviewers,dragana 2021-02-22 12:07:48 +00:00
build Bug 1686616 - register all Services.py services with components.conf. r=kmag,necko-reviewers,valentin 2021-02-18 13:26:28 +00:00
components Update configs. IGNORE BROKEN CHANGESETS CLOSED TREE NO BUG a=release ba=release 2021-02-22 12:50:45 +00:00
doc
ds Bug 1689218 - Rename nsBaseHashtable::GetAndRemove to Extract. r=necko-reviewers,dragana 2021-02-22 12:07:48 +00:00
glue Bug 1690384: Propagate error information up through XPCOMGlueLoad and GetBootstrap; r=glandium 2021-02-23 23:25:22 +00:00
idl-parser Bug 1647259 - Replace unsubscriptable value 'list' with 'attlist' r=nika 2021-02-01 15:57:44 +00:00
io Bug 1686616 - register all Services.py services with components.conf. r=kmag,necko-reviewers,valentin 2021-02-18 13:26:28 +00:00
libxpt/xptcall
reflect Bug 1690152 - on ppc64 properly skip parameter slots if we overflow GPRs while still having FPRs to burn. r=tcampbell 2021-02-02 02:04:20 +00:00
rust Bug 1679094 - Resolve dom::Promise from Rust. r=nika 2020-12-12 02:55:49 +00:00
string Bug 1686831 - Handle trailing zero removal in double-conversion. r=nika,jwalden,Gankra 2021-01-29 04:25:53 +00:00
system Bug 1654103: Standardize on Black for Python code in mozilla-central. 2020-10-26 18:34:53 +00:00
tests Bug 1689218 - Rename nsBaseHashtable::GetAndRemove to Extract. r=necko-reviewers,dragana 2021-02-22 12:07:48 +00:00
threads Bug 1691517: Do not crash inside TaskController when the main thread is unavailable. r=smaug 2021-02-18 03:53:29 +00:00
windbgdlg Bug 1654103: Standardize on Black for Python code in mozilla-central. 2020-10-26 18:34:53 +00:00
xpidl Bug 1670357 - Remove make targets for cleaning: clean, realclean, clobber, distclean, clobber_all, everything r=firefox-build-system-reviewers,mhentges 2020-10-15 20:37:18 +00:00
moz.build Bug 1654103: Standardize on Black for Python code in mozilla-central. 2020-10-26 18:34:53 +00:00
xpcom-config.h.in