Closed Bug 1063926 Opened 10 years ago Closed 10 years ago

Failures in the toolbox teardown path lead to the destroyed event never firing

Categories

(DevTools :: Framework, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Firefox 35

People

(Reporter: past, Assigned: past)

Details

Attachments

(1 file)

I got this with Fever Dream, but it could happen in other scenarios as well: toolbox.destroy() schedules a number of tasks in the |outstanding| array and waits for all of them to resolve before executing a few more steps. However, if one of the promises in that array is rejected, then the last two tasks will be skipped as the rejection is propagated to the console.error handler in the end of the chain. Among other things that means that the toolbox-destroyed event will not be fired and other entities waiting on that for performing their own cleanup tasks will be SOL.

This is a problem with Fever Dream, which is unable to close the external protocol connection in an orderly fashion, leaving the remote target in an unavailable state.
Simply logging the errors along the teardown path is enough. There is not much that can be done at that stage anyway.
Attachment #8485399 - Flags: review?(jwalker)
Attachment #8485399 - Flags: review?(jwalker) → review+
https://hg.mozilla.org/mozilla-central/rev/f6d4b7254519
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 35
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: