Closed
Bug 1148854
Opened 9 years ago
Closed 9 years ago
Assertion failure: registration, at dom/workers/ServiceWorkerManager.cpp:2374
Categories
(Core :: DOM: Core & HTML, defect)
Tracking
()
RESOLVED
FIXED
mozilla40
Tracking | Status | |
---|---|---|
firefox40 | --- | fixed |
People
(Reporter: ehsan.akhgari, Assigned: ehsan.akhgari)
References
Details
Attachments
(2 files)
1.22 KB,
patch
|
jdm
:
review+
|
Details | Diff | Splinter Review |
1.02 KB,
patch
|
jdm
:
review+
|
Details | Diff | Splinter Review |
I sometimes get this when I'm debugging a test failure. We cannot assert registration here, since the SW may be unregistered by the time for example an in flight network connection is made. Assertion failure: registration, at /Users/ehsan/moz/src/dom/workers/ServiceWorkerManager.cpp:2374 #01: mozilla::dom::workers::ServiceWorkerManager::DispatchFetchEvent(nsIDocument*, nsIInterceptedChannel*, bool) (ServiceWorkerManager.cpp:2374, in XUL) #02: nsDocShell::ChannelIntercepted(nsIInterceptedChannel*) (nsDocShell.cpp:14022, in XUL) #03: non-virtual thunk to nsDocShell::ChannelIntercepted(nsIInterceptedChannel*) (nsDocShell.cpp:14023, in XUL) #04: mozilla::net::InterceptedChannelBase::DoNotifyController() (InterceptedChannel.cpp:58, in XUL) #05: mozilla::net::InterceptedChannelChrome::NotifyController() (InterceptedChannel.cpp:123, in XUL) #06: mozilla::net::nsHttpChannel::OpenCacheEntry(bool) (nsHttpChannel.cpp:2778, in XUL) #07: mozilla::net::nsHttpChannel::Connect() (nsHttpChannel.cpp:347, in XUL) #08: mozilla::net::nsHttpChannel::ContinueBeginConnect() (nsHttpChannel.cpp:5054, in XUL) #09: mozilla::net::nsHttpChannel::BeginConnect() (nsHttpChannel.cpp:4989, in XUL) #10: mozilla::net::nsHttpChannel::OnProxyAvailable(nsICancelable*, nsIChannel*, nsIProxyInfo*, nsresult) (nsHttpChannel.cpp:5116, in XUL) #11: non-virtual thunk to mozilla::net::nsHttpChannel::OnProxyAvailable(nsICancelable*, nsIChannel*, nsIProxyInfo*, nsresult) (nsHttpChannel.cpp:5131, in XUL) #12: nsAsyncResolveRequest::DoCallback() (nsProtocolProxyService.cpp:257, in XUL) #13: nsAsyncResolveRequest::OnQueryComplete(nsresult, nsCString const&, nsCString const&) (nsProtocolProxyService.cpp:227, in XUL) #14: non-virtual thunk to nsAsyncResolveRequest::OnQueryComplete(nsresult, nsCString const&, nsCString const&) (nsProtocolProxyService.cpp:227, in XUL) #15: ExecuteCallback::Run() (nsPACMan.cpp:82, in XUL) #16: nsThread::ProcessNextEvent(bool, bool*) (nsThread.cpp:856, in XUL) #17: NS_ProcessPendingEvents(nsIThread*, unsigned int) (nsThreadUtils.cpp:207, in XUL) #18: nsBaseAppShell::NativeEventCallback() (nsBaseAppShell.cpp:99, in XUL) #19: nsAppShell::ProcessGeckoEvents(void*) (nsAppShell.mm:377, in XUL) #20: __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ (in CoreFoundation) + 17 #21: __CFRunLoopDoSources0 (in CoreFoundation) + 269 #22: __CFRunLoopRun (in CoreFoundation) + 927 #23: CFRunLoopRunSpecific (in CoreFoundation) + 296 #24: RunCurrentEventLoopInMode (in HIToolbox) + 235 #25: ReceiveNextEventCommon (in HIToolbox) + 179 #26: _BlockUntilNextEventMatchingListInModeWithFilter (in HIToolbox) + 71 #27: _DPSNextEvent (in AppKit) + 964 #28: -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in AppKit) + 194 #29: -[GeckoNSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (nsAppShell.mm:118, in XUL) #30: -[NSApplication run] (in AppKit) + 594 #31: nsAppShell::Run() (nsAppShell.mm:651, in XUL) #32: nsAppStartup::Run() (nsAppStartup.cpp:281, in XUL) #33: XREMain::XRE_mainRun() (nsAppRunner.cpp:4202, in XUL) #34: XREMain::XRE_main(int, char**, nsXREAppData const*) (nsAppRunner.cpp:4278, in XUL) #35: XRE_main (nsAppRunner.cpp:4498, in XUL) #36: do_main(int, char**, nsIFile*) (nsBrowserApp.cpp:294, in firefox) #37: main (nsBrowserApp.cpp:667, in firefox)
Assignee | ||
Updated•9 years ago
|
Blocks: ServiceWorkers-B2G
Summary: Assertion failure: registration, at /Users/ehsan/moz/src/dom/workers/ServiceWorkerManager.cpp:2374 → Assertion failure: registration, at dom/workers/ServiceWorkerManager.cpp:2374
Assignee | ||
Comment 1•9 years ago
|
||
Attachment #8585104 -
Flags: review?(nsm.nikhil)
Comment on attachment 8585104 [details] [diff] [review] Relax the assertion in ServiceWorkerManager::DispatchFetchEvent Review of attachment 8585104 [details] [diff] [review]: ----------------------------------------------------------------- Josh, I'm having trouble understanding the error flow here. Seems like DispatchFetchEvent()'s return value is discarded and does not affect the transaction here https://dxr.mozilla.org/mozilla-central/source/netwerk/protocol/http/nsHttpChannel.cpp#2778 What will happen in such a case? Will the channel fall back to the network or get stuck forever? ehsan, if jdm says it will fall back to network, r=me.
Attachment #8585104 -
Flags: review?(nsm.nikhil) → feedback?(josh)
Comment 3•9 years ago
|
||
It won't fall back. We should make DoNotifyController call ResetInterception if ChannelIntercepted returns a failure code - http://mxr.mozilla.org/mozilla-central/source/netwerk/protocol/http/InterceptedChannel.cpp#58 .
Assignee | ||
Comment 4•9 years ago
|
||
Attachment #8585833 -
Flags: review?(josh)
Assignee | ||
Updated•9 years ago
|
Attachment #8585104 -
Flags: feedback?(josh) → review?(josh)
Updated•9 years ago
|
Attachment #8585104 -
Flags: review?(josh) → review+
Updated•9 years ago
|
Attachment #8585833 -
Flags: review?(josh) → review+
Comment 5•9 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/2b3f2bd98c05 https://hg.mozilla.org/mozilla-central/rev/390a396557e1
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox40:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla40
Updated•5 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•