Closed
Bug 3169
Opened 26 years ago
Closed 26 years ago
[PP] "bad continuation" crash inserting a line break
Categories
(Core :: Layout, defect, P1)
Tracking
()
People
(Reporter: akkzilla, Assigned: buster)
Details
Using Steve's recently checked in InsertBreak code, I start up viewer, invoke
editor mode, click somewhere to set the caret, and hit enter. Linux dies on an
assert at nsBlockFrame::RemoveChild line 3751 (though it doesn't print the
assert message, have to use gdb to find out it's an assert) when it tries to
reflow after PresShell::ContentInserted. Steve says Windows doesn't hit the
assert.
Long (though still edited) stack trace:
#0 0x40cd3811 in __kill ()
#1 0x40cd363f in raise (sig=6) at ../sysdeps/posix/raise.c:27
#2 0x40cd484f in abort () at ../sysdeps/generic/abort.c:83
#3 0x409b9d66 in nsDebug::Abort (aFile=0x4048cbf9 "nsBlockFrame.cpp",
aLine=3751) at nsDebug.cpp:85
#4 0x409b9dce in nsDebug::Break (aFile=0x4048cbf9 "nsBlockFrame.cpp",
aLine=3751) at nsDebug.cpp:100
#5 0x409b9f11 in nsDebug::Assertion (aStr=0x4048d4cc "bad
continuation",
aExpr=0x4048d4b1 "child == line->mFirstChild",
aFile=0x4048cbf9 "nsBlockFrame.cpp", aLine=3751) at nsDebug.cpp:132
#6 0x402d65e7 in nsBlockFrame::RemoveChild (this=0x81f73d0,
aLines=0x81fb938,
aChild=0x821c2a8) at nsBlockFrame.cpp:3751
#7 0x402d63eb in nsBlockFrame::DeleteChildsNextInFlow (this=0x81f73d0,
aPresContext=@0x818bd20, aChild=0x81f7670) at nsBlockFrame.cpp:3701
#8 0x402f5d64 in nsInlineReflow::ReflowFrame (this=0xbfffbf58,
aIsAdjacentWithTop=1, aMetrics=@0xbfffbe2c, aStatus=@0xbfffbe98)
at nsInlineReflow.cpp:485
#9 0x402f5742 in nsInlineReflow::ReflowFrame (this=0xbfffbf58,
aFrame=0x81f7670, aIsAdjacentWithTop=1, aReflowStatus=@0xbfffbe98)
at nsInlineReflow.cpp:270
#10 0x402d3964 in nsBlockFrame::ReflowInlineFrame (this=0x81f73d0,
aState=@0xbfffc570, aLine=0x81fb938, aFrame=0x81f7670,
aKeepLineGoing=0xbfffbed8) at nsBlockFrame.cpp:2408
#11 0x402d243a in nsBlockFrame::ReflowLine (this=0x81f73d0,
aState=@0xbfffc570, aLine=0x81fb938, aKeepReflowGoing=0xbfffbf24)
at nsBlockFrame.cpp:1711
#12 0x402d1c99 in nsBlockFrame::ReflowDirtyLines (this=0x81f73d0,
aState=@0xbfffc570) at nsBlockFrame.cpp:1466
#13 0x402d0c45 in nsBlockFrame::Reflow (this=0x81f73d0,
aPresContext=@0x818bd20, aMetrics=@0xbfffca74,
aReflowState=@0xbfffc908,
aStatus=@0xbfffca24) at nsBlockFrame.cpp:915
#14 0x402d8e96 in nsBlockReflowContext::ReflowBlock (this=0xbfffca30,
aFrame=0x81f73d0, aSpace=@0xbfffcabc, aIsAdjacentWithTop=0,
aComputedOffsets=@0xbfffca14, aFrameReflowStatus=@0xbfffca24)
at nsBlockReflowContext.cpp:192
#15 0x402d33bc in nsBlockFrame::ReflowBlockFrame (this=0x81e68b8,
aState=@0xbfffd1b4, aLine=0x8218518, aKeepReflowGoing=0xbfffcb68)
at nsBlockFrame.cpp:2259
#16 0x402d233f in nsBlockFrame::ReflowLine (this=0x81e68b8,
aState=@0xbfffd1b4, aLine=0x8218518, aKeepReflowGoing=0xbfffcb68)
at nsBlockFrame.cpp:1677
#17 0x402d1c99 in nsBlockFrame::ReflowDirtyLines (this=0x81e68b8,
aState=@0xbfffd1b4) at nsBlockFrame.cpp:1466
#18 0x402d0c45 in nsBlockFrame::Reflow (this=0x81e68b8,
aPresContext=@0x818bd20, aMetrics=@0xbfffd6b8,
aReflowState=@0xbfffd54c,
aStatus=@0xbfffd668) at nsBlockFrame.cpp:915
#19 0x402d8e96 in nsBlockReflowContext::ReflowBlock (this=0xbfffd674,
aFrame=0x81e68b8, aSpace=@0xbfffd700, aIsAdjacentWithTop=1,
aComputedOffsets=@0xbfffd658, aFrameReflowStatus=@0xbfffd668)
at nsBlockReflowContext.cpp:192
#20 0x402d33bc in nsBlockFrame::ReflowBlockFrame (this=0x81e65b0,
aState=@0xbfffddf8, aLine=0x81e6b80, aKeepReflowGoing=0xbfffd7ac)
at nsBlockFrame.cpp:2259
#21 0x402d233f in nsBlockFrame::ReflowLine (this=0x81e65b0,
aState=@0xbfffddf8, aLine=0x81e6b80, aKeepReflowGoing=0xbfffd7ac)
at nsBlockFrame.cpp:1677
#22 0x402d1c99 in nsBlockFrame::ReflowDirtyLines (this=0x81e65b0,
aState=@0xbfffddf8) at nsBlockFrame.cpp:1466
#23 0x402d0c45 in nsBlockFrame::Reflow (this=0x81e65b0,
aPresContext=@0x818bd20, aMetrics=@0xbfffe2e4,
aReflowState=@0xbfffe18c,
aStatus=@0xbfffe67c) at nsBlockFrame.cpp:915
#24 0x402ce18b in nsAreaFrame::Reflow (this=0x81e65b0,
aPresContext=@0x818bd20, aDesiredSize=@0xbfffe2e4,
aReflowState=@0xbfffe27c, aStatus=@0xbfffe67c) at
nsAreaFrame.cpp:502
#25 0x402dbdcf in nsContainerFrame::ReflowChild (this=0x81e6078,
aKidFrame=0x81e65b0, aPresContext=@0x818bd20,
aDesiredSize=@0xbfffe2e4,
aReflowState=@0xbfffe27c, aStatus=@0xbfffe67c) at
nsContainerFrame.cpp:364
#26 0x402e8c18 in RootFrame::Reflow (this=0x81e6078,
aPresContext=@0x818bd20,
aDesiredSize=@0xbfffe4d0, aReflowState=@0xbfffe418,
aStatus=@0xbfffe67c)
at nsHTMLFrame.cpp:250
#27 0x402dbdcf in nsContainerFrame::ReflowChild (this=0x81d95d0,
aKidFrame=0x81e6078, aPresContext=@0x818bd20,
aDesiredSize=@0xbfffe4d0,
aReflowState=@0xbfffe418, aStatus=@0xbfffe67c) at
nsContainerFrame.cpp:364
#28 0x4030369b in nsScrollFrame::Reflow (this=0x81d95d0,
aPresContext=@0x818bd20, aDesiredSize=@0xbfffe5f8,
aReflowState=@0xbfffe588, aStatus=@0xbfffe67c) at
nsScrollFrame.cpp:349
#29 0x402dbdcf in nsContainerFrame::ReflowChild (this=0x81e32e0,
aKidFrame=0x81d95d0, aPresContext=@0x818bd20,
aDesiredSize=@0xbfffe5f8,
aReflowState=@0xbfffe588, aStatus=@0xbfffe67c) at
nsContainerFrame.cpp:364
#30 0x4030ca1e in ViewportFrame::Reflow (this=0x81e32e0,
aPresContext=@0x818bd20, aDesiredSize=@0xbfffe730,
aReflowState=@0xbfffe680, aStatus=@0xbfffe67c) at
nsViewportFrame.cpp:436
#31 0x402e9963 in nsHTMLReflowCommand::Dispatch (this=0x81ec0b8,
aPresContext=@0x818bd20, aDesiredSize=@0xbfffe730,
aMaxSize=@0xbfffe720,
aRendContext=@0x8238c20) at nsHTMLReflowCommand.cpp:164
#32 0x402ff2c8 in PresShell::ProcessReflowCommands (this=0x8209570)
at nsPresShell.cpp:1116
#33 0x402fda9b in PresShell::ExitReflowLock (this=0x8209570)
at nsPresShell.cpp:595
#34 0x402ffedf in PresShell::ContentInserted (this=0x8209570,
aDocument=0x81af840, aContainer=0x81eb414, aChild=0x8238ae4,
aIndexInContainer=0) at nsPresShell.cpp:1409
#35 0x4029d428 in nsDocument::ContentInserted (this=0x81af840,
aContainer=0x81eb414, aChild=0x8238ae4, aIndexInContainer=0)
at nsDocument.cpp:1187
#36 0x4039f346 in nsHTMLDocument::ContentInserted (this=0x81af840,
aContainer=0x81eb414, aChild=0x8238ae4, aIndexInContainer=0)
at nsHTMLDocument.cpp:686
#37 0x40313a70 in nsGenericHTMLContainerElement::InsertChildAt (
this=0x81eb41c, aKid=0x8238ae4, aIndex=0, aNotify=1)
at nsGenericHTMLElement.cpp:2516
#38 0x40312f3f in nsGenericHTMLContainerElement::InsertBefore
(this=0x81eb41c,
aNewChild=0x8238ad8, aRefChild=0x81eb450, aReturn=0xbfffe930)
at nsGenericHTMLElement.cpp:2262
#39 0x403679f2 in nsHTMLParagraphElement::InsertBefore (this=0x81eb408,
aNewChild=0x8238ad8, aRefChild=0x81eb450, aReturn=0xbfffe930)
at nsHTMLParagraphElement.cpp:48
#40 0x40de96a1 in nsEditor::SplitNodeImpl (this=0x81df758,
aExistingRightNode=0x81eb450, aOffset=35, aNewLeftNode=0x8238ad8,
aParent=0x81eb408) at nsEditor.cpp:1315
#41 0x40df4863 in SplitElementTxn::Do (this=0x8237f98)
at SplitElementTxn.cpp:62
Reporter | ||
Updated•26 years ago
|
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → DUPLICATE
Reporter | ||
Comment 1•26 years ago
|
||
Kin already filed a bug on this; marking it as a dup.
*** This bug has been marked as a duplicate of 3161 ***
Updated•26 years ago
|
Status: RESOLVED → VERIFIED
Comment 2•26 years ago
|
||
Verified duplicate
You need to log in
before you can comment on or make changes to this bug.
Description
•