Closed Bug 1315855 Opened 8 years ago Closed 7 years ago

Intermittent crashtests/295292-1.html | assertion count 1 is more than expected 0 assertions from ASSERTION: Plugin windows must not be toplevel: '!objectFrame->mWidget || objectFrame->mWidget->GetParent()'

Categories

(Core Graveyard :: Plug-ins, defect)

defect
Not set
normal

Tracking

(firefox52 disabled, firefox-esr52 disabled, firefox53 unaffected, firefox54 fixed)

RESOLVED FIXED
Tracking Status
firefox52 --- disabled
firefox-esr52 --- disabled
firefox53 --- unaffected
firefox54 --- fixed

People

(Reporter: intermittent-bug-filer, Unassigned)

References

Details

(Keywords: intermittent-failure)

This got annotated in https://hg.mozilla.org/integration/mozilla-inbound/rev/48ce71d365d8 ; apparently it was much more frequent but we were just missing it on most platforms?
This assertion and stack seems typical:

[task 2017-02-14T13:58:35.632039Z] 13:58:35     INFO - [Child 1094] ###!!! ASSERTION: Plugin windows must not be toplevel: '!objectFrame->mWidget || objectFrame->mWidget->GetParent()', file /home/worker/workspace/build/src/layout/generic/nsPluginFrame.cpp, line 1829

https://dxr.mozilla.org/mozilla-beta/rev/61519976b35f2947eeaabefcad83186b7e004167/layout/generic/nsPluginFrame.cpp#1828

[task 2017-02-14T13:58:35.633828Z] 13:58:35     INFO - #01: nsIDocument::EnumerateActivityObservers [dom/base/nsDocument.cpp:9711]
[task 2017-02-14T13:58:35.633918Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.634422Z] 13:58:35     INFO - #02: BeginSwapDocShellsForDocument [layout/generic/nsSubDocumentFrame.cpp:1051]
[task 2017-02-14T13:58:35.635143Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.635305Z] 13:58:35     INFO - #03: BeginSwapDocShellsForViews [layout/generic/nsSubDocumentFrame.cpp:1066]
[task 2017-02-14T13:58:35.635903Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.636002Z] 13:58:35     INFO - #04: nsSubDocumentFrame::DestroyFrom [layout/generic/nsSubDocumentFrame.cpp:954]
[task 2017-02-14T13:58:35.636641Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.637264Z] 13:58:35     INFO - #05: nsLineBox::DeleteLineList [layout/generic/nsLineBox.cpp:384]
[task 2017-02-14T13:58:35.637837Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.638871Z] 13:58:35     INFO - #06: nsBlockFrame::DestroyFrom [layout/generic/nsBlockFrame.cpp:331]
[task 2017-02-14T13:58:35.643546Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.645249Z] 13:58:35     INFO - #07: nsLineBox::DeleteLineList [layout/generic/nsLineBox.cpp:384]
[task 2017-02-14T13:58:35.646475Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.648547Z] 13:58:35     INFO - #08: nsBlockFrame::DestroyFrom [layout/generic/nsBlockFrame.cpp:331]
[task 2017-02-14T13:58:35.650266Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.652269Z] 13:58:35     INFO - #09: nsFrameList::DestroyFramesFrom [layout/generic/nsFrameList.cpp:59]
[task 2017-02-14T13:58:35.655151Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.658217Z] 13:58:35     INFO - #10: nsContainerFrame::DestroyFrom [layout/generic/nsContainerFrame.cpp:224]
[task 2017-02-14T13:58:35.660023Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.662065Z] 13:58:35     INFO - #11: nsCanvasFrame::DestroyFrom [layout/generic/nsCanvasFrame.cpp:154]
[task 2017-02-14T13:58:35.663605Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.665673Z] 13:58:35     INFO - #12: nsFrameList::DestroyFramesFrom [layout/generic/nsFrameList.cpp:59]
[task 2017-02-14T13:58:35.667403Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.668979Z] 13:58:35     INFO - #13: nsContainerFrame::DestroyFrom [layout/generic/nsContainerFrame.cpp:224]
[task 2017-02-14T13:58:35.670386Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.671872Z] 13:58:35     INFO - #14: nsFrameList::DestroyFramesFrom [layout/generic/nsFrameList.cpp:59]
[task 2017-02-14T13:58:35.673095Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.675114Z] 13:58:35     INFO - #15: nsContainerFrame::DestroyFrom [layout/generic/nsContainerFrame.cpp:224]
[task 2017-02-14T13:58:35.676973Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.679452Z] 13:58:35     INFO - #16: nsFrameManager::Destroy [layout/base/nsFrameManager.cpp:146]
[task 2017-02-14T13:58:35.680787Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.685323Z] 13:58:35     INFO - #17: PresShell::Destroy [layout/base/nsPresShell.cpp:1330]
[task 2017-02-14T13:58:35.687194Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.688922Z] 13:58:35     INFO - #18: nsDocumentViewer::DestroyPresShell [xpcom/glue/nsCOMPtr.h:600]
[task 2017-02-14T13:58:35.690157Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.691557Z] 13:58:35     INFO - #19: nsDocumentViewer::Destroy [layout/base/nsDocumentViewer.cpp:1688]
[task 2017-02-14T13:58:35.693169Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.695257Z] 13:58:35     INFO - #20: EvictContentViewerForTransaction [docshell/shistory/nsSHistory.cpp:204]
[task 2017-02-14T13:58:35.696911Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.698767Z] 13:58:35     INFO - #21: nsSHistory::EvictOutOfRangeWindowContentViewers [docshell/shistory/nsSHistory.cpp:1078]
[task 2017-02-14T13:58:35.699660Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.700707Z] 13:58:35     INFO - #22: nsSHistory::EvictOutOfRangeContentViewers [docshell/shistory/nsSHistory.cpp:866]
[task 2017-02-14T13:58:35.701616Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.702627Z] 13:58:35     INFO - #23: nsDocumentViewer::Show [layout/base/nsDocumentViewer.cpp:2040]
[task 2017-02-14T13:58:35.703563Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.707400Z] 13:58:35     INFO - #24: nsPresContext::EnsureVisible [layout/base/nsPresContext.cpp:2018]
[task 2017-02-14T13:58:35.708736Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.710628Z] 13:58:35     INFO - #25: PresShell::UnsuppressAndInvalidate [layout/base/nsPresShell.cpp:3855]
[task 2017-02-14T13:58:35.712031Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.713420Z] 13:58:35     INFO - #26: nsDocumentViewer::LoadComplete [layout/base/nsDocumentViewer.cpp:1059]
[task 2017-02-14T13:58:35.714366Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.715504Z] 13:58:35     INFO - #27: nsDocShell::EndPageLoad [docshell/base/nsDocShell.cpp:7631]
[task 2017-02-14T13:58:35.716829Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.718281Z] 13:58:35     INFO - #28: nsDocShell::OnStateChange [docshell/base/nsDocShell.cpp:7434]
[task 2017-02-14T13:58:35.719182Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.720281Z] 13:58:35     INFO - #29: nsDocLoader::DoFireOnStateChange [uriloader/base/nsDocLoader.cpp:1255]
[task 2017-02-14T13:58:35.721243Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.722869Z] 13:58:35     INFO - #30: nsDocLoader::doStopDocumentLoad [uriloader/base/nsDocLoader.cpp:839]
[task 2017-02-14T13:58:35.723912Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.724984Z] 13:58:35     INFO - #31: nsDocLoader::DocLoaderIsEmpty [uriloader/base/nsDocLoader.cpp:732]
[task 2017-02-14T13:58:35.725966Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.727109Z] 13:58:35     INFO - #32: nsDocLoader::OnStopRequest [uriloader/base/nsDocLoader.cpp:612]
[task 2017-02-14T13:58:35.728673Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.729811Z] 13:58:35     INFO - #33: mozilla::net::nsLoadGroup::RemoveRequest [netwerk/base/nsLoadGroup.cpp:635]
[task 2017-02-14T13:58:35.730678Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.731853Z] 13:58:35     INFO - #34: nsDocument::DoUnblockOnload [dom/base/nsDocument.cpp:8630]
[task 2017-02-14T13:58:35.732799Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.733884Z] 13:58:35     INFO - #35: nsDocument::UnblockOnload [dom/base/nsDocument.cpp:8557]
[task 2017-02-14T13:58:35.734764Z] 13:58:35     INFO - 
[task 2017-02-14T13:58:35.735845Z] 13:58:35     INFO - #36: nsDocument::DispatchContentLoadedEvents [dom/base/nsDocument.cpp:4981]
:mats -- This is ancient history, but it looks like you added this assertion. Can you provide any insight here?

This bug is not a big issue in itself, because, as noted in comment 3, the crashtest has been annotated to allow the assertion. However, there is also a leak, bug 1300017, which is strongly associated with the assertion.
Flags: needinfo?(mats)
See Also: → 1300017
I don't recall exactly why I added that, but it seems bad to have a plugin
in BeginSwapDocShells without a parent widget.  I suspect it means its
parent window might be destroyed.  There's likely a real bug lurking here.

Note that 295292-1.html doesn't have a plugin though, so this assertion
must be from an earlier test, layout/generic/crashtests/286491.html maybe?

We should try to avoid disabling that test though (if possible), because
our test coverage of this stuff isn't great.
Flags: needinfo?(mats)
Yeah, I came into this bug with the exact same thought (thinking it's fallout from 286491.html). It's a pretty persistent failure (along with bug 1300017) on Beta/ESR52, so I'm leaning towards disabling at this point unless someone has cycles to work on it.
If you disable, aurora-up only: this was fixed on nightly with the landing of bug 1338172.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
yay \o/
Disabled on Linux debug for Fx52. OrangeFactor isn't showing any occurrences of this on 53, so I'm calling that one unaffected.
https://hg.mozilla.org/releases/mozilla-beta/rev/95d0c35c8c70
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.