Closed
Bug 176915
Opened 22 years ago
Closed 22 years ago
[FIX]Assertions and crash while loading [@nsIFrame::GetParent 610]
Categories
(Core :: Layout: Positioned, defect, P1)
Tracking
()
VERIFIED
FIXED
mozilla1.3alpha
People
(Reporter: nallen, Assigned: bzbarsky)
References
()
Details
(Keywords: crash, testcase)
Crash Data
Attachments
(2 files, 1 obsolete file)
219 bytes,
text/html
|
Details | |
11.60 KB,
patch
|
dbaron
:
review+
rbs
:
superreview+
|
Details | Diff | Splinter Review |
Win2k 1025 cvs trunk Loading http://www.tapuz.co.il crashes approximately 1 in 5 times. If it doesn't crash, Moz hangs, but the two seem unrelated. Here are the four assertions prior to the crash: ###!!! ASSERTION: all the skipped content tokens did not get handled: 'mSkippedC ontent.GetSize() == 0', file d:/mozilla/mozilla/htmlparser/src/CNavDTD.cpp, line 896 ###!!! ASSERTION: containing block height must be constrained: 'containingBlockH eight != NS_AUTOHEIGHT', file d:/mozilla/mozilla/layout/html/base/src/nsHTMLRefl owState.cpp, line 1002 ###!!! ASSERTION: containing block height must be constrained: 'containingBlockH eight != NS_AUTOHEIGHT', file d:/mozilla/mozilla/layout/html/base/src/nsHTMLRefl owState.cpp, line 1002 ###!!! ASSERTION: no placeholder frame: 'nsnull != placeholderFrame', file d:/mo zilla/mozilla/layout/html/base/src/nsHTMLReflowState.cpp, line 1010 And the crash: nsIFrame::GetParent(nsIFrame * * 0x0012535c) line 610 + 13 bytes GetNearestContainingBlock(nsIFrame * 0x00000000, nsMargin & {...}) line 589 nsHTMLReflowState::InitAbsoluteConstraints(nsIPresContext * 0x0379c780, const nsHTMLReflowState * 0x00125680, int 0x000019c8, int 0x40000000) line 1016 + 13 bytes nsHTMLReflowState::InitConstraints(nsIPresContext * 0x0379c780, int 0x000019c8, int 0x40000000, nsMargin * 0x00000000, nsMargin * 0x00000000) line 1985 nsHTMLReflowState::Init(nsIPresContext * 0x0379c780, int 0xffffffff, int 0xffffffff, nsMargin * 0x00000000, nsMargin * 0x00000000) line 334 nsHTMLReflowState::nsHTMLReflowState(nsIPresContext * 0x0379c780, const nsHTMLReflowState & {...}, nsIFrame * 0x03605410, const nsSize & {...}, int 0xffffffff, int 0xffffffff, nsReflowReason eReflowReason_Dirty) line 306 nsAbsoluteContainingBlock::ReflowAbsoluteFrame(nsIFrame * 0x03604f88, nsIPresContext * 0x0379c780, const nsHTMLReflowState & {...}, int 0xffffffff, int 0xffffffff, nsIFrame * 0x03605410, nsReflowReason eReflowReason_Dirty, unsigned int & 0x039c17c0) line 419 nsAbsoluteContainingBlock::Reflow(nsIFrame * 0x03604f88, nsIPresContext * 0x0379c780, const nsHTMLReflowState & {...}, int 0xffffffff, int 0xffffffff, nsRect & {...}) line 230 nsPositionedInlineFrame::Reflow(nsPositionedInlineFrame * const 0x03604f88, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1314 + 44 bytes nsLineLayout::ReflowFrame(nsIFrame * 0x03604f88, unsigned int & 0x00000000, nsHTMLReflowMetrics * 0x00000000, int & 0x00000000) line 1047 + 43 bytes nsBlockFrame::ReflowInlineFrame(nsBlockReflowState & {...}, nsLineLayout & {...}, nsLineList_iterator {...}, nsIFrame * 0x03604f88, unsigned char * 0x00125b4f) line 3862 + 22 bytes nsBlockFrame::DoReflowInlineFrames(nsBlockReflowState & {...}, nsLineLayout & {...}, nsLineList_iterator {...}, int * 0x00126294, unsigned char * 0x00126057, int 0x00000001, int 0x00000001) line 3729 + 32 bytes nsBlockFrame::DoReflowInlineFramesAuto(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x00126294, unsigned char * 0x00126057, int 0x00000001, int 0x00000001) line 3633 + 46 bytes nsBlockFrame::ReflowInlineFrames(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x00126294, int 0x00000001, int 0x00000001) line 3577 + 36 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x00126294, int 0x00000001) line 2614 nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2296 + 31 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x03707c9c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 942 + 15 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x03707c9c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableCellFrame::Reflow(nsTableCellFrame * const 0x03707c3c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 951 nsContainerFrame::ReflowChild(nsIFrame * 0x03707c3c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableRowFrame::IR_TargetIsChild(nsTableRowFrame * const 0x03707af8, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, nsTableFrame & {...}, unsigned int & 0x00000000, nsIFrame * 0x03707c3c) line 1318 + 45 bytes nsTableRowFrame::IncrementalReflow(nsTableRowFrame * const 0x03707af8, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, nsTableFrame & {...}, unsigned int & 0x00000000) line 1202 + 46 bytes nsTableRowFrame::Reflow(nsTableRowFrame * const 0x03707af8, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1471 + 35 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x03707af8, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableRowGroupFrame::IR_TargetIsChild(nsTableRowGroupFrame * const 0x03707a4c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, nsRowGroupReflowState & {...}, unsigned int & 0x00000000, nsIFrame * 0x03707af8) line 1755 + 45 bytes nsTableRowGroupFrame::IncrementalReflow(nsTableRowGroupFrame * const 0x03707a4c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, nsRowGroupReflowState & {...}, unsigned int & 0x00000000) line 1424 + 42 bytes nsTableRowGroupFrame::Reflow(nsTableRowGroupFrame * const 0x03707a4c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1333 + 31 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x03707a4c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableFrame::IR_TargetIsChild(nsTableFrame * const 0x0370793c, nsIPresContext * 0x0379c780, nsTableReflowState & {...}, unsigned int & 0x00000000, nsIFrame * 0x03707a4c) line 3032 + 50 bytes nsTableFrame::IncrementalReflow(nsTableFrame * const 0x0370793c, nsIPresContext * 0x0379c780, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 2760 + 38 bytes nsTableFrame::Reflow(nsTableFrame * const 0x0370793c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 2020 + 27 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x0370793c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00001d79, int 0x00000000, unsigned int 0x00000003, unsigned int & 0x00000000) line 926 + 31 bytes nsTableOuterFrame::OuterReflowChild(nsTableOuterFrame * const 0x03a11ad8, nsIPresContext * 0x0379c780, nsIFrame * 0x0370793c, const nsHTMLReflowState & {...}, nsHTMLReflowMetrics & {...}, int * 0x00000000, nsSize & {...}, nsMargin & {...}, nsMargin & {...}, nsMargin & {...}, nsReflowReason eReflowReason_Incremental, unsigned int & 0x00000000) line 1026 + 47 bytes nsTableOuterFrame::IR_InnerTableReflow(nsTableOuterFrame * const 0x03a11ad8, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1340 + 69 bytes nsTableOuterFrame::IR_TargetIsInnerTableFrame(nsTableOuterFrame * const 0x03a11ad8, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1125 + 31 bytes nsTableOuterFrame::IR_TargetIsChild(nsTableOuterFrame * const 0x03a11ad8, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000, nsIFrame * 0x0370793c) line 1097 + 31 bytes nsTableOuterFrame::IncrementalReflow(nsTableOuterFrame * const 0x03a11ad8, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1077 + 42 bytes nsTableOuterFrame::Reflow(nsTableOuterFrame * const 0x03a11ad8, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1579 + 31 bytes nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 0x00000001, nsCollapsingMargin & {...}, int 0x00000001, nsMargin & {...}, nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 536 + 42 bytes nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x00127ec8) line 3335 + 59 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x00127ec8, int 0x00000001) line 2514 + 27 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2296 + 31 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x03a1194c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 942 + 15 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x03a1194c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000366, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableCellFrame::Reflow(nsTableCellFrame * const 0x03a118ec, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 951 nsContainerFrame::ReflowChild(nsIFrame * 0x03a118ec, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableRowFrame::IR_TargetIsChild(nsTableRowFrame * const 0x03a117d4, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, nsTableFrame & {...}, unsigned int & 0x00000000, nsIFrame * 0x03a118ec) line 1318 + 45 bytes nsTableRowFrame::IncrementalReflow(nsTableRowFrame * const 0x03a117d4, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, nsTableFrame & {...}, unsigned int & 0x00000000) line 1202 + 46 bytes nsTableRowFrame::Reflow(nsTableRowFrame * const 0x03a117d4, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1471 + 35 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x03a117d4, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x000001a4, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableRowGroupFrame::IR_TargetIsChild(nsTableRowGroupFrame * const 0x03a10d60, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, nsRowGroupReflowState & {...}, unsigned int & 0x00000000, nsIFrame * 0x03a117d4) line 1755 + 45 bytes nsTableRowGroupFrame::IncrementalReflow(nsTableRowGroupFrame * const 0x03a10d60, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, nsRowGroupReflowState & {...}, unsigned int & 0x00000000) line 1424 + 42 bytes nsTableRowGroupFrame::Reflow(nsTableRowGroupFrame * const 0x03a10d60, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1333 + 31 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x03a10d60, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableFrame::IR_TargetIsChild(nsTableFrame * const 0x03a10c8c, nsIPresContext * 0x0379c780, nsTableReflowState & {...}, unsigned int & 0x00000000, nsIFrame * 0x03a10d60) line 3032 + 50 bytes nsTableFrame::IncrementalReflow(nsTableFrame * const 0x03a10c8c, nsIPresContext * 0x0379c780, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 2760 + 38 bytes nsTableFrame::Reflow(nsTableFrame * const 0x03a10c8c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 2020 + 27 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x03a10c8c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000069, int 0x00000000, unsigned int 0x00000003, unsigned int & 0x00000000) line 926 + 31 bytes nsTableOuterFrame::OuterReflowChild(nsTableOuterFrame * const 0x03a10b70, nsIPresContext * 0x0379c780, nsIFrame * 0x03a10c8c, const nsHTMLReflowState & {...}, nsHTMLReflowMetrics & {...}, int * 0x00000000, nsSize & {...}, nsMargin & {...}, nsMargin & {...}, nsMargin & {...}, nsReflowReason eReflowReason_Incremental, unsigned int & 0x00000000) line 1026 + 47 bytes nsTableOuterFrame::IR_InnerTableReflow(nsTableOuterFrame * const 0x03a10b70, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1340 + 69 bytes nsTableOuterFrame::IR_TargetIsInnerTableFrame(nsTableOuterFrame * const 0x03a10b70, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1125 + 31 bytes nsTableOuterFrame::IR_TargetIsChild(nsTableOuterFrame * const 0x03a10b70, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000, nsIFrame * 0x03a10c8c) line 1097 + 31 bytes nsTableOuterFrame::IncrementalReflow(nsTableOuterFrame * const 0x03a10b70, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1077 + 42 bytes nsTableOuterFrame::Reflow(nsTableOuterFrame * const 0x03a10b70, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1579 + 31 bytes nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 0x00000001, nsCollapsingMargin & {...}, int 0x00000001, nsMargin & {...}, nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 536 + 42 bytes nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x00129afc) line 3335 + 59 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x00129afc, int 0x00000001) line 2514 + 27 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2296 + 31 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x035be83c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 942 + 15 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x035be83c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableCellFrame::Reflow(nsTableCellFrame * const 0x035be7dc, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 951 nsContainerFrame::ReflowChild(nsIFrame * 0x035be7dc, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableRowFrame::IR_TargetIsChild(nsTableRowFrame * const 0x035be6c4, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, nsTableFrame & {...}, unsigned int & 0x00000000, nsIFrame * 0x035be7dc) line 1318 + 45 bytes nsTableRowFrame::IncrementalReflow(nsTableRowFrame * const 0x035be6c4, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, nsTableFrame & {...}, unsigned int & 0x00000000) line 1202 + 46 bytes nsTableRowFrame::Reflow(nsTableRowFrame * const 0x035be6c4, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1471 + 35 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x035be6c4, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x000007f8, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableRowGroupFrame::IR_TargetIsChild(nsTableRowGroupFrame * const 0x0372912c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, nsRowGroupReflowState & {...}, unsigned int & 0x00000000, nsIFrame * 0x035be6c4) line 1755 + 45 bytes nsTableRowGroupFrame::IncrementalReflow(nsTableRowGroupFrame * const 0x0372912c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, nsRowGroupReflowState & {...}, unsigned int & 0x00000000) line 1424 + 42 bytes nsTableRowGroupFrame::Reflow(nsTableRowGroupFrame * const 0x0372912c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1333 + 31 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x0372912c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableFrame::IR_TargetIsChild(nsTableFrame * const 0x0372901c, nsIPresContext * 0x0379c780, nsTableReflowState & {...}, unsigned int & 0x00000000, nsIFrame * 0x0372912c) line 3032 + 50 bytes nsTableFrame::IncrementalReflow(nsTableFrame * const 0x0372901c, nsIPresContext * 0x0379c780, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 2760 + 38 bytes nsTableFrame::Reflow(nsTableFrame * const 0x0372901c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 2020 + 27 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x0372901c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000003, unsigned int & 0x00000000) line 926 + 31 bytes nsTableOuterFrame::OuterReflowChild(nsTableOuterFrame * const 0x03728f00, nsIPresContext * 0x0379c780, nsIFrame * 0x0372901c, const nsHTMLReflowState & {...}, nsHTMLReflowMetrics & {...}, int * 0x00000000, nsSize & {...}, nsMargin & {...}, nsMargin & {...}, nsMargin & {...}, nsReflowReason eReflowReason_Incremental, unsigned int & 0x00000000) line 1026 + 47 bytes nsTableOuterFrame::IR_InnerTableReflow(nsTableOuterFrame * const 0x03728f00, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1340 + 69 bytes nsTableOuterFrame::IR_TargetIsInnerTableFrame(nsTableOuterFrame * const 0x03728f00, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1125 + 31 bytes nsTableOuterFrame::IR_TargetIsChild(nsTableOuterFrame * const 0x03728f00, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000, nsIFrame * 0x0372901c) line 1097 + 31 bytes nsTableOuterFrame::IncrementalReflow(nsTableOuterFrame * const 0x03728f00, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1077 + 42 bytes nsTableOuterFrame::Reflow(nsTableOuterFrame * const 0x03728f00, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1579 + 31 bytes nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 0x00000001, nsCollapsingMargin & {...}, int 0x00000001, nsMargin & {...}, nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 536 + 42 bytes nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012b730) line 3335 + 59 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012b730, int 0x00000001) line 2514 + 27 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2296 + 31 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x037287b0, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 942 + 15 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x037287b0, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x0000004b, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableCellFrame::Reflow(nsTableCellFrame * const 0x03a36bec, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 951 nsContainerFrame::ReflowChild(nsIFrame * 0x03a36bec, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableRowFrame::IR_TargetIsChild(nsTableRowFrame * const 0x03a30028, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, nsTableFrame & {...}, unsigned int & 0x00000000, nsIFrame * 0x03a36bec) line 1318 + 45 bytes nsTableRowFrame::IncrementalReflow(nsTableRowFrame * const 0x03a30028, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, nsTableFrame & {...}, unsigned int & 0x00000000) line 1202 + 46 bytes nsTableRowFrame::Reflow(nsTableRowFrame * const 0x03a30028, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1471 + 35 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x03a30028, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableRowGroupFrame::IR_TargetIsChild(nsTableRowGroupFrame * const 0x03a36fe0, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, nsRowGroupReflowState & {...}, unsigned int & 0x00000000, nsIFrame * 0x03a30028) line 1755 + 45 bytes nsTableRowGroupFrame::IncrementalReflow(nsTableRowGroupFrame * const 0x03a36fe0, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, nsRowGroupReflowState & {...}, unsigned int & 0x00000000) line 1424 + 42 bytes nsTableRowGroupFrame::Reflow(nsTableRowGroupFrame * const 0x03a36fe0, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1333 + 31 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x03a36fe0, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes nsTableFrame::IR_TargetIsChild(nsTableFrame * const 0x03a36ed0, nsIPresContext * 0x0379c780, nsTableReflowState & {...}, unsigned int & 0x00000000, nsIFrame * 0x03a36fe0) line 3032 + 50 bytes nsTableFrame::IncrementalReflow(nsTableFrame * const 0x03a36ed0, nsIPresContext * 0x0379c780, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 2760 + 38 bytes nsTableFrame::Reflow(nsTableFrame * const 0x03a36ed0, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 2020 + 27 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x03a36ed0, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000003, unsigned int & 0x00000000) line 926 + 31 bytes nsTableOuterFrame::OuterReflowChild(nsTableOuterFrame * const 0x03a36db4, nsIPresContext * 0x0379c780, nsIFrame * 0x03a36ed0, const nsHTMLReflowState & {...}, nsHTMLReflowMetrics & {...}, int * 0x00000000, nsSize & {...}, nsMargin & {...}, nsMargin & {...}, nsMargin & {...}, nsReflowReason eReflowReason_Incremental, unsigned int & 0x00000000) line 1026 + 47 bytes nsTableOuterFrame::IR_InnerTableReflow(nsTableOuterFrame * const 0x03a36db4, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1340 + 69 bytes nsTableOuterFrame::IR_TargetIsInnerTableFrame(nsTableOuterFrame * const 0x03a36db4, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1125 + 31 bytes nsTableOuterFrame::IR_TargetIsChild(nsTableOuterFrame * const 0x03a36db4, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000, nsIFrame * 0x03a36ed0) line 1097 + 31 bytes nsTableOuterFrame::IncrementalReflow(nsTableOuterFrame * const 0x03a36db4, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1077 + 42 bytes nsTableOuterFrame::Reflow(nsTableOuterFrame * const 0x03a36db4, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 1579 + 31 bytes nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 0x00000001, nsCollapsingMargin & {...}, int 0x00000000, nsMargin & {...}, nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 536 + 42 bytes nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012d364) line 3335 + 59 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012d364, int 0x00000001) line 2514 + 27 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2296 + 31 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x039b39ac, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 942 + 15 bytes nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 0x00000000, nsCollapsingMargin & {...}, int 0x00000001, nsMargin & {...}, nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 536 + 42 bytes nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012ded8) line 3335 + 59 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012ded8, int 0x00000001) line 2514 + 27 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2296 + 31 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x039b3634, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 942 + 15 bytes nsBlockReflowContext::ReflowBlock(const nsRect & {...}, int 0x00000001, nsCollapsingMargin & {...}, int 0x00000001, nsMargin & {...}, nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 536 + 42 bytes nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012ea4c) line 3335 + 59 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineList_iterator {...}, int * 0x0012ea4c, int 0x00000001) line 2514 + 27 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2296 + 31 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x039b3454, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 942 + 15 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x039b3454, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes CanvasFrame::Reflow(CanvasFrame * const 0x0399ac1c, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 567 nsBoxToBlockAdaptor::Reflow(nsBoxLayoutState & {...}, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000, int 0x00000000, int 0x00000000, int 0x00005da2, int 0x00003e1c, int 0x00000001) line 925 nsBoxToBlockAdaptor::DoLayout(nsBoxToBlockAdaptor * const 0x039b33b8, nsBoxLayoutState & {...}) line 668 + 46 bytes nsBox::Layout(nsBox * const 0x039b33b8, nsBoxLayoutState & {...}) line 1066 nsScrollBoxFrame::DoLayout(nsScrollBoxFrame * const 0x0399b014, nsBoxLayoutState & {...}) line 361 nsBox::Layout(nsBox * const 0x0399b014, nsBoxLayoutState & {...}) line 1066 nsContainerBox::LayoutChildAt(nsBoxLayoutState & {...}, nsIBox * 0x0399b014, const nsRect & {...}) line 647 + 16 bytes nsGfxScrollFrameInner::LayoutBox(nsBoxLayoutState & {...}, nsIBox * 0x0399b014, const nsRect & {...}) line 1163 + 17 bytes nsGfxScrollFrameInner::Layout(nsBoxLayoutState & {...}) line 1318 nsGfxScrollFrame::DoLayout(nsGfxScrollFrame * const 0x0399aef4, nsBoxLayoutState & {...}) line 1171 + 15 bytes nsBox::Layout(nsBox * const 0x0399aef4, nsBoxLayoutState & {...}) line 1066 nsBoxFrame::Reflow(nsBoxFrame * const 0x0399aebc, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 900 nsGfxScrollFrame::Reflow(nsGfxScrollFrame * const 0x0399aebc, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 847 + 25 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x0399aebc, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0x00000000, int 0x00000000, unsigned int 0x00000000, unsigned int & 0x00000000) line 926 + 31 bytes ViewportFrame::Reflow(ViewportFrame * const 0x0399ab14, nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0x00000000) line 579 IncrementalReflow::Dispatch(nsIPresContext * 0x0379c780, nsHTMLReflowMetrics & {...}, const nsSize & {...}, nsIRenderingContext & {...}) line 894 PresShell::ProcessReflowCommands(int 0x00000001) line 6512 ReflowEvent::HandleEvent() line 6357 HandlePLEvent(ReflowEvent * 0x036e0738) line 6371 PL_HandleEvent(PLEvent * 0x036e0738) line 644 + 10 bytes PL_ProcessPendingEvents(PLEventQueue * 0x00f51530) line 574 + 9 bytes _md_EventReceiverProc(HWND__ * 0x00a10114, unsigned int 0x0000c09e, unsigned int 0x00000000, long 0x00f51530) line 1335 + 9 bytes USER32! 77e3a290() USER32! 77e145b1() USER32! 77e15b1d() nsAppShellService::Run(nsAppShellService * const 0x00fbc0c0) line 472 main1(int 0x00000001, char * * 0x00276d90, nsISupports * 0x00276df8) line 1522 + 32 bytes main(int 0x00000001, char * * 0x00276d90) line 1883 + 37 bytes mainCRTStartup() line 338 + 17 bytes
Assignee | ||
Comment 1•22 years ago
|
||
> ###!!! ASSERTION: no placeholder frame: 'nsnull != placeholderFrame'
Once this happens, a crash is inevitable.... the only question is why the
placeholder is not present....
Assignee: other → position
Component: Layout → Layout: R & A Pos
Keywords: crash
QA Contact: gerardok → madhur
Comment 3•22 years ago
|
||
<div style='position:relative;display:inline'> <object style='position:absolute;'></object> </div>
Assignee | ||
Comment 4•22 years ago
|
||
The basic problem is that ReplaceFrame failed, no one checked the return value, and the old positioned frame was still in the framelist... but now sans placeholder. The error checking in CantRenderReplacedElement could probably be improved too... I rolled in the thoughts from bug 122748 because I was touching related code anyway.
Assignee | ||
Comment 5•22 years ago
|
||
dbaron, would you review? Note that the "inline positioned reflow is broken" assertions about unconstrained height are still there, btw. Andrew -- thanks for the excellent testcase!
Assignee: position → bzbarsky
Priority: -- → P1
Target Milestone: --- → mozilla1.3alpha
Assignee | ||
Updated•22 years ago
|
Summary: Assertions and crash while loading [@nsIFrame::GetParent 610] → [FIX]Assertions and crash while loading [@nsIFrame::GetParent 610]
Assignee | ||
Updated•22 years ago
|
Attachment #104306 -
Flags: superreview?(rbs)
Attachment #104306 -
Flags: review?(dbaron)
Comment on attachment 104306 [details] [diff] [review] patch How about fixing the return value of nsFrameList::DoReplaceFrame in the case where it can't find the previous sibling? Also, does anyone pass PR_FALSE for the |aDestroy| parameter? If not, why not remove it, and perhaps stick with the ReplaceAndDestroy name, since it's clearer? (The PR_TRUE tends to hide the Destroy call.)
Attachment #104306 -
Flags: review?(dbaron) → review-
The underlying intention of the |aDestroy| parameter is that it forces people to stop and think about what they really want to do with the old frame. The compiler would catch any case where the parameter is missing, forcing people to reflect on what they are doing. I saw some code where it appears that the replaced frames are left leaking (bug 122748), although the arena is masking that.
Assignee | ||
Comment 8•22 years ago
|
||
> Also, does anyone pass PR_FALSE for the |aDestroy| parameter?
Yes, in layout/mathml/base/src/nsMathMLContainerFrame.cpp
I suppose we could make the param an enum instead of a boolean with names like
eAction_Destroy and eAction_DontDestroy if we really want to... I'm not sure
that would be worthwhile, but maybe.
Attachment #104306 -
Attachment is obsolete: true
Assignee | ||
Updated•22 years ago
|
Attachment #105919 -
Flags: superreview?(rbs)
Attachment #105919 -
Flags: review?(dbaron)
Attachment #105919 -
Flags: superreview?(rbs) → superreview+
Attachment #105919 -
Flags: review?(dbaron) → review+
Assignee | ||
Comment 9•22 years ago
|
||
checked in. Thanks for the quick reviews!
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Attachment #104306 -
Flags: superreview?(rbs) → superreview-
Comment 10•21 years ago
|
||
verified with testcase attachment 104297 [details].
Status: RESOLVED → VERIFIED
Comment 11•16 years ago
|
||
Crashtest added as part of http://hg.mozilla.org/mozilla-central/rev/afc662d52ab1
Flags: in-testsuite+
Updated•13 years ago
|
Crash Signature: [@nsIFrame::GetParent 610]
You need to log in
before you can comment on or make changes to this bug.
Description
•