Closed Bug 553840 Opened 14 years ago Closed 14 years ago

"ASSERTION: No current inner window available!: 'Error', file .../nsPIDOMWindow.h, line 111"

Categories

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

defect
Not set
major

Tracking

()

VERIFIED FIXED
mozilla2.0b7

People

(Reporter: sgautherie, Assigned: enndeakin)

References

()

Details

(Keywords: assertion, Whiteboard: [fixed by bug 553808])

FF and SM 'mochitest-other' builds report this error.

Examples:
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1269113642.1269115115.28514.gz&fulltext=1
OS X 10.5.2 mozilla-central debug test mochitest-other on 2010/03/20 12:34:02
http://tinderbox.mozilla.org/showlog.cgi?log=SeaMonkey/1269111152.1269114741.27797.gz&fulltext=1
WINNT 5.2 comm-central-trunk debug test mochitest-other on 2010/03/20 11:52:32

This assertion happens a lot of times.
It might also happen on other tests (builds): I didn't check.

I didn't copy the stack, because I don't know what is interesting in it wrt
this assertion...

NB: Might be related to bug 509536?
The stack is bogus in any case:

###!!! ASSERTION: No current inner window available!: 'Error', file ../../../dist/include/nsPIDOMWindow.h, line 111
mozilla::layers::Image::Release() (in XUL) + 1766993
mozilla::layers::Image::Release() (in XUL) + 1741785
mozilla::layers::Image::Release() (in XUL) + 2236998
gfxSize::gfxSize(gfxIntSize const&) (in XUL) + 104

Are we not running fix-macosx-stack on those stacks?
We should be, Jesse wrote a bunch of code to fix that.
Fwiw,

** Firefox:

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1269456768.1269460106.14408.gz&fulltext=1
Linux mozilla-central debug test mochitest-other on 2010/03/24 11:52:48
{
mozilla::layers::Image::Release() (/builds/moz2_slave/mozilla-central-linux-debug-unittest-mochitest-other/build/firefox/libxul.so)
mozilla::layers::Image::Release() (/builds/moz2_slave/mozilla-central-linux-debug-unittest-mochitest-other/build/firefox/libxul.so)
mozilla::layers::Image::Release() (/builds/moz2_slave/mozilla-central-linux-debug-unittest-mochitest-other/build/firefox/libxul.so)
gfxSize::gfxSize(gfxIntSize const&) (/builds/moz2_slave/mozilla-central-linux-debug-unittest-mochitest-other/build/firefox/libxul.so)
...
}

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1269456927.1269459479.12552.gz&fulltext=1
OS X 10.5.2 mozilla-central debug test mochitest-other on 2010/03/24 11:55:27
{
mozilla::layers::Image::Release() (in XUL) + 1770667
mozilla::layers::Image::Release() (in XUL) + 1745459
mozilla::layers::Image::Release() (in XUL) + 2241030
gfxSize::gfxSize(gfxIntSize const&) (in XUL) + 104
...
}

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1269457889.1269460411.15359.gz&fulltext=1
WINNT 5.2 mozilla-central debug test mochitest-other on 2010/03/24 12:11:29
{
xul!gfxTextRunCache::operator=+0x000000000002E873
xul!mozilla::layers::BasicLayerManager::operator=+0x00000000000D2A90
xul!mozilla::layers::CairoImage::operator=+0x0000000000011029
xul!gfxTextRunWordCache::operator=+0x0000000000144193
...
}

** SeaMonkey:

http://tinderbox.mozilla.org/showlog.cgi?log=SeaMonkey/1269452631.1269460270.14902.gz&fulltext=1
Linux comm-central-trunk debug test mochitest-other on 2010/03/24 10:43:51
{
nsCRT::IsAsciiSpace(unsigned short) (/builds/slave/comm-central-trunk-linux-debug-unittest-mochitest-other/build/seamonkey/components/libgklayout.so)
nsCRT::IsAsciiSpace(unsigned short) (/builds/slave/comm-central-trunk-linux-debug-unittest-mochitest-other/build/seamonkey/components/libgklayout.so)
nsSmallVoidArray::operator[](int) const (/builds/slave/comm-central-trunk-linux-debug-unittest-mochitest-other/build/seamonkey/components/libgklayout.so)
gfxSize::gfxSize(gfxIntSize const&) (/builds/slave/comm-central-trunk-linux-debug-unittest-mochitest-other/build/seamonkey/components/libgklayout.so)
...
}

http://tinderbox.mozilla.org/showlog.cgi?log=SeaMonkey/1269452774.1269455370.31487.gz&fulltext=1
OS X 10.5 comm-central-trunk debug test mochitest-other on 2010/03/24 10:46:14
	
Show Brief Log 
{
nsCRT::IsAsciiSpace(unsigned short) (in libgklayout.dylib) + 80561
nsCRT::IsAsciiSpace(unsigned short) (in libgklayout.dylib) + 53543
nsSmallVoidArray::operator[](int) const (in libgklayout.dylib) + 167290
gfxSize::gfxSize(gfxIntSize const&) (in libgklayout.dylib) + 118
...
}

http://tinderbox.mozilla.org/showlog.cgi?log=SeaMonkey/1269447807.1269451699.20713.gz&fulltext=1
WINNT 5.2 comm-central-trunk debug test mochitest-other on 2010/03/24 09:23:27
{
gklayout!nsContentUtils::HasMutationListeners+0x0000000000000043 (e:\builds\slave\comm-central-trunk-win32-debug\build\mozilla\content\base\src\nscontentutils.cpp, line 3510)
gklayout!nsGenericElement::SetAttr+0x00000000000000A2 (e:\builds\slave\comm-central-trunk-win32-debug\build\mozilla\content\base\src\nsgenericelement.cpp, line 4276)
gklayout!nsIContent::SetAttr+0x0000000000000029 (e:\builds\slave\comm-central-trunk-win32-debug\build\objdir\mozilla\dist\include\nsicontent.h, line 349)
gklayout!nsTreeBodyFrame::UpdateScrollbars+0x0000000000000083 (e:\builds\slave\comm-central-trunk-win32-debug\build\mozilla\layout\xul\base\src\tree\src\nstreebodyframe.cpp, line 909)
gklayout!nsTreeBodyFrame::FullScrollbarsUpdate+0x0000000000000039 (e:\builds\slave\comm-central-trunk-win32-debug\build\mozilla\layout\xul\base\src\tree\src\nstreebodyframe.cpp, line 4725)
gklayout!nsTreeBodyFrame::EndUpdateBatch+0x000000000000011E (e:\builds\slave\comm-central-trunk-win32-debug\build\mozilla\layout\xul\base\src\tree\src\nstreebodyframe.cpp, line 1954)
gklayout!nsTreeBoxObject::EndUpdateBatch+0x000000000000001D (e:\builds\slave\comm-central-trunk-win32-debug\build\mozilla\layout\xul\base\src\tree\src\nstreeboxobject.cpp, line 487)
...
}
The "WINNT 5.2 comm-central-trunk debug test" is the only one of those that's remotely reasonable.  All the rest need fix-*-stack run on them or come from builds with no symbols or something (they're just showing exported symbols).

But even that's not really showing a stack that makes that much sense.  You didn't skip any frames in that stack?
(In reply to comment #1)
> Are we not running fix-macosx-stack on those stacks?

If they don't already, maybe these /tools/rb/* utilities should output an info
line (maybe with some details) when they run?

(In reply to comment #4)
> You didn't skip any frames in that stack?

"No": just '...' instead of the rest of the stack.
Well, that's odd, since nsContentUtils::HasMutationListeners doesn't assert anything about inner windows...

Assuming stuff just got optimized away or something, looks like we get a |window| and call HasMutationListeners on it.. but it's an IsOuterWindow() even though it got returned from doc->GetInnerWindow().  Can that situation happen?
Yes, unfortunately that can happen when dealing with a document in a closed window. See http://mxr.mozilla.org/mozilla-central/source/content/base/src/nsDocument.cpp#3543. Blake's got a plan to make it not so, but it probably won't happen any time real soon.
See bug 547646 and bug 547873 for the bad stacks from Tinderbox.
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1288107153.1288109301.27198.gz
Rev3 Fedora 12 mozilla-central debug test mochitest-other on 2010/10/26 08:32:33
6fa85db3902e
still has 108 occurrences.

http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1288109189.1288111299.2425.gz
Rev3 Fedora 12 mozilla-central debug test mochitest-other on 2010/10/26 09:06:29
3e08f8844f87
doesn't have this bug anymore.

Fix timeframe:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=6fa85db3902e&tochange=3e08f8844f87
-> Bug 553808 !

V.Fixed
Assignee: nobody → enndeakin
Status: NEW → RESOLVED
Closed: 14 years ago
Depends on: 553808
Flags: in-testsuite-
Resolution: --- → FIXED
Whiteboard: [fixed by bug 553808]
Target Milestone: --- → mozilla2.0b7
Status: RESOLVED → VERIFIED
(In reply to comment #5)
> If they don't already, maybe these /tools/rb/* utilities should output an info
> line (maybe with some details) when they run?

I filed bug 613694.
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.