Bug 1610704 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Assertion failure: IsCanceled() (Subclass Cancel() didn't set IsCanceled()!), at dom/workers/WorkerRunnable.cpp:244

```c
#0 mozilla::dom::WorkerRunnable::Run() dom/workers/WorkerRunnable.cpp:241:5
#1 nsThread::ProcessNextEvent(bool, bool*) xpcom/threads/nsThread.cpp:1220:14
#2 NS_ProcessPendingEvents(nsIThread*, unsigned int) xpcom/threads/nsThreadUtils.cpp:434:19
#3 mozilla::dom::WorkerPrivate::ClearMainEventQueue(mozilla::dom::WorkerPrivate::WorkerRanOrNot) dom/workers/WorkerPrivate.cpp:3451:5
#4 mozilla::dom::WorkerPrivate::DestroySyncLoop(unsigned int) dom/workers/WorkerPrivate.cpp:3844:7
#5 mozilla::dom::WorkerPrivate::RunCurrentSyncLoop() dom/workers/WorkerPrivate.cpp:3812:10
#6 mozilla::dom::WorkerMainThreadRunnable::Dispatch(mozilla::dom::WorkerStatus, mozilla::ErrorResult&) dom/workers/WorkerRunnable.cpp:557:27
#7 mozilla::dom::Notification::GetPermission(nsIGlobalObject*, mozilla::ErrorResult&) dom/notification/Notification.cpp:1487:8
#8 mozilla::dom::Notification::ShowPersistentNotification(JSContext*, nsIGlobalObject*, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, mozilla::dom::NotificationOptions const&, mozilla::dom::ServiceWorkerRegistrationDescriptor const&, mozilla::ErrorResult&) dom/notification/Notification.cpp:2164:39
#9 mozilla::dom::ServiceWorkerRegistration::ShowNotification(JSContext*, nsTSubstring<char16_t> const&, mozilla::dom::NotificationOptions const&, mozilla::ErrorResult&) dom/serviceworkers/ServiceWorkerRegistration.cpp:337:23
#10 mozilla::dom::ServiceWorkerRegistration_Binding::showNotification(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) obj-firefox/dom/bindings/ServiceWorkerRegistrationBinding.cpp:504:60
#11 mozilla::dom::ServiceWorkerRegistration_Binding::showNotification_promiseWrapper(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) obj-firefox/dom/bindings/ServiceWorkerRegistrationBinding.cpp:518:13
#12 bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ConvertExceptionsToPromises>(JSContext*, unsigned int, JS::Value*) dom/bindings/BindingUtils.cpp:3151:13
```
Reduced with m-c `20200121-875ae8e3ce6f`

The test case must be served via a webserver to reproduce the issue.

Assertion failure: IsCanceled() (Subclass Cancel() didn't set IsCanceled()!), at dom/workers/WorkerRunnable.cpp:244

```c
#0 mozilla::dom::WorkerRunnable::Run() dom/workers/WorkerRunnable.cpp:241:5
#1 nsThread::ProcessNextEvent(bool, bool*) xpcom/threads/nsThread.cpp:1220:14
#2 NS_ProcessPendingEvents(nsIThread*, unsigned int) xpcom/threads/nsThreadUtils.cpp:434:19
#3 mozilla::dom::WorkerPrivate::ClearMainEventQueue(mozilla::dom::WorkerPrivate::WorkerRanOrNot) dom/workers/WorkerPrivate.cpp:3451:5
#4 mozilla::dom::WorkerPrivate::DestroySyncLoop(unsigned int) dom/workers/WorkerPrivate.cpp:3844:7
#5 mozilla::dom::WorkerPrivate::RunCurrentSyncLoop() dom/workers/WorkerPrivate.cpp:3812:10
#6 mozilla::dom::WorkerMainThreadRunnable::Dispatch(mozilla::dom::WorkerStatus, mozilla::ErrorResult&) dom/workers/WorkerRunnable.cpp:557:27
#7 mozilla::dom::Notification::GetPermission(nsIGlobalObject*, mozilla::ErrorResult&) dom/notification/Notification.cpp:1487:8
#8 mozilla::dom::Notification::ShowPersistentNotification(JSContext*, nsIGlobalObject*, nsTSubstring<char16_t> const&, nsTSubstring<char16_t> const&, mozilla::dom::NotificationOptions const&, mozilla::dom::ServiceWorkerRegistrationDescriptor const&, mozilla::ErrorResult&) dom/notification/Notification.cpp:2164:39
#9 mozilla::dom::ServiceWorkerRegistration::ShowNotification(JSContext*, nsTSubstring<char16_t> const&, mozilla::dom::NotificationOptions const&, mozilla::ErrorResult&) dom/serviceworkers/ServiceWorkerRegistration.cpp:337:23
#10 mozilla::dom::ServiceWorkerRegistration_Binding::showNotification(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) obj-firefox/dom/bindings/ServiceWorkerRegistrationBinding.cpp:504:60
#11 mozilla::dom::ServiceWorkerRegistration_Binding::showNotification_promiseWrapper(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) obj-firefox/dom/bindings/ServiceWorkerRegistrationBinding.cpp:518:13
#12 bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ConvertExceptionsToPromises>(JSContext*, unsigned int, JS::Value*) dom/bindings/BindingUtils.cpp:3151:13
```

Back to Bug 1610704 Comment 0