Closed
Bug 14165
Opened 25 years ago
Closed 25 years ago
crash reflowing a reloaded table
Categories
(Core :: Layout, defect, P3)
Tracking
()
People
(Reporter: waterson, Assigned: troy)
Details
Okay, the browser was just hanging out in the background and all of a sudden it
crashed. My guess is that it was reloading the tinderbox sidebar panel, but who
knows. Anyway, a quick inspection of the code in nsTextFrame::Reflow() shows
that a frame is pointing to a content node that is no longer in the document
(it calls mContent->GetDocument(), but then never checks to see if it actually
got a document). Now _why_ this would happen is beyond me. The simple hack
would be to check the result, assert and bail if it's null.
stack below:
NTDLL! 77f76274()
nsDebug::PreCondition(const char * 0x0162fa18
??_C@_0DJ@KMGL@You?5can?8t?5dereference?5a?5NULL?5nsC@, const char * 0x0162fa5c
??_C@_0N@NHHF@mRawPtr?5?$CB?$DN?50?$AA@, const char * 0x0162fa6c
??_C@_0BO@LIAM@?4?4?2?4?4?2dist?2include?2nsCOMPtr?4h?$AA@, int 588) line 163 +
13 bytes
nsCOMPtr<nsIDocument>::operator->() line 588 + 34 bytes
nsTextFrame::Reflow(nsTextFrame * const 0x03380094, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 2382 + 35 bytes
nsLineLayout::ReflowFrame(nsIFrame * 0x03380090, nsIFrame * * 0x0012b628,
unsigned int & 0) line 909
nsInlineFrame::ReflowInlineFrame(nsIPresContext * 0x02bb2350, const
nsHTMLReflowState & {...}, nsInlineFrame::InlineReflowState & {...}, nsIFrame *
0x03380090, unsigned int & 0) line 1565 + 20 bytes
nsInlineFrame::ReflowInlineFrames(nsIPresContext * 0x02bb2350, const
nsHTMLReflowState & {...}, nsInlineFrame::InlineReflowState & {...},
nsHTMLReflowMetrics & {...}, unsigned int & 0) line 1400 + 28 bytes
nsInlineFrame::Reflow(nsInlineFrame * const 0x03380114, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 1316 + 31 bytes
nsLineLayout::ReflowFrame(nsIFrame * 0x03380110, nsIFrame * * 0x0012b838,
unsigned int & 0) line 909
nsInlineFrame::ReflowInlineFrame(nsIPresContext * 0x02bb2350, const
nsHTMLReflowState & {...}, nsInlineFrame::InlineReflowState & {...}, nsIFrame *
0x03380110, unsigned int & 0) line 1565 + 20 bytes
nsInlineFrame::ReflowInlineFrames(nsIPresContext * 0x02bb2350, const
nsHTMLReflowState & {...}, nsInlineFrame::InlineReflowState & {...},
nsHTMLReflowMetrics & {...}, unsigned int & 0) line 1400 + 28 bytes
nsInlineFrame::Reflow(nsInlineFrame * const 0x02ab9f34, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 1316 + 31 bytes
nsLineLayout::ReflowFrame(nsIFrame * 0x02ab9f30, nsIFrame * * 0x0012c3c8,
unsigned int & 0) line 909
nsBlockFrame::ReflowInlineFrame(nsBlockReflowState & {...}, nsLineLayout &
{...}, nsLineBox * 0x02ab9b00, nsIFrame * 0x02ab9f30, unsigned char *
0x0012ba00) line 3377 + 23 bytes
nsBlockFrame::DoReflowInlineFrames(nsBlockReflowState & {...}, nsLineLayout &
{...}, nsLineBox * 0x02ab9b00, int * 0x0012c2c8, unsigned char * 0x0012c1a0)
line 3267 + 28 bytes
nsBlockFrame::DoReflowInlineFramesAuto(nsBlockReflowState & {...}, nsLineBox *
0x02ab9b00, int * 0x0012c2c8, unsigned char * 0x0012c1a0) line 3214 + 34 bytes
nsBlockFrame::ReflowInlineFrames(nsBlockReflowState & {...}, nsLineBox *
0x02ab9b00, int * 0x0012c2c8) line 3162 + 24 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x02ab9b00,
int * 0x0012c2c8, int 1) line 2425 + 20 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2170 + 24 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x02abb124, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 1416 + 18 bytes
nsAreaFrame::Reflow(nsAreaFrame * const 0x02abb124, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 400 + 25 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x02abb120, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 439 + 28 bytes
nsTableCellFrame::Reflow(nsTableCellFrame * const 0x02abb1c4, nsIPresContext &
{...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned
int & 0) line 604
nsContainerFrame::ReflowChild(nsIFrame * 0x02abb1c0, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 439 + 28 bytes
nsTableRowFrame::IR_TargetIsChild(nsTableRowFrame * const 0x031378a0,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, RowReflowState & {...},
unsigned int & 0, nsIFrame * 0x02abb1c0) line 1316 + 34 bytes
nsTableRowFrame::IncrementalReflow(nsTableRowFrame * const 0x031378a0,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, RowReflowState & {...},
unsigned int & 0) line 1194 + 35 bytes
nsTableRowFrame::Reflow(nsTableRowFrame * const 0x031378a4, nsIPresContext &
{...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned
int & 0) line 1477 + 35 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x031378a0, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 439 + 28 bytes
nsTableRowGroupFrame::IR_TargetIsChild(nsTableRowGroupFrame * const 0x03136170,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, RowGroupReflowState &
{...}, unsigned int & 0, nsIFrame * 0x031378a0) line 1494 + 34 bytes
nsTableRowGroupFrame::IncrementalReflow(nsTableRowGroupFrame * const
0x03136170, nsIPresContext & {...}, nsHTMLReflowMetrics & {...},
RowGroupReflowState & {...}, unsigned int & 0) line 1107 + 35 bytes
nsTableRowGroupFrame::Reflow(nsTableRowGroupFrame * const 0x03136174,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState &
{...}, unsigned int & 0) line 1016 + 35 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x03136170, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 439 + 28 bytes
nsTableFrame::IR_TargetIsChild(nsTableFrame * const 0x03129280, nsIPresContext
& {...}, nsHTMLReflowMetrics & {...}, InnerTableReflowState & {...}, unsigned
int & 0, nsIFrame * 0x03136170) line 3315 + 34 bytes
nsTableFrame::IncrementalReflow(nsTableFrame * const 0x03129280, nsIPresContext
& {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned
int & 0) line 3147 + 41 bytes
nsTableFrame::Reflow(nsTableFrame * const 0x03129284, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 2199 + 35 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x03129280, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 439 + 28 bytes
nsTableOuterFrame::IR_InnerTableReflow(nsTableOuterFrame * const 0x03129380,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState &
{...}, unsigned int & 0) line 573 + 34 bytes
nsTableOuterFrame::IR_TargetIsInnerTableFrame(nsTableOuterFrame * const
0x03129380, nsIPresContext & {...}, nsHTMLReflowMetrics & {...},
OuterTableReflowState & {...}, unsigned int & 0) line 368 + 31 bytes
nsTableOuterFrame::IR_TargetIsChild(nsTableOuterFrame * const 0x03129380,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState &
{...}, unsigned int & 0, nsIFrame * 0x03129280) line 341 + 31 bytes
nsTableOuterFrame::IncrementalReflow(nsTableOuterFrame * const 0x03129380,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState &
{...}, unsigned int & 0) line 324 + 35 bytes
nsTableOuterFrame::Reflow(nsTableOuterFrame * const 0x03129384, nsIPresContext
& {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned
int & 0) line 857 + 35 bytes
nsBlockReflowContext::ReflowBlock(nsIFrame * 0x03129380, const nsRect & {x=0
y=0 width=5617 height=1073741824}, int 0, int 0, int 1, nsMargin & {top=0
right=0 bottom=0 left=0}, unsigned int & 0) line 229 + 42 bytes
nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineBox *
0x02abb9c0, int * 0x0012d908) line 2951 + 59 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x02abb9c0,
int * 0x0012d908, int 1) line 2376 + 20 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2170 + 24 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x0312c0e4, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 1416 + 18 bytes
nsAreaFrame::Reflow(nsAreaFrame * const 0x0312c0e4, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 400 + 25 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x0312c0e0, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 439 + 28 bytes
nsTableCellFrame::Reflow(nsTableCellFrame * const 0x0312c184, nsIPresContext &
{...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned
int & 0) line 604
nsContainerFrame::ReflowChild(nsIFrame * 0x0312c180, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 439 + 28 bytes
nsTableRowFrame::IR_TargetIsChild(nsTableRowFrame * const 0x0312b350,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, RowReflowState & {...},
unsigned int & 0, nsIFrame * 0x0312c180) line 1316 + 34 bytes
nsTableRowFrame::IncrementalReflow(nsTableRowFrame * const 0x0312b350,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, RowReflowState & {...},
unsigned int & 0) line 1194 + 35 bytes
nsTableRowFrame::Reflow(nsTableRowFrame * const 0x0312b354, nsIPresContext &
{...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned
int & 0) line 1477 + 35 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x0312b350, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 439 + 28 bytes
nsTableRowGroupFrame::IR_TargetIsChild(nsTableRowGroupFrame * const 0x0312a8d0,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, RowGroupReflowState &
{...}, unsigned int & 0, nsIFrame * 0x0312b350) line 1494 + 34 bytes
nsTableRowGroupFrame::IncrementalReflow(nsTableRowGroupFrame * const
0x0312a8d0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...},
RowGroupReflowState & {...}, unsigned int & 0) line 1107 + 35 bytes
nsTableRowGroupFrame::Reflow(nsTableRowGroupFrame * const 0x0312a8d4,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState &
{...}, unsigned int & 0) line 1016 + 35 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x0312a8d0, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 439 + 28 bytes
nsTableFrame::IR_TargetIsChild(nsTableFrame * const 0x0312af20, nsIPresContext
& {...}, nsHTMLReflowMetrics & {...}, InnerTableReflowState & {...}, unsigned
int & 0, nsIFrame * 0x0312a8d0) line 3315 + 34 bytes
nsTableFrame::IncrementalReflow(nsTableFrame * const 0x0312af20, nsIPresContext
& {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned
int & 0) line 3147 + 41 bytes
nsTableFrame::Reflow(nsTableFrame * const 0x0312af24, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 2199 + 35 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x0312af20, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 439 + 28 bytes
nsTableOuterFrame::IR_InnerTableReflow(nsTableOuterFrame * const 0x031280c0,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState &
{...}, unsigned int & 0) line 573 + 34 bytes
nsTableOuterFrame::IR_TargetIsInnerTableFrame(nsTableOuterFrame * const
0x031280c0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...},
OuterTableReflowState & {...}, unsigned int & 0) line 368 + 31 bytes
nsTableOuterFrame::IR_TargetIsChild(nsTableOuterFrame * const 0x031280c0,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState &
{...}, unsigned int & 0, nsIFrame * 0x0312af20) line 341 + 31 bytes
nsTableOuterFrame::IncrementalReflow(nsTableOuterFrame * const 0x031280c0,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, OuterTableReflowState &
{...}, unsigned int & 0) line 324 + 35 bytes
nsTableOuterFrame::Reflow(nsTableOuterFrame * const 0x031280c4, nsIPresContext
& {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned
int & 0) line 857 + 35 bytes
nsBlockReflowContext::ReflowBlock(nsIFrame * 0x031280c0, const nsRect & {x=0
y=615 width=11775 height=1073741824}, int 1, int 0, int 0, nsMargin & {top=0
right=0 bottom=0 left=0}, unsigned int & 0) line 229 + 42 bytes
nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineBox *
0x02a9fc60, int * 0x0012ef48) line 2951 + 59 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x02a9fc60,
int * 0x0012ef48, int 1) line 2376 + 20 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2170 + 24 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x03146344, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 1416 + 18 bytes
nsBlockReflowContext::ReflowBlock(nsIFrame * 0x03146340, const nsRect & {x=0
y=0 width=12015 height=1073741824}, int 1, int 0, int 1, nsMargin & {top=0
right=0 bottom=0 left=0}, unsigned int & 0) line 229 + 42 bytes
nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineBox *
0x02a9fb80, int * 0x0012f4e0) line 2951 + 59 bytes
nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x02a9fb80,
int * 0x0012f4e0, int 1) line 2376 + 20 bytes
nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 2170 + 24 bytes
nsBlockFrame::Reflow(nsBlockFrame * const 0x031468b4, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 1416 + 18 bytes
nsAreaFrame::Reflow(nsAreaFrame * const 0x031468b4, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 400 + 25 bytes
nsContainerFrame::ReflowChild(nsIFrame * 0x031468b0, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 439 + 28 bytes
RootFrame::Reflow(RootFrame * const 0x02bc9044, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 330
nsContainerFrame::ReflowChild(nsIFrame * 0x02bc9040, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 439 + 28 bytes
nsScrollFrame::Reflow(nsScrollFrame * const 0x02bc7314, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 606
nsContainerFrame::ReflowChild(nsIFrame * 0x02bc7310, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 439 + 28 bytes
ViewportFrame::Reflow(ViewportFrame * const 0x02bc7e14, nsIPresContext & {...},
nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0)
line 516
nsHTMLReflowCommand::Dispatch(nsHTMLReflowCommand * const 0x03380030,
nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsSize &
{width=12255 height=7860}, nsIRenderingContext & {...}) line 141
PresShell::ProcessReflowCommands(PresShell * const 0x02bb8550) line 1261
FrameManager::HandlePLEvent(CantRenderReplacedElementEvent * 0x03380520) line
505
PL_HandleEvent(PLEvent * 0x03380520) line 509 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x00aa4f90) line 470 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x07cf0624, unsigned int 49343, unsigned int 0,
long 11161488) line 938 + 9 bytes
USER32! 77e71268()
00aa4f90()
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → DUPLICATE
Well, it wasn't just hanging out in the background, it was procesing
notifications from the image library that said an image couldn't be loaded. That
prompted us to destroy the image frame and create some new frames
*** This bug has been marked as a duplicate of 14157 ***
Updated•25 years ago
|
Status: RESOLVED → VERIFIED
Comment 2•25 years ago
|
||
Agreed. This is a duplicate of 14157.
You need to log in
before you can comment on or make changes to this bug.
Description
•