Open Bug 1588530 Opened 5 years ago Updated 2 months ago

[meta] Crash reporting Rust rewrite

Categories

(Toolkit :: Crash Reporting, task)

task

Tracking

()

People

(Reporter: gsvelto, Unassigned)

References

(Depends on 5 open bugs, Blocks 1 open bug)

Details

(Keywords: meta)

We'll use this meta-bug to track all activities related to the crash reporter rewrite. Here's links to the design documents with all the nitty-gritty details:

Depends on: 1588534
Depends on: 1588538
Blocks: 1588739
No longer blocks: 1588739
Depends on: 1588739
Depends on: 1588740
Depends on: 1588742
Depends on: 1594344
Depends on: 1339035
Depends on: 1596292
Depends on: 1597199

Do the Linux libc limitations of the current crashreporter (which I don't quite understand yet) carry over to the Rust reporter?

Flags: needinfo?(gsvelto)

(In reply to David Teller [:Yoric] (please use "needinfo") from comment #1)

Do the Linux libc limitations of the current crashreporter (which I don't quite understand yet) carry over to the Rust reporter?

Generally speaking no. Most of the limitations regarding libc on Linux (and functions doing allocations on macOS & Windows) stem from the fact that they run within the exception handler and so they might trigger a recursive exception which we obviously don't want. Right now when the main process crashes we have to generate the minidump from within the crashed process which causes the exception handler to be large and complex. The Rust rewrite will do all minidump generation out-of-process so the exception handler will be a lot smaller and thus will only require to do a minimum amount of external calls to do its job.

You can find more details on this problem (and other ones too) in the documents in comment 0.

Flags: needinfo?(gsvelto)

Most of the limitations regarding libc on Linux (and functions doing allocations on macOS & Windows) stem from the fact that they run within the exception handler and so they might trigger a recursive exception which we obviously don't want.

Yeah, that's what I figured at first. And then, digging up in the code, it started mentioning sandboxing, at which point I stopped.

You can find more details on this problem (and other ones too) in the documents in comment 0.

You're right, I should have read this first. Thanks, will catch up on this!

Depends on: 1614933
Depends on: 1617202
No longer blocks: 1622316
Depends on: 1622316
Blocks: 1637048
See Also: → 1633687
Depends on: 1641899
Depends on: 1307381
Depends on: 1641928
Depends on: 1648692
Blocks: 1593850
Depends on: 1678591
Depends on: 1741205
Depends on: 1743983
Depends on: 1759175
Severity: normal → S3
Depends on: 1793784
Depends on: 1798688
Depends on: 1830709
No longer blocks: 1593850
No longer blocks: 1637048
See Also: 16336871637048
You need to log in before you can comment on or make changes to this bug.