757 Commits

Author SHA1 Message Date
Cosmin Sabou
a237abc876 Backed out changeset 8955d56a5c82 (bug 1947920) for causing build bustages. CLOSED TREE 2025-04-03 14:52:33 +03:00
Erich Gubler
6c190b1bd8 Bug 1947920 - build(rust): upgrade hashbrown 0.14.5 → 0.15.2 r=glandium,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D239687
2025-04-03 11:31:59 +00:00
Norisz Fay
b263c6627a Backed out 9 changesets (bug 1620998) for causing multiple crash related failures
Backed out changeset 274ab6fba51b (bug 1620998)
Backed out changeset 731b7a72161e (bug 1620998)
Backed out changeset 5dad868cb181 (bug 1620998)
Backed out changeset 49618d90e1da (bug 1620998)
Backed out changeset cc14d8374efa (bug 1620998)
Backed out changeset 31f3cc43e800 (bug 1620998)
Backed out changeset fde49d4de714 (bug 1620998)
Backed out changeset 857c23185317 (bug 1620998)
Backed out changeset 97f0f061357e (bug 1620998)
2025-04-02 02:23:33 +03:00
Gabriele Svelto
6259c76b43 Bug 1620998 - Out-of-process crash generation for child processes r=afranchuk,geckoview-reviewers,glandium,browser-installer-reviewers,nalexander,owlish
This implements the crash helper service used to move child process crash
report generation out of the main process and into its own process. This is
implemented as a separate executable that is launched on startup by the main
process on the desktop platforms and as a service hosted by a separate process
on Android.

The crash helper process is started when the first exception handler is set
on desktop platforms and before loading libxul on Android. In both cases
starting this process happens asynchronously so that neither the main process
nor child processes have to wait for it to come up. If a crash happens before
the crash helper has started, the crashed process will wait for it to fully
come up and then proceed with regular crash generation.

IPC with the crash helper is implemented using Unix sockets on Linux and macOS
with the former using sequential packets and the latter using stream sockets.
On Windows we use named pipes. In all cases the choice of IPC was dictated both
by the requirement to eventually talk directly to child processes from within
the sandbox, and to external processes in case of Windows as the Windows
Error Reporting exception handler must be able to reach out to the helper from
within a restricted context. These particular requirements are not used yet but
will be as we move more logic out of the main process logic.

Differential Revision: https://phabricator.services.mozilla.com/D231083
2025-04-01 15:13:42 +00:00
Cosmin Sabou
e3d0bc89ab Backed out 9 changesets (bug 1620998) for causing build bustages. CLOSED TREE
Backed out changeset 72781375abd5 (bug 1620998)
Backed out changeset 30edb461ed99 (bug 1620998)
Backed out changeset a027ff2de570 (bug 1620998)
Backed out changeset 821e4224085a (bug 1620998)
Backed out changeset e90f6557d883 (bug 1620998)
Backed out changeset 47e7a1a2796e (bug 1620998)
Backed out changeset dbf8543d39d4 (bug 1620998)
Backed out changeset e72d5596ac91 (bug 1620998)
Backed out changeset b351cb3d0b54 (bug 1620998)
2025-04-01 01:34:43 +03:00
Gabriele Svelto
c544442459 Bug 1620998 - Out-of-process crash generation for child processes r=afranchuk,geckoview-reviewers,glandium,browser-installer-reviewers,nalexander,owlish
This implements the crash helper service used to move child process crash
report generation out of the main process and into its own process. This is
implemented as a separate executable that is launched on startup by the main
process on the desktop platforms and as a service hosted by a separate process
on Android.

The crash helper process is started when the first exception handler is set
on desktop platforms and before loading libxul on Android. In both cases
starting this process happens asynchronously so that neither the main process
nor child processes have to wait for it to come up. If a crash happens before
the crash helper has started, the crashed process will wait for it to fully
come up and then proceed with regular crash generation.

IPC with the crash helper is implemented using Unix sockets on Linux and macOS
with the former using sequential packets and the latter using stream sockets.
On Windows we use named pipes. In all cases the choice of IPC was dictated both
by the requirement to eventually talk directly to child processes from within
the sandbox, and to external processes in case of Windows as the Windows
Error Reporting exception handler must be able to reach out to the helper from
within a restricted context. These particular requirements are not used yet but
will be as we move more logic out of the main process logic.

Differential Revision: https://phabricator.services.mozilla.com/D231083
2025-03-31 21:23:14 +00:00
Erich Gubler
cee0dabc27 Bug 1956123 - build(rust): shim-upgrade unicode-width 0.1.10 → 0.2.0 r=glandium,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D243188
2025-03-29 11:40:39 +00:00
Alexandru Marc
7bee8ec457 Backed out 7 changesets (bug 1950665, bug 1956897, bug 1956123, bug 1953191) for causing fenix btime failures CLOSED TREE
Backed out changeset 22f47c90fd5d (bug 1956123)
Backed out changeset 6522ae70b658 (bug 1956897)
Backed out changeset 806db3f9c36c (bug 1950665)
Backed out changeset bf72ab72dfa6 (bug 1953191)
Backed out changeset d229188b7203 (bug 1953191)
Backed out changeset d73eaaafd097 (bug 1953191)
Backed out changeset 592d875cb61b (bug 1950665)
2025-03-28 19:28:52 +02:00
Erich Gubler
7c9eef1a62 Bug 1956123 - build(rust): shim-upgrade unicode-width 0.1.10 → 0.2.0 r=glandium,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D243188
2025-03-28 10:09:52 +00:00
Jan-Erik Rediger
465b1f4f57 Bug 1953191 - Update to Glean v64.0.0 and glean_parser 17.0.1 r=chutten,mach-reviewers,ahal
Vendoring happens in the next commit

Differential Revision: https://phabricator.services.mozilla.com/D241958
2025-03-27 20:33:10 +00:00
Ben Dean-Kawamura
ffe793284f Bug 1950665 - Upgrade to UniFFI 0.29,
Differential Revision: https://phabricator.services.mozilla.com/D239796
2025-03-27 20:33:09 +00:00
Cosmin Sabou
ca05bec2fb Backed out 7 changesets (bug 1956132, bug 1956378, bug 1950665, bug 1953191) for causing LateWriteObserver crashes.
Backed out changeset 38ae4256b2ad (bug 1956132)
Backed out changeset cc9d570bc0d1 (bug 1956378)
Backed out changeset 85142db17376 (bug 1950665)
Backed out changeset 251fd670f26e (bug 1953191)
Backed out changeset f79d2c98afbc (bug 1953191)
Backed out changeset 7d91be694ac1 (bug 1953191)
Backed out changeset cb2b3aee545c (bug 1950665)
2025-03-27 00:53:58 +02:00
Jan-Erik Rediger
161a991090 Bug 1953191 - Update to Glean v64.0.0 and glean_parser 17.0.1 r=chutten,mach-reviewers,ahal
Vendoring happens in the next commit

Differential Revision: https://phabricator.services.mozilla.com/D241958
2025-03-26 17:12:06 +00:00
Ben Dean-Kawamura
f07cda2602 Bug 1950665 - Upgrade to UniFFI 0.29,
Differential Revision: https://phabricator.services.mozilla.com/D239796
2025-03-26 17:12:06 +00:00
Erich Gubler
3fe6f32b23 Bug 1955085 - build(rust): audit and shim-update half 1.8.3 → 2.5.0 r=supply-chain-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D242217
2025-03-21 17:32:17 +00:00
Erich Gubler
e55f763c31 Bug 1894795 - build(rust): upgrade base64 0.21.3 → 0.22.1 r=glandium,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D229933
2025-03-21 02:58:31 +00:00
Drew Willcoxon
05f10430e4 Bug 1954177 - Vendor application-services d773da92641d92930b7308300e9fc2746a05ce6a for Suggest geo expansion. r=bdk
Differential Revision: https://phabricator.services.mozilla.com/D241667
2025-03-14 17:16:10 +00:00
Drew Willcoxon
1817ce0847 Bug 1952588 - Vendor application-services to 138 for Suggest geo expansion. r=bdk,daisuke
This vendors the `desktop-138` branch [1] of application-services. The `main`
branch currently does not have some PRs that desktop needs because they break
mobile, and we need this on desktop ASAP.

This patch is larger than usual because the vendor includes some major changes
to the application-services `suggest` component, including new and changed API.
As a consequence this patch includes the following important changes:

## New `suggest` API & uniffi

`SuggestStoreBuilder::remote_settings_service` and `RemoteSettingsService::new`
are exposed to JS as synchronous functions. There's no need for them to be
off-main-thread.

## Telemetry

The labels of `suggest.ingest_time`, `ingest_download_time` and `query_time` had
to be updated due to changes in the Rust component. These are minor updates that
don't need a data review.

## Urlbar

I had to make the following changes to urlbar. I tried to keep them to a minimum
for now. There are opportunities for improvements in follow-ups.

* Appropriate minimal integration changes to `SuggestBackendRust` for creating
  the `SuggestStore` and setting up the RS config
* The Rust component uses new RS collections, which breaks tests. I tried to fix
  them without touching too many lines. There are definitely opportunities to
  improve these tests and test helpers that I'd like to come back to.
* A fix to `RemoteSettingsServer` that's required due to the new RS client used
  by the Rust component

## Late writes due to the new RS client & `AsyncShutdown`

This is a urlbar change but it's worth calling out separately. I pushed all
these changes to tryserver, and there was a failure at the end of the browser
Suggest tests due to `LateWriteObserver` [2].

The late write happens when the app exits: `SuggestStore` is dropped, which
causes the new app-services RS client to drop its Sqlite connection, which
causes Sqlite to sync the RS client's DB to disk. This hasn't been a problem
before because `suggest` currently uses the old RS client, which doesn't keep a
DB. (`suggest` does have its own separate Sqlite DB, and I didn't investigate
why this isn't a problem for it, mainly because it makes sense that the new RS
client would sync its DB when it's dropped and that might be considered a "late
write" when it happens on app shutdown.)

According to the stack in the log, `SuggestStore` is dropped by
`nsCycleCollector`. I can't see how `SuggestBackendRust.#store` is involved in a
cycle, and I don't know if something in this patch is causing a cycle where
there wasn't one before. Maybe there always was. And I don't know if the cycle
is what's causing the all this to happen too late on shutdown. Maybe it's
unrelated. (I'll paste the stack in a Phabricator comment.)

The `SuggestStore` is definitely kept alive until
`AsyncShutdown.profileBeforeChange` since we have a barrier for that phase that
calls `interrupt()` on it. Maybe that's simply the problem and we're using a
phase that's too late in shutdown. But again I don't know why it wouldn't also
be a problem for Suggest's own DB.

The only fix I found is to replace `AsyncShutdown.profileBeforeChange` with
either `quitApplicationGranted` or `profileChangeTeardown`, and then null out
`#store` in the callback (after we call `interrupt()` on it). I assume that
fixes it because `profileBeforeChange` runs later than those other two phases.

So I replaced `profileBeforeChange` with `profileChangeTeardown`. I don't know
which of `quitApplicationGranted` or `profileChangeTeardown` is better. I think
it probably doesn't matter. I chose `profileChangeTeardown` because it's closer
to `profileBeforeChange`. (The order is: `quitApplicationGranted`,
`profileChangeTeardown`, `profileBeforeChange`.)

[1] https://github.com/mozilla/application-services/tree/desktop-138
[2] https://treeherder.mozilla.org/jobs?repo=try&revision=1639f87aa46f1afaf50901d80c8282861700019b

Differential Revision: https://phabricator.services.mozilla.com/D240919
2025-03-12 20:20:09 +00:00
Nicolas Chevobbe
80af76ba24 Bug 1950551 - [devtools] Fix source_location of CssRule::NestedDeclarations. r=emilio,supply-chain-reviewers.
Nested declarations were getting the location of their parent rule, which would
cause issue in the DevTools Inspector (e.g. for InspectorUtils.getRelativeRuleLine).
We now track the first declaration of the nested declaration to set it as the location
of the rule.

This required some changes in upstream cssparser that are vendored in this patch:
- 5e477ab819
- 958a3f098a

Differential Revision: https://phabricator.services.mozilla.com/D238911
2025-03-12 05:58:39 +00:00
Chris Martin
7ecd1ad6b4 Bug 1950364 - Update and vendor tempfile r=glandium,supply-chain-reviewers,nika,gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D240093
2025-03-10 17:05:06 +00:00
Mark Banner
fffd1a6e07 Bug 1952712 - Vendor app-services f7947a60b3e9957b97229d6dd08b458532e79c1c. r=bdk
Also mark `SearchEngineSelector.set_config_overrides` as being a sync / main thread function.

Differential Revision: https://phabricator.services.mozilla.com/D240790
2025-03-10 13:25:22 +00:00
Mark Banner
678fa38cbd Bug 1950499 - Vendor app-services d83fcd87f69a23930fed279ab5d2c56173a61db7. r=bdk
Differential Revision: https://phabricator.services.mozilla.com/D239665
2025-03-03 09:00:40 +00:00
Erich Gubler
5c540e4ffe Bug 1945020 - build(rust): bump minimum Rust version 1.76 → 1.82 r=glandium
…but for ASAN/TSAN, use a hack: a 1.82.0 nightly commit that tolerates
`unsafe extern` blocks, but doesn't break our current toolchain patches.

We also remove the `host_or_target_str` check in
`build/moz.configure/toolchain.configure`, at @glandium's suggestion. To
quote him:

> [This] essentially undoes bug 1806040 but that bug predates other
> linker related changes, and I think the discrepancy host/target is not
> necessary anymore.

Differential Revision: https://phabricator.services.mozilla.com/D236028
2025-02-25 02:42:51 +00:00
Erich Gubler
92d6cc8d4b Bug 1949858 - build(rust): shim-upgrade core-graphics-types 0.1.3 → 0.2.0, core-foundation 0.9.4 → 0.10.0, core-foundation-sys 0.8.6 → 0.8.7 r=gfx-reviewers,glandium,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D239209
2025-02-24 15:29:54 +00:00
Butkovits Atila
d1846f9d0f Backed out 2 changesets (bug 1949858) for causing WebRender failures. CLOSED TREE
Backed out changeset 311381302426 (bug 1949858)
Backed out changeset a43a261a4dbb (bug 1949858)
2025-02-24 16:55:15 +02:00
Erich Gubler
de677e28d2 Bug 1949858 - build(rust): shim-upgrade core-graphics-types 0.1.3 → 0.2.0, core-foundation 0.9.4 → 0.10.0, core-foundation-sys 0.8.6 → 0.8.7 r=gfx-reviewers,glandium,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D239209
2025-02-24 13:41:46 +00:00
Butkovits Atila
515aa5ce36 Backed out 2 changesets (bug 1949858) forcausing wrench bustages. CLOSED TREE
Backed out changeset a38ace2f6538 (bug 1949858)
Backed out changeset a56ed79b9609 (bug 1949858)
2025-02-22 06:25:42 +02:00
Erich Gubler
489cb02b0e Bug 1949858 - build(rust): shim-upgrade core-graphics-types 0.1.3 → 0.2.0, core-foundation 0.9.4 → 0.10.0, core-foundation-sys 0.8.6 → 0.8.7 r=gfx-reviewers,glandium,lsalzman
Differential Revision: https://phabricator.services.mozilla.com/D239209
2025-02-22 03:48:43 +00:00
Anna
20ceb96c36 Bug 1942805 - Builtins: building in xul instead of separate library r=glandium,keeler,geckoview-reviewers,browser-installer-reviewers,nalexander,owlish,jschanck
Differential Revision: https://phabricator.services.mozilla.com/D234953
2025-02-21 12:49:03 +00:00
Goloman Adrian
ba170ee295 Backed out changeset ed1adda514e3 (bug 1945020) for causing build bustages @cargo-linker. CLOSED TREE 2025-02-20 02:46:08 +02:00
Erich Gubler
0c5eba3c2b Bug 1945020 - build(rust): bump minimum Rust version 1.76 → 1.82 r=glandium
…but for ASAN/TSAN, use a hack: a 1.82.0 nightly commit that tolerates
`unsafe extern` blocks, but doesn't break our current toolchain patches.

Differential Revision: https://phabricator.services.mozilla.com/D236028
2025-02-19 19:38:46 +00:00
Goloman Adrian
7a6f0dd01d Backed out 10 changesets (bug 1942805, bug 1620998) for causing grandle and ui failures.
Backed out changeset b840c4565b11 (bug 1942805)
Backed out changeset 7acecab7051d (bug 1620998)
Backed out changeset bad9fd65a113 (bug 1620998)
Backed out changeset 11b93a07b5b1 (bug 1620998)
Backed out changeset c6e1addf36e0 (bug 1620998)
Backed out changeset be300aa07606 (bug 1620998)
Backed out changeset fb9daf29a61a (bug 1620998)
Backed out changeset 2ee28adc6f8e (bug 1620998)
Backed out changeset ef24c2b9784c (bug 1620998)
Backed out changeset 8f5c82b3dbe5 (bug 1620998)
2025-02-19 21:24:01 +02:00
Anna
42368e5466 Bug 1942805 - Builtins: building in xul instead of separate library r=glandium,keeler,geckoview-reviewers,browser-installer-reviewers,nalexander,owlish
Differential Revision: https://phabricator.services.mozilla.com/D234953
2025-02-19 15:16:38 +00:00
Gabriele Svelto
5b7d8fdf9a Bug 1620998 - Out-of-process crash generation for child processes r=afranchuk,geckoview-reviewers,glandium,browser-installer-reviewers,nalexander,owlish
This implements the crash helper service used to move child process crash
report generation out of the main process and into its own process. This is
implemented as a separate executable that is launched on startup by the main
process on the desktop platforms and as a service hosted by a separate process
on Android.

One limitation of the current code is that the crash helper process needs to
be running before we can start setting exception handlers in child processes.
This limitation is due to how Breakpad exception handlers register themselves
with the crash generator and prevents us from lazily starting the helper (or
restarting it on Android).

IPC with the crash helper is implemented using Unix sockets on Linux and macOS
with the former using sequential packets and the latter using stream sockets.
On Windows we use named pipes. In all cases the choice of IPC was dictated both
by the requirement to eventually talk directly to child processes from within
the sandbox, and to external processes in case of Windows as the Windows
Error Reporting exception handler must be able to reach out to the helper from
within a restricted context. These particular requirements are not used yet but
will be as we move more logic out of the main process logic.

Differential Revision: https://phabricator.services.mozilla.com/D231083
2025-02-19 12:58:34 +00:00
Butkovits Atila
e172dc8166 Backed out changeset 252a1b94c754 (bug 1942805) for causing failures at test_builtins.js. CLOSED TREE 2025-02-19 13:39:27 +02:00
Anna
9d12ca5e71 Bug 1942805 - Builtins: building in xul instead of separate library r=glandium,keeler,geckoview-reviewers,browser-installer-reviewers,nalexander,owlish
Differential Revision: https://phabricator.services.mozilla.com/D234953
2025-02-19 10:12:11 +00:00
Alexandru Marc
0879b83990 Backed out changeset 86f04c8644c2 (bug 1945020) for causing build bustages CLOSED TREE 2025-02-18 14:09:26 +02:00
Erich Gubler
9b51440e71 Bug 1945020 - build(rust): bump minimum Rust version 1.76 → 1.82 r=glandium
…but for ASAN/TSAN, use a hack: a 1.82.0 nightly commit that tolerates
`unsafe extern` blocks, but doesn't break our current toolchain patches.

Differential Revision: https://phabricator.services.mozilla.com/D236028
2025-02-18 05:46:18 +00:00
Erich Gubler
4966460459 Bug 1945932 - refactor(geckodriver): use yaml-rust instead of serde_yaml r=webdriver-reviewers,glandium,supply-chain-reviewers,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D237824
2025-02-13 21:46:10 +00:00
Stanca Serban
4b816a2102 Backed out 10 changesets (bug 1620998, bug 1565033) for causing xpcshell failures.
Backed out changeset b2a854b53890 (bug 1565033)
Backed out changeset 72e6d58417a6 (bug 1620998)
Backed out changeset 36cbb4c4de20 (bug 1620998)
Backed out changeset 26b4bd0a30fe (bug 1620998)
Backed out changeset 5f24f386b12c (bug 1620998)
Backed out changeset 954fcb2f8ae1 (bug 1620998)
Backed out changeset 48a67f641eff (bug 1620998)
Backed out changeset e342d2531f46 (bug 1620998)
Backed out changeset 1be788431dae (bug 1620998)
Backed out changeset bcb528abe29d (bug 1620998)
2025-02-13 04:18:34 +02:00
Gabriele Svelto
e2f7a6a1c8 Bug 1620998 - Out-of-process crash generation for child processes r=afranchuk,geckoview-reviewers,glandium,browser-installer-reviewers,nalexander,owlish
This implements the crash helper service used to move child process crash
report generation out of the main process and into its own process. This is
implemented as a separate executable that is launched on startup by the main
process on the desktop platforms and as a service hosted by a separate process
on Android.

One limitation of the current code is that the crash helper process needs to
be running before we can start setting exception handlers in child processes.
This limitation is due to how Breakpad exception handlers register themselves
with the crash generator and prevents us from lazily starting the helper (or
restarting it on Android).

IPC with the crash helper is implemented using Unix sockets on Linux and macOS
with the former using sequential packets and the latter using stream sockets.
On Windows we use named pipes. In all cases the choice of IPC was dictated both
by the requirement to eventually talk directly to child processes from within
the sandbox, and to external processes in case of Windows as the Windows
Error Reporting exception handler must be able to reach out to the helper from
within a restricted context. These particular requirements are not used yet but
will be as we move more logic out of the main process logic.

Differential Revision: https://phabricator.services.mozilla.com/D231083
2025-02-12 14:06:10 +00:00
Tooru Fujisawa
082bf439b8 Bug 1945707 - Part 6: Remove smoosh crate. r=nbp,supply-chain-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D237308
2025-02-12 00:41:32 +00:00
Sandor Molnar
77eb9e958e Backed out 9 changesets (bug 1620998) for causing multiple xpc failures. CLOSED TREE
Backed out changeset d261d33c1778 (bug 1620998)
Backed out changeset 159fa2982a24 (bug 1620998)
Backed out changeset 7b2fd4d66216 (bug 1620998)
Backed out changeset 81bf2c760466 (bug 1620998)
Backed out changeset bd4719db23d2 (bug 1620998)
Backed out changeset 074b06a16323 (bug 1620998)
Backed out changeset 0d6ef1c8e871 (bug 1620998)
Backed out changeset 0a7a0876a987 (bug 1620998)
Backed out changeset fe27920e71da (bug 1620998)
2025-02-11 19:23:09 +02:00
Gabriele Svelto
849a598e7b Bug 1620998 - Out-of-process crash generation for child processes r=afranchuk,geckoview-reviewers,glandium,browser-installer-reviewers,nalexander,owlish
This implements the crash helper service used to move child process crash
report generation out of the main process and into its own process. This is
implemented as a separate executable that is launched on startup by the main
process on the desktop platforms and as a service hosted by a separate process
on Android.

One limitation of the current code is that the crash helper process needs to
be running before we can start setting exception handlers in child processes.
This limitation is due to how Breakpad exception handlers register themselves
with the crash generator and prevents us from lazily starting the helper (or
restarting it on Android).

IPC with the crash helper is implemented using Unix sockets on Linux and macOS
with the former using sequential packets and the latter using stream sockets.
On Windows we use named pipes. In all cases the choice of IPC was dictated both
by the requirement to eventually talk directly to child processes from within
the sandbox, and to external processes in case of Windows as the Windows
Error Reporting exception handler must be able to reach out to the helper from
within a restricted context. These particular requirements are not used yet but
will be as we move more logic out of the main process logic.

Differential Revision: https://phabricator.services.mozilla.com/D231083
2025-02-11 13:46:06 +00:00
Alexandru Marc
e3b8358964 Backed out 9 changesets (bug 1620998) for causing multiple failures
Backed out changeset fbdd468c1a87 (bug 1620998)
Backed out changeset 186864c03143 (bug 1620998)
Backed out changeset 76fdeb0d5f29 (bug 1620998)
Backed out changeset 948a12c0b735 (bug 1620998)
Backed out changeset d851c9093643 (bug 1620998)
Backed out changeset cd9fd4003d4c (bug 1620998)
Backed out changeset 285a2c5f5da3 (bug 1620998)
Backed out changeset 63b77e1967fb (bug 1620998)
Backed out changeset e15cdf03ffee (bug 1620998)
2025-02-10 13:36:08 +02:00
Gabriele Svelto
c1aedcc20f Bug 1620998 - Out-of-process crash generation for child processes r=afranchuk,geckoview-reviewers,glandium,browser-installer-reviewers,nalexander,owlish
This implements the crash helper service used to move child process crash
report generation out of the main process and into its own process. This is
implemented as a separate executable that is launched on startup by the main
process on the desktop platforms and as a service hosted by a separate process
on Android.

One limitation of the current code is that the crash helper process needs to
be running before we can start setting exception handlers in child processes.
This limitation is due to how Breakpad exception handlers register themselves
with the crash generator and prevents us from lazily starting the helper (or
restarting it on Android).

IPC with the crash helper is implemented using Unix sockets on Linux and macOS
with the former using sequential packets and the latter using stream sockets.
On Windows we use named pipes. In all cases the choice of IPC was dictated both
by the requirement to eventually talk directly to child processes from within
the sandbox, and to external processes in case of Windows as the Windows
Error Reporting exception handler must be able to reach out to the helper from
within a restricted context. These particular requirements are not used yet but
will be as we move more logic out of the main process logic.

Differential Revision: https://phabricator.services.mozilla.com/D231083
2025-02-10 09:17:47 +00:00
Butkovits Atila
5a085afece Backed out changeset e66bc1e8bbab (bug 1945020) for causing SM bustages. CLOSED TREE 2025-02-08 02:50:08 +02:00
Erich Gubler
dd1bca8759 Bug 1945020 - build(rust): bump minimum Rust version 1.76 → 1.82 r=glandium
…but for ASAN/TSAN, use a hack: a 1.82.0 nightly commit that tolerates
`unsafe extern` blocks, but doesn't break our current toolchain patches.

Differential Revision: https://phabricator.services.mozilla.com/D236028
2025-02-07 20:49:35 +00:00
Stanca Serban
8f8abfc6bf Backed out changeset 92f2e85a4d1d (bug 1945020) for causing sm bustages in math-fdlibm-sincostan.js. CLOSED TREE 2025-02-07 04:23:29 +02:00
Erich Gubler
2fbeb9674c Bug 1945020 - build(rust): bump minimum Rust version 1.76 → 1.82 r=glandium
…but for ASAN/TSAN, use a hack: a 1.82.0 nightly commit that tolerates
`unsafe extern` blocks, but doesn't break our current toolchain patches.

Differential Revision: https://phabricator.services.mozilla.com/D236028
2025-02-06 22:12:03 +00:00