Open Bug 267581 Opened 20 years ago Updated 2 years ago

###!!! ASSERTION: aContent1 must not be null: 'aContent1', file r:/mozilla/layout/base/src/nsLayoutUtils.cpp, line 242

Categories

(Core :: Layout, defect, P5)

x86
Windows XP
defect

Tracking

()

People

(Reporter: timeless, Unassigned)

Details

(Keywords: assertion)

###!!! ASSERTION: aContent1 must not be null: 'aContent1', file
r:/mozilla/layout/base/src/nsLayoutUtils.cpp, line 242

 	xpcom_core.dll!nsDebug::Assertion(const char * aStr=0x017f4258, const char *
aExpr=0x017f4274, const char * aFile=0x017f4194, int aLine=0x000000f2)  Line 109	C++
 	gklayout.dll!nsLayoutUtils::DoCompareTreePosition(nsIContent *
aContent1=0x00000000, nsIContent * aContent2=0x00000000, int
aIf1Ancestor=0xffffffff, int aIf2Ancestor=0x00000001, nsIContent *
aCommonAncestor=0x00000000)  Line 242 + 0x21	C++
 	gklayout.dll!nsLayoutUtils::CompareTreePosition(nsIContent *
aContent1=0x00000000, nsIContent * aContent2=0x00000000, nsIContent *
aCommonAncestor=0x00000000)  Line 128 + 0x15	C++
>	gklayout.dll!nsLayoutUtils::FindSiblingViewFor(nsIView *
aParentView=0x02d23d68, nsIFrame * aFrame=0x01ef353c)  Line 344 + 0x14	C++
 	gklayout.dll!nsHTMLContainerFrame::CreateViewForFrame(nsIFrame *
aFrame=0x02d768d8, nsIFrame * aContentParentFrame=0x00000000, int
aForce=0x00000001)  Line 577	C++
 	gklayout.dll!nsCSSFrameConstructor::ConstructPageFrame(nsIPresShell *
aPresShell=0x01e1fd88, nsPresContext * aPresContext=0x02d97928, nsIFrame *
aParentFrame=0x02cf4190, nsIFrame * aPrevPageFrame=0x02cf4308, nsIFrame * &
aPageFrame=0x02cf4284, nsIFrame * & aPageContentFrame=0x00000000)  Line 4414 +
0xa	C++
 	gklayout.dll!nsCSSFrameConstructor::CreateContinuingFrame(nsPresContext *
aPresContext=0x01ef353c, nsIFrame * aFrame=0x00000000, nsIFrame *
aParentFrame=0x02cf4190, nsIFrame * * aContinuingFrame=0x0012ecb0)  Line 10961	C++
 
gklayout.dll!nsSimplePageSequenceFrame::CreateContinuingPageFrame(nsPresContext
* aPresContext=0x02d97928, nsIFrame * aPageFrame=0x02cf4308, nsIFrame * *
aContinuingPage=0x0012ecb0)  Line 197 + 0x20	C++
 	gklayout.dll!nsSimplePageSequenceFrame::Reflow(nsPresContext *
aPresContext=0x0012e8d8, nsHTMLReflowMetrics & aDesiredSize={...}, const
nsHTMLReflowState & aReflowState={...}, unsigned int & aStatus=)  Line 442	C++
 	gklayout.dll!nsContainerFrame::ReflowChild(nsIFrame * aKidFrame=0x02cf4190,
nsPresContext * aPresContext=0x02d97928, nsHTMLReflowMetrics &
aDesiredSize={...}, const nsHTMLReflowState & aReflowState={...}, int
aX=0x00000000, int aY=0x00000000, unsigned int aFlags=0x00000000, unsigned int &
aStatus=0x00000000)  Line 973	C++
 	gklayout.dll!ViewportFrame::Reflow(nsPresContext * aPresContext=0x0012e8d8,
nsHTMLReflowMetrics & aDesiredSize={...}, const nsHTMLReflowState &
aReflowState={...}, unsigned int & aStatus=)  Line 249	C++
 	gklayout.dll!PresShell::InitialReflow(int aWidth=0x02cf43e0, int
aHeight=0x00000000)  Line 2761	C++
 	gklayout.dll!nsPrintEngine::ReflowPrintObject(nsPrintObject * aPO=0x00000000,
int aDoCalcShrink=0x00000001)  Line 2764	C++
 	gklayout.dll!nsPrintEngine::ReflowDocList(nsPrintObject * aPO=0x02ca3008, int
aSetPixelScale=0x00000000, int aDoCalcShrink=0x00000001)  Line 2531 + 0xb	C++
 	gklayout.dll!nsPrintEngine::SetupToPrintContent(nsIDeviceContext *
aDContext=0x02d41628, nsIDOMWindow * aCurrentFocusedDOMWin=0x00000000)  Line
2342	C++
 	gklayout.dll!nsPrintEngine::DocumentReadyForPrinting()  Line 2155 + 0x12	C++
 	gklayout.dll!nsPrintEngine::Print(nsIPrintSettings *
aPrintSettings=0x02cf43e0, nsIWebProgressListener *
aWebProgressListener=0x00000000)  Line 970 + 0x7	C++
 	gklayout.dll!DocumentViewerImpl::Print(nsIPrintSettings *
aPrintSettings=0x02ad3008, nsIWebProgressListener *
aWebProgressListener=0x00000000)  Line 3094 + 0xf	C++
 	winEmbed.exe!BrowserDlgProc(HWND__ * hwndDlg=0x0012e8d8, unsigned int
uMsg=0x00000001, unsigned int wParam=0x02cf43e0, long lParam=0x00000000)  Line
628	C++
 	user32.dll!77d43a50() 	
 	user32.dll!CharLowerBuffA()  + 0x404	
 	user32.dll!CharLowerBuffA()  + 0x273	
 	user32.dll!DefDlgProcA()  + 0x21	
 	user32.dll!77d43b1f() 	
 	user32.dll!GetMessageW()  + 0x125	
 	user32.dll!DispatchMessageA()  + 0xb	
 	winEmbed.exe!main(int argc=0x00000001, char * * argv=0x00357b80)  Line 188 +
0x10	C++
 	winEmbed.exe!mainCRTStartup()  Line 400 + 0x11	C
 	kernel32.dll!TermsrvAppInstallMode()  + 0x269	

i tried to print preview from winembed, fwiw
+	aContent1	0x00000000 {sTabFocusModel=0x00000007 mParentPtrBits=??? }	nsIContent *
+	aContent2	0x00000000 {sTabFocusModel=0x00000007 mParentPtrBits=??? }	nsIContent *
The problem here is that page frames get Init() called with a null nsIContent.

Is that something we support, in general?  If so, we should remove asserts in
various places... if not, we should add an assert in Init() and fix callers.

Note that we pass a null content to the viewport as well, by the way...  I guess
the goal is to be able to remove the root node of a document without having to
reframe the viewport or page frames or something?
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P5
Product: Core → Core Graveyard
Component: Layout: Misc Code → Layout
Product: Core Graveyard → Core
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.