Closed Bug 1404207 Opened 7 years ago Closed 3 years ago

Assertion failure: false (NS_SUCCEEDED(rv)), at dom/console/ConsoleReportCollector.cpp:80

Categories

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

57 Branch
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: bc, Unassigned)

References

()

Details

(Keywords: assertion)

Attachments

(1 file)

Attached file Linux Debug Asan Log
1. https://www.olx.co.za/cars-bakkies_c378/q-audi%20a4
   Nightly/58, Beta/57 *ASAN DEBUG* build.

2. Assertion failure: false (NS_SUCCEEDED(rv)), at /builds/worker/workspace/build/src/dom/console/ConsoleReportCollector.cpp:80
#01: mozilla::net::HttpBaseChannel::DoNotifyListener() (/builds/worker/workspace/build/src/netwerk/protocol/http/HttpBaseChannel.cpp:3280 (discriminator 1))
#02: mozilla::net::HttpAsyncAborter<mozilla::net::HttpChannelChild>::HandleAsyncAbort() (/builds/worker/workspace/build/src/netwerk/protocol/http/HttpBaseChannel.h:735)
#03: mozilla::net::HttpChannelChild::HandleAsyncAbort() (:?)
#04: mozilla::detail::RunnableMethodImpl<mozilla::net::HttpChannelChild*, void (mozilla::net::HttpChannelChild::*)(), true, (mozilla::RunnableKind)0>::Run() (:?)
#05: nsThread::ProcessNextEvent(bool, bool*) (/builds/worker/workspace/build/src/xpcom/threads/nsThread.cpp:1040)
#06: NS_ProcessNextEvent(nsIThread*, bool) (/builds/worker/workspace/build/src/xpcom/threads/nsThreadUtils.cpp:524 (discriminator 3))
#07: mozilla::dom::workers::RuntimeService::Cleanup() (/builds/worker/workspace/build/src/dom/workers/RuntimeService.cpp:2156)
#08: mozilla::dom::workers::RuntimeService::Observe(nsISupports*, char const*, char16_t const*) (:?)
Hi Tom, having any clues of how come |nsresult rv = NS_NewURI(getter_AddRefs(uri), report.mSourceFileURI);| could fail even when mSourceFileURI is non-empty?
Flags: needinfo?(ttung)
It seems like we cannot get IOService while wanting to convert the URI from nsString to nsIURI.

From the log just before hitting the assert in attachment 8913558 [details]:

[Parent 15883, Main Thread] WARNING: cannot post event if not initialized: file /builds/worker/workspace/build/src/netwerk/protocol/http/nsHttpConnectionMgr.cpp, line 292

It shows that mSocketThreadTarget [1] hasn't been set at this time. That means mozilla::net::nsHttpConnectionMgr::Init() [2] haven't been called yet. And, it's called by nsHttpHandler::InitConnectionMgr() [3], which is called by nsHttpHandler::Init() [4].

Meanwhile, nsHttpHandler::Init() also initialize the mIOService [5] and we use its member function to NewURI() to convert URI from nsString to nsIURI. Thus, NS_NewURI() fails.

[1] http://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsHttpConnectionMgr.cpp#291-294
[2] http://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsHttpConnectionMgr.cpp#171-202
[3] http://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsHttpHandler.cpp#593
[4] http://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsHttpHandler.cpp#484
[5] http://searchfox.org/mozilla-central/source/netwerk/protocol/http/nsHttpHandler.cpp#412
Flags: needinfo?(ttung)
Maybe Shian-Yow could point us certain necko folks who could check what comment 2 found.
Flags: needinfo?(swu)
Kershaw, do you have idea about what found in comment 2?
Flags: needinfo?(swu) → needinfo?(kechang)
Priority: -- → P3
(In reply to Tom Tung [:tt] from comment #2)
> It seems like we cannot get IOService while wanting to convert the URI from
> nsString to nsIURI.
> 
> From the log just before hitting the assert in attachment 8913558 [details]:
> 
> [Parent 15883, Main Thread] WARNING: cannot post event if not initialized:
> file
> /builds/worker/workspace/build/src/netwerk/protocol/http/nsHttpConnectionMgr.
> cpp, line 292
> 
> It shows that mSocketThreadTarget [1] hasn't been set at this time. That
> means mozilla::net::nsHttpConnectionMgr::Init() [2] haven't been called yet.
> And, it's called by nsHttpHandler::InitConnectionMgr() [3], which is called
> by nsHttpHandler::Init() [4].
> 

When mSocketThreadTarget is null, it could also be happened during shutdown.
I think maybe we should remove the asseration at [1] since NS_NewURI could be failed during shutdown.

What do you think, Tom?

[1] https://searchfox.org/mozilla-central/rev/31606bbabc50b08895d843b9f5f3da938ccdfbbf/dom/console/ConsoleReportCollector.cpp#80
Flags: needinfo?(kechang) → needinfo?(ttung)
I'm fine with removing it. Thanks!

Just want to note that if we remove this line, the error reports won't show up to web/browser console. Also, we need to add NS_WARN_IF() to this line [1].

[1] https://searchfox.org/mozilla-central/rev/31606bbabc50b08895d843b9f5f3da938ccdfbbf/dom/console/ConsoleReportCollector.cpp#81
Flags: needinfo?(ttung)
See Also: → 1628728

No longer asserts on Linux debug or asan debug. Maybe fixed by bug 1628728 but resolving WFM.

Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: