Closed Bug 1067633 Opened 10 years ago Closed 2 years ago

ContentChild::QuickExit() should not gently fail in debug builds

Categories

(Core :: DOM: Content Processes, task, P3)

task

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: mccr8, Unassigned)

References

Details

QuickExit() is used in a bunch of places.  Only one of those places, the early exit in non-debug builds, is normal.  The rest of the places are places where we've gotten an error we've decided is so bad we need to immediately kill the process.  The problem is that because QuickExit() is very gentle, only doing an NS_WARNING() followed by an _exit(0), there's no noticeable indication of this on automation, so there are a ton of reasons we QuickExit() in a normal run.

Eventually, I'd like to get leak log checking re-enabled, so that we error out if we fail to produce one, which will notice these failures, but it seems like we should actually fail in a way that will give us information about what went wrong, with an assert plus an exit(-1) or something.
Blocks: 1051230
Depends on: 1080017
I'm pushing ahead with an alternate plan to get leak checking working, bug 1091766, but this would still be good to do to be able to detect places that may be behaving badly when they run after shutdown.
No longer blocks: 1051230
https://bugzilla.mozilla.org/show_bug.cgi?id=1472046

Move all DOM bugs that haven't been updated in more than 3 years and has no one currently assigned to P5.

If you have questions, please contact :mdaly.
Priority: -- → P5

IIUC we still have quite some places calling QuickExit() and it still does not do anything to be less gentle.

Do we still want this?

Severity: normal → S4
Type: defect → task
Flags: needinfo?(continuation)
Priority: P5 → P3

I filed this when I was working on getting leak checking working in content processes. The leak checker will complain if there's no leak log, so that's good enough for my purposes. It still seems weird that was just call exit in various failure states, but whatever.

Status: NEW → RESOLVED
Closed: 2 years ago
Flags: needinfo?(continuation)
Resolution: --- → INCOMPLETE

(In reply to Andrew McCreight [:mccr8] from comment #4)

I filed this when I was working on getting leak checking working in content processes. The leak checker will complain if there's no leak log, so that's good enough for my purposes. It still seems weird that was just call exit in various failure states, but whatever.

Could this lead to child processes going away behind the back of the parent without even knowing why? Thinking of shutdown hangs, of course...

I think the parent gets told if the child exits but I don't know how exactly that works.

You need to log in before you can comment on or make changes to this bug.