Closed Bug 1393044 Opened 7 years ago Closed 7 years ago

Large volume of "No outer window available" warnings from dom/base/nsGlobalWindow.cpp, line 12711

Categories

(Core :: DOM: Core & HTML, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox57 --- fixed

People

(Reporter: Alex_Gaynor, Assigned: baku)

Details

(Keywords: good-first-bug)

Attachments

(1 file)

I _think_ this is a newish thing in the last few days.

STR:
* ./mach run (revision b911a4c97fde)
* Browse to cnn.com
* Observe over 1000 of the following files:

[Child 78094] WARNING: No outer window available!: file /Users/agaynor/projects/mozilla-central/dom/base/nsGlobalWindow.cpp, line 12711
I'm not sure what's changed here recently. Make baku knows what would cause this?
Flags: needinfo?(amarchesini)
A full stack for this warning might help identify the source of the problem.
It's top 10 at least:

> 11842 WARNING: No outer window available!: file dom/base/nsGlobalWindow.cpp, line 12711

This warning [1] shows up in the following test suites:

>   9930 - test-linux64/debug-web-platform-tests-e10s-3 wpt3
>    730 - test-linux64/debug-mochitest-e10s-6 6
>    352 - test-linux64/debug-mochitest-e10s-7 7
>    222 - test-linux64/debug-web-platform-tests-e10s-7 wpt7
>    142 - test-linux64/debug-mochitest-devtools-chrome-e10s-3 dt3
>    134 - test-linux64/debug-mochitest-devtools-chrome-e10s-6 dt6
>     92 - test-linux64/debug-mochitest-chrome-3 c3
>     47 - test-linux64/debug-mochitest-browser-chrome-e10s-7 bc7
>     44 - test-linux64/debug-web-platform-tests-e10s-6 wpt6
>     39 - test-linux64/debug-crashtest-e10s C
>     25 - test-linux64/debug-mochitest-e10s-5 5
>     24 - test-linux64/debug-web-platform-tests-e10s-4 wpt4
>     21 - test-linux64/debug-mochitest-browser-chrome-e10s-1 bc1
>     20 - test-linux64/debug-mochitest-browser-chrome-e10s-16 bc16
>     10 - test-linux64/debug-mochitest-browser-chrome-e10s-2 bc2
>      7 - test-linux64/debug-mochitest-e10s-10 10
>      2 - test-linux64/debug-mochitest-chrome-2 c2
>      1 - test-linux64/debug-mochitest-browser-chrome-e10s-6 bc6

It shows up in 85 tests. A few of the most prevalent:

>   8852 - [e10s] /webstorage/storage_setitem.html
>    273 - [e10s] /webstorage/storage_key.html
>    156 - [e10s] dom/tests/mochitest/localstorage/test_localStorageReplace.html
>    154 - [e10s] /webstorage/storage_length.html
>    154 - [e10s] dom/tests/mochitest/localstorage/test_localStorageKeyOrder.html
>    144 - [e10s] /html/browsers/browsing-the-web/unloading-documents/005.html
>    138 - [e10s] dom/tests/mochitest/sessionstorage/test_sessionStorageBaseSessionOnly.html
>    110 - [e10s] devtools/server/tests/browser/browser_storage_updates.js
>     95 - [e10s] /webstorage/storage_functions_not_overwritten.html
>     90 - [e10s] dom/tests/mochitest/localstorage/test_localStorageOriginsEquals.html

[1] https://hg.mozilla.org/mozilla-central/annotate/6c3510bac832/dom/base/nsGlobalWindow.cpp#l12711
Bisection points to https://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=f1b51e5b499cf0d17592680c744a834ae6fa499e&tochange=e5cbd17779363c4986f747fe11f5845de3ee9610

I had a hard time coaxing the bisector along, so I have about 25% trust in this being legit. I think a reasonable STR would be to run:

> ./mach web-platform-tests testing/web-platform/tests/webstorage/storage_setitem.html

against a debug build.
This happens when a inner window stores something on localStorage and that window doesn't have a outer window. The window has about:blank as mDocumentURI. The principal is used to broadcast the localstorage change to other processes.

Note that Storage API receives a valid nsIPrincipal as subject principal from the webidl bindings and I would like to use that principal instead trying to retrieve it from the window.
Flags: needinfo?(amarchesini)
But subject principal can be anything, especially it can be system principal but principal from window can be non-system.
We're already using the Storage principal for the broadcasting. This warning comes from the comparison between the window principal and the current one. We can probably just remove this warning.
Let's just remove this warning.
Keywords: good-first-bug
Priority: -- → P2
Attached patch warning.patchSplinter Review
Assignee: nobody → amarchesini
Attachment #8905878 - Flags: review?(erahm)
Comment on attachment 8905878 [details] [diff] [review]
warning.patch

Review of attachment 8905878 [details] [diff] [review]:
-----------------------------------------------------------------

r=me, thanks!
Attachment #8905878 - Flags: review?(erahm) → review+
Pushed by amarchesini@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ab06fc49527d
Remove a warning message in nsGlobalWindow::GetParentInternal(), r=erahm
https://hg.mozilla.org/mozilla-central/rev/ab06fc49527d
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.