Closed Bug 1173361 Opened 6 years ago Closed 6 years ago

ServiceWorkerRegisterJob::Start() incorrectly calls Done() synchronously

Categories

(Core :: DOM: Service Workers, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla41
Tracking Status
firefox41 --- fixed

People

(Reporter: bkelly, Assigned: bkelly)

References

Details

Attachments

(1 file)

While writing the test in bug 1169819 I was able to trigger this assert:

Assertion failure: !mPopping (Pop() called recursively, did you write a job which calls Done() synchronously from Start()?), at /srv/mozilla-central/dom/workers/ServiceWorkerManager.cpp:203
#01: mozilla::dom::workers::ServiceWorkerJob::Done(nsresult) (/srv/mozilla-central/dom/workers/ServiceWorkerManager.cpp:280)
#02: mozilla::dom::workers::ServiceWorkerRegisterJob::Start() (/srv/mozilla-central/dom/workers/ServiceWorkerManager.cpp:781)
#03: mozilla::dom::workers::ServiceWorkerJobQueue::Pop() (/srv/mozilla-central/dom/workers/ServiceWorkerManager.cpp:209)
#04: mozilla::dom::workers::ServiceWorkerJob::Done(nsresult) (/srv/mozilla-central/dom/workers/ServiceWorkerManager.cpp:280)

This is caused by ServiceWorkerRegisterJob::Start() calling Done() synchronously.
setting v1 dependency. Thanks!
https://hg.mozilla.org/mozilla-central/rev/8fba915650d9
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla41
You need to log in before you can comment on or make changes to this bug.