Closed Bug 1610704 Opened 2 months ago Closed 2 months ago

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

Categories

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

defect

Tracking

()

RESOLVED FIXED
mozilla74
Tracking Status
firefox-esr68 --- wontfix
firefox72 --- wontfix
firefox73 --- wontfix
firefox74 --- fixed

People

(Reporter: tsmith, Assigned: sg)

References

(Blocks 2 open bugs, Regression)

Details

(Keywords: assertion, testcase)

Attachments

(3 files)

Attached file testcase.html

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

#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
Flags: in-testsuite?
Attached file a.js

A Pernosco session is available here: https://pernos.co/debug/KQYpHpI1F6Wdnaskfx78gA/index.html

Assignee: nobody → sgiesecke
Status: NEW → ASSIGNED
Regressed by: 1469085
Priority: -- → P2
Pushed by sgiesecke@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5dc4311cac53
Add missing call to base class' Cancel. r=baku
Status: ASSIGNED → RESOLVED
Closed: 2 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla74
Flags: in-testsuite? → in-testsuite-
You need to log in before you can comment on or make changes to this bug.