Closed Bug 1583659 Opened 6 months ago Closed 6 months ago

Race between inheriting controller and client shutdown for Service-Worker-controlled Blob URI workers under SW-e10s

Categories

(Core :: DOM: Service Workers, defect, P2)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1584007

People

(Reporter: perry, Assigned: perry)

References

Details

Attachments

(1 obsolete file)

This race condition is exposed by browser_storage_permission.js

The racy interleaving of events is as follows:

Inheriting a controller:

Client shutdown (initiated by DedicatedWorkerGlobalScope.close):

It's possible that the ClientSourceParent gets created and destroyed in the parent before the ClientHandle tries to find the ClientSourceParent (in this case it'll never be found). As a result, this keeps the controlling Service Worker alive because the controlled client counter is always non-zero.

Blocks: 1456995
Status: NEW → RESOLVED
Closed: 6 months ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1584007

This avoids the race condition where a ClientHandle tries to connect to its
ClientSource (via their actors), but the ClientSource's actor has already
unregistered itself from the ClientManagerService.

Depends on D43170

Attachment #9095567 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.