Closed Bug 1802064 Opened 2 years ago Closed 2 years ago

Writing crash annotations on Windows can loop infinitely on error

Categories

(Toolkit :: Crash Reporting, defect)

Unspecified
Windows
defect

Tracking

()

RESOLVED FIXED
110 Branch
Tracking Status
firefox110 --- fixed

People

(Reporter: jld, Assigned: jld)

References

Details

Attachments

(1 file)

When we write crash annotations to the pipe on Windows, we need to check for errors. Currently we don't, which means that if the parent has already closed its end, the writer will go into an infinite loop and effectively hang in the exception handler instead of exiting; see also bug 1793525 comment #5.

I have a patch for this and it passes (locally) all the tests under toolkit/crashreporter/test.

When we're writing to the crash annotation pipe in a child process
exception handler, it can fail if the parent process has already closed
the reading end during the GeckoChildProcessHost destructor (i.e., if
the crash happens late in shutdown), and probably for other reasons.

This patch checks for that error case and stops writing; previously we'd
get into an infinite loop.

The severity field is not set for this bug.
:gsvelto, could you have a look please?

For more information, please visit auto_nag documentation.

Flags: needinfo?(gsvelto)
Severity: -- → S2
Flags: needinfo?(gsvelto)
Pushed by jedavis@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0d1da894b204 Handle failure to send crash annotations from child to parent on Windows. r=gsvelto
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 110 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: