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()'

RESOLVED FIXED

Status

()

defect
RESOLVED FIXED
3 years ago
2 years ago

People

(Reporter: intermittent-bug-filer, Unassigned)

Tracking

({intermittent-failure})

unspecified
Points:
---

Firefox Tracking Flags

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

Details

Comment hidden (Intermittent Failures Robot)
Comment hidden (Intermittent Failures Robot)
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?
Comment hidden (Intermittent Failures Robot)
Comment hidden (Intermittent Failures Robot)
Comment hidden (Intermittent Failures Robot)
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)
Comment hidden (Intermittent Failures Robot)
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.

Updated

2 years ago
Status: NEW → RESOLVED
Last Resolved: 2 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
You need to log in before you can comment on or make changes to this bug.