Closed Bug 1884147 Opened 1 year ago Closed 1 year ago

Move the code used to poke processes from mozannotation_server to the process_reader crate

Categories

(Toolkit :: Crash Reporting, task)

task

Tracking

()

RESOLVED FIXED
126 Branch
Tracking Status
firefox126 --- fixed

People

(Reporter: gsvelto, Assigned: gsvelto)

References

Details

Attachments

(2 files)

As per title, we need the facility used to peek into other processes from more code so it's better to avoid duplications and move it all in one single crate. We might want to publish it too.

Specifically this is about factoring out the toolkit/crashreporter/mozannotation_server/src/procss_reader folder and into toolkit/crashreporter/process_reader.

Assignee: nobody → gsvelto
Status: NEW → ASSIGNED
Blocks: 1876590

buildid_reader crate introduced in bug 1876590 will also have to do the same

Attachment #9390122 - Attachment description: WIP: Bug 1884147 - Add Linux support to the process_reader crate and tweak the errors → WIP: Bug 1884147 - Add macOS & Linux support to the process_reader crate
Attachment #9390122 - Attachment description: WIP: Bug 1884147 - Add macOS & Linux support to the process_reader crate → WIP: Bug 1884147 - Add macOS & Linux support to the process_reader crate r=gerard-majax
Attachment #9390123 - Attachment description: WIP: Bug 1884147 - Make mozannotation_server use the process_reader crate → WIP: Bug 1884147 - Make mozannotation_server use the process_reader crate r=gerard-majax
Attachment #9390122 - Attachment description: WIP: Bug 1884147 - Add macOS & Linux support to the process_reader crate r=gerard-majax → Bug 1884147 - Add macOS & Linux support to the process_reader crate r=gerard-majax
Attachment #9390123 - Attachment description: WIP: Bug 1884147 - Make mozannotation_server use the process_reader crate r=gerard-majax → Bug 1884147 - Make mozannotation_server use the process_reader crate r=gerard-majax
Pushed by gsvelto@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/368faa4ea19d Add macOS & Linux support to the process_reader crate r=gerard-majax https://hg.mozilla.org/integration/autoland/rev/257bbdeecf35 Make mozannotation_server use the process_reader crate r=gerard-majax

Backed out for causing build bustages.

[task 2024-03-19T05:43:26.704Z] 05:43:26     INFO -  [swgl 0.1.0] Info: default compiler flags are disabled
[task 2024-03-19T05:43:26.704Z] 05:43:26    ERROR -  error[E0277]: `?` couldn't convert the error to `ProcessReaderError`
[task 2024-03-19T05:43:26.704Z] 05:43:26     INFO -    --> toolkit/crashreporter/process_reader/src/platform/windows.rs:89:82
[task 2024-03-19T05:43:26.704Z] 05:43:26     INFO -     |
[task 2024-03-19T05:43:26.704Z] 05:43:26     INFO -  89 |             let buffer_size: u32 = (module_num * size_of::<HMODULE>()).try_into()?;
[task 2024-03-19T05:43:26.705Z] 05:43:26     INFO -     |                                                                                  ^ the trait `From<TryFromIntError>` is not implemented for `ProcessReaderError`
[task 2024-03-19T05:43:26.705Z] 05:43:26     INFO -     |
[task 2024-03-19T05:43:26.705Z] 05:43:26     INFO -     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[task 2024-03-19T05:43:26.706Z] 05:43:26     INFO -     = help: the following other types implement trait `From<T>`:
[task 2024-03-19T05:43:26.706Z] 05:43:26     INFO -               <ProcessReaderError as From<ReadError>>
[task 2024-03-19T05:43:26.706Z] 05:43:26     INFO -               <ProcessReaderError as From<goblin::error::Error>>
[task 2024-03-19T05:43:26.706Z] 05:43:26     INFO -               <ProcessReaderError as From<ParseIntError>>
[task 2024-03-19T05:43:26.707Z] 05:43:26     INFO -     = note: required for `Result<Vec<isize>, ProcessReaderError>` to implement `FromResidual<Result<Infallible, TryFromIntError>>`
[task 2024-03-19T05:43:26.707Z] 05:43:26     INFO -  For more information about this error, try `rustc --explain E0277`.
[task 2024-03-19T05:43:26.707Z] 05:43:26    ERROR -  error: could not compile `process_reader` (lib) due to 1 previous error
[task 2024-03-19T05:43:26.707Z] 05:43:26     INFO -  Caused by:
[task 2024-03-19T05:43:26.710Z] 05:43:26     INFO -    process didn't exit successfully: `CARGO=/builds/worker/fetches/rustc/bin/cargo CARGO_CRATE_NAME=process_reader CARGO_MANIFEST_DIR=/builds/worker/checkouts/gecko/toolkit/crashreporter/process_reader CARGO_PKG_AUTHORS='Gabriele Svelto' CARGO_PKG_DESCRIPTION='' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE=MPL-2.0 CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=process_reader CARGO_PKG_README='' CARGO_PKG_REPOSITORY='' CARGO_PKG_RUST_VERSION='' CARGO_PKG_VERSION=0.1.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=1 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' LD_LIBRARY_PATH='/builds/worker/workspace/obj-build/release/deps:/builds/worker/fetches/rustc/lib' /builds/worker/fetches/sccache/sccache /builds/worker/fetches/rustc/bin/rustc --crate-name process_reader --edition=2018 toolkit/crashreporter/process_reader/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=2 -C panic=abort -C embed-bitcode=no -C metadata=319c9d6502759215 -C extra-filename=-319c9d6502759215 --out-dir /builds/worker/workspace/obj-build/x86_64-pc-windows-msvc/release/deps --target x86_64-pc-windows-msvc -C linker=/builds/worker/checkouts/gecko/build/cargo-linker -L dependency=/builds/worker/workspace/obj-build/x86_64-pc-windows-msvc/release/deps -L dependency=/builds/worker/workspace/obj-build/release/deps --extern goblin=/builds/worker/workspace/obj-build/x86_64-pc-windows-msvc/release/deps/libgoblin-c6682002ad4a4e83.rmeta --extern memoffset=/builds/worker/workspace/obj-build/x86_64-pc-windows-msvc/release/deps/libmemoffset-287779c7edc6a47d.rmeta --extern thiserror=/builds/worker/workspace/obj-build/x86_64-pc-windows-msvc/release/deps/libthiserror-f79d8860d4f8d9e3.rmeta --extern windows_sys=/builds/worker/workspace/obj-build/x86_64-pc-windows-msvc/release/deps/libwindows_sys-3a3b9e862cc860f9.rmeta -C debuginfo=2 -C force-frame-pointers=yes -C control-flow-guard=yes -Dwarnings -Aproc-macro-back-compat -Cembed-bitcode=yes -C codegen-units=1` (exit status: 1)
[task 2024-03-19T05:43:26.710Z] 05:43:26     INFO -  warning: build failed, waiting for other jobs to finish...
Flags: needinfo?(gsvelto)

I think I had already fixed these issues locally but I forgot to push to phabricator before landing, silly me. Here's another try run just in case before I land again.

Flags: needinfo?(gsvelto)
Pushed by gsvelto@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/e39e22a4f88f Add macOS & Linux support to the process_reader crate r=gerard-majax https://hg.mozilla.org/integration/autoland/rev/288e23f5eef3 Make mozannotation_server use the process_reader crate r=gerard-majax
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 126 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: