Closed Bug 2082922 Opened 1 month ago Closed 2 days ago

Collect annotations for Android Isolated Processes

Categories

(Toolkit :: Crash Reporting, enhancement)

enhancement

Tracking

()

RESOLVED FIXED
162 Branch
Tracking Status
firefox162 --- fixed

People

(Reporter: schopin, Assigned: schopin)

References

Details

Attachments

(6 external files)

Isolated Processes prevent us from using ptrace to read the crashed process memory, we'll need to update the process_reader crate to use the forked executor instead.

Interestingly this also hits the desktop case, as YAMA only allows for one process to ptrace() and the remote executor is it.

Sometimes on Linux we can't use the standard mechanism, and instead must
use the remote executor to read stuff off the crashed process, so we
allow for that in our in-tree process_reader crate.

Expose a new API to retrieve annotations through a remote executor
(represented by a socket), rather than the standard process handle.

The minidump writer ends its session once the dump is written, but we need
the executor to stay around so that the crash annotations can be read too.

This lets callers choose how the annotations are read, which will be needed
for processes dumped through the remote executor.

The server keeps its end of the remote executor socket open until the dump
callback returns, so the crash helper can reuse it to read the annotations
once the minidump has been written.

Attachment #9673938 - Attachment description: WIP: Bug 2082922 - Allow process_reader to read a process through the remote executor. r=#crashreporting-reviewers → Bug 2082922 - Allow process_reader to read a process through the remote executor. r=#crashreporting-reviewers
Attachment #9673939 - Attachment description: WIP: Bug 2082922 - mozannotation_server: add a remote reading annotation primitive r=#crashreporting-reviewers → Bug 2082922 - mozannotation_server: add a remote reading annotation primitive r=#crashreporting-reviewers
Attachment #9673940 - Attachment description: WIP: Bug 2082922 - Keep the remote executor running until the server hangs up. r?#crashreporting-reviewers → Bug 2082922 - Have the remote executor serve multiple sessions r=#crashreporting-reviewers
Attachment #9673941 - Attachment description: WIP: Bug 2082922 - Retrieve child annotations before finalizing crash reports. r?#crashreporting-reviewers → Bug 2082922 - Let callers of finalize_crash_report() retrieve the child annotations. r=#crashreporting-reviewers
Attachment #9673942 - Attachment description: WIP: Bug 2082922 - Read the annotations of remotely dumped processes through the remote executor. r?#crashreporting-reviewers → Bug 2082922 - Wire through the remote executor to read annotations r=#crashreporting-reviewers
Pushed by schopin@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/ee7dcb94e7c7 https://hg.mozilla.org/integration/autoland/rev/0555b2d04fd4 Pick up the minidump-writer remote transport panic fix r=crashreporting-reviewers,supply-chain-reviewers,afranchuk https://github.com/mozilla-firefox/firefox/commit/fcd0da65a6d4 https://hg.mozilla.org/integration/autoland/rev/f58c00d967ef Allow process_reader to read a process through the remote executor. r=crashreporting-reviewers,afranchuk https://github.com/mozilla-firefox/firefox/commit/29f1fb674a93 https://hg.mozilla.org/integration/autoland/rev/411bde13d267 mozannotation_server: add a remote reading annotation primitive r=crashreporting-reviewers,afranchuk https://github.com/mozilla-firefox/firefox/commit/36ff9bdcd33d https://hg.mozilla.org/integration/autoland/rev/ffab1bd25313 Have the remote executor serve multiple sessions r=crashreporting-reviewers,afranchuk https://github.com/mozilla-firefox/firefox/commit/34ee244c4f1f https://hg.mozilla.org/integration/autoland/rev/bffab9581640 Let callers of finalize_crash_report() retrieve the child annotations. r=crashreporting-reviewers,afranchuk https://github.com/mozilla-firefox/firefox/commit/e2d56589eb3c https://hg.mozilla.org/integration/autoland/rev/2d6eb0fb10d2 Wire through the remote executor to read annotations r=crashreporting-reviewers,geckoview-reviewers,afranchuk,ohall
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: