Improve error propagation for out-of-process file-picker failures, round 2
Categories
(Core :: Widget: Win32, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox128 | --- | fixed |
People
(Reporter: rkraesig, Assigned: rkraesig)
References
Details
Attachments
(5 files)
Error-site data is collected by the utility process launcher and propagated internally, but is not generally provided to its clients.
However, error-site data is exactly what's desired by file-picker telemetry to determine the underlying cause of launch-failure errors, so let's go ahead and do that.
Assignee | ||
Comment 1•10 months ago
|
||
As the intended use for LaunchError::mFunction is telemetry, avoid the
possibility of accidental exfiltration of PII by requiring that
LaunchError be constructed from StaticString
.
No functional changes.
Updated•10 months ago
|
Assignee | ||
Comment 2•10 months ago
|
||
As with the previous commit, avoid the possibility of accidental
exfiltration of PII by requiring that filedialog::Error be constructed
from StaticString
.
No functional changes.
Assignee | ||
Comment 3•10 months ago
|
||
Since the location field of a LaunchError is a static, telemetry-safe
string, allow creating an fd::Error therefrom.
(Such an Error won't be serializable over IPDL, but that's fine -- if we
have a LaunchError, we must be in the main process and so have no need
to worry about serializing it.)
Assignee | ||
Comment 4•10 months ago
|
||
-
Adjust GeckoChildProcessHost to return ipc::LaunchErrors to its
clients. -
Adjust UtilityProcessHost to propagate ipc::LaunchErrors for
its clients, or to create new ones where none previously existed. -
Adjust the various clients of the above to to handle the additional
information -- mostly by adding the additional failure-location data
to log messages.
In particular, filedialog::Error objects should now contain -- and report
to telemetry without further adjustment -- the actual error code from
ipc::LaunchError
s.
(Reporting the original failure location as well will occur in bug
1884221.)
Updated•10 months ago
|
Assignee | ||
Comment 6•10 months ago
|
||
Patch [3/4] in the previous patchset removed an #include, breaking
non-unified builds. Replace it.
Updated•10 months ago
|
Comment 9•10 months ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/89eb91c37298
https://hg.mozilla.org/mozilla-central/rev/3f5ca5edd343
https://hg.mozilla.org/mozilla-central/rev/632b10bbca9c
https://hg.mozilla.org/mozilla-central/rev/b4086527c442
https://hg.mozilla.org/mozilla-central/rev/8bc6fa2ba2e8
Comment 10•10 months ago
|
||
bugherder |
Description
•