Closed Bug 2220 Opened 26 years ago Closed 26 years ago

deleting last character in a line causes an assert

Categories

(Core :: Layout, defect, P1)

x86
Windows NT
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: buster, Assigned: karnaze)

References

()

Details

open the test case (below) start the editor (tools > edit mode) click on the DEL key until the last character in the line is deleted. assert-city =============== test case ==================== <html><body>hello<TABLE width=600 border=2> <TR> <TD>cell 1 <TD>cell 2 <TD>cell 3 </TR> </TABLE> </body></html> ================= stack ======================= nsDebug::Assertion(char * 0x006754fc, char * 0x006754e0, char * 0x006754ac, int 2830) line 125 + 13 bytes nsBaseIBFrame::PushLines(nsBlockReflowState & {...}) line 2830 + 38 bytes nsBaseIBFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineBox * 0x01271340, int & 1) line 2129 nsBaseIBFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x01271340, int & 1) line 1574 + 20 bytes nsBaseIBFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 1303 + 26 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 4889 nsBaseIBFrame::Reflow(nsBaseIBFrame * const 0x01270e04, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 778 + 25 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x01270e04, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 4515 + 25 bytes nsAreaFrame::Reflow(nsAreaFrame * const 0x01270e04, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 289 + 25 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x01270e00, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 395 + 28 bytes nsScrollFrame::Reflow(nsScrollFrame * const 0x012703e4, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 328 nsContainerFrame::ReflowChild(nsIFrame * 0x012703e0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 395 + 28 bytes RootFrame::Reflow(RootFrame * const 0x012619c4, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 199 nsHTMLReflowCommand::Dispatch(nsHTMLReflowCommand * const 0x0127dcd0, nsIPresContext & {...}, nsHTMLReflowMetrics & {...}, const nsSize & {...}, nsIRenderingContext & {...}) line 167 PresShell::ProcessReflowCommands(PresShell * const 0x0126fb90) line 867 PresShell::ExitReflowLock(PresShell * const 0x0126fb90) line 525 PresShell::ContentChanged(PresShell * const 0x0126fb98, nsIDocument * 0x012231e0, nsIContent * 0x0127190c, nsISupports * 0x00000000) line 995 nsDocument::ContentChanged(nsDocument * const 0x012231e0, nsIContent * 0x0127190c, nsISupports * 0x00000000) line 897 nsGenericDOMDataNode::ReplaceData(unsigned int 0, unsigned int 1, const nsString & {...}) line 315 nsGenericDOMDataNode::DeleteData(unsigned int 0, unsigned int 1) line 265 + 20 bytes nsTextNode::DeleteData(nsTextNode * const 0x01271900, unsigned int 0, unsigned int 1) line 51 + 22 bytes DeleteTextTxn::Do() line 42 nsTransactionItem::Do() line 70 + 17 bytes nsTransactionManager::Do(nsITransaction * 0x0127dbd0) line 112 + 11 bytes nsEditor::ExecuteTransaction(nsITransaction * 0x0127dbd0) line 531 + 21 bytes nsEditorKeyListener::KeyDown(nsIDOMEvent * 0x0127db90) line 163 + 18 bytes nsEventListenerManager::HandleEvent(nsIPresContext & {...}, nsEvent * 0x0012fdd0, nsIDOMEvent * * 0x0012fb28, nsEventStatus & nsEventStatus_eIgnore) line 379 + 17 bytes nsDocument::HandleDOMEvent(nsDocument * const 0x012231e0, nsIPresContext & {...}, nsEvent * 0x0012fdd0, nsIDOMEvent * * 0x0012fb28, unsigned int 1, nsEventStatus & nsEventStatus_eIgnore) line 1321 nsHTMLHtmlElement::HandleDOMEvent(nsHTMLHtmlElement * const 0x012293cc, nsIPresContext & {...}, nsEvent * 0x0012fdd0, nsIDOMEvent * * 0x00000000, unsigned int 1, nsEventStatus & nsEventStatus_eIgnore) line 173 + 41 bytes PresShell::HandleEvent(PresShell * const 0x0126fb94, nsIView * 0x01270f40, nsGUIEvent * 0x0012fdd0, nsEventStatus & nsEventStatus_eIgnore) line 1305 + 31 bytes nsView::HandleEvent(nsView * const 0x01270f40, nsGUIEvent * 0x0012fdd0, unsigned int 8, nsEventStatus & nsEventStatus_eIgnore) line 783 nsView::HandleEvent(nsView * const 0x01270550, nsGUIEvent * 0x0012fdd0, unsigned int 8, nsEventStatus & nsEventStatus_eIgnore) line 766 nsView::HandleEvent(nsView * const 0x01270490, nsGUIEvent * 0x0012fdd0, unsigned int 8, nsEventStatus & nsEventStatus_eIgnore) line 766 nsScrollingView::HandleEvent(nsScrollingView * const 0x01270490, nsGUIEvent * 0x0012fdd0, unsigned int 8, nsEventStatus & nsEventStatus_eIgnore) line 830 nsView::HandleEvent(nsView * const 0x0126f890, nsGUIEvent * 0x0012fdd0, unsigned int 28, nsEventStatus & nsEventStatus_eIgnore) line 766 nsViewManager::DispatchEvent(nsViewManager * const 0x0126f790, nsGUIEvent * 0x0012fdd0, nsEventStatus & nsEventStatus_eIgnore) line 823 HandleEvent(nsGUIEvent * 0x0012fdd0) line 64 nsWindow::DispatchEvent(nsWindow * const 0x0126f960, nsGUIEvent * 0x0012fdd0, nsEventStatus & nsEventStatus_eIgnore) line 355 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012fdd0) line 371 nsWindow::OnKey(unsigned int 133, unsigned int 46) line 1256 + 15 bytes nsWindow::ProcessMessage(unsigned int 256, unsigned int 46, long 22216705, long * 0x0012fef4) line 1359 + 26 bytes nsWindow::WindowProc(void * 0x018c06ae, unsigned int 256, unsigned int 46, long 22216705) line 414 + 27 bytes
Setting all current Open Critical and Major to M3
Assignee: kipp → karnaze
Status: ASSIGNED → NEW
With the current tree we no longer crash in the block code; a couple of notes though: #1 the delete key deletes forward instead of backwards (odd); #2 if you go around deleting everything eventually you get a crash in the table code: BasicTableLayoutStrategy::BalanceColumnWidths at line 243: 243 NS_ASSERTION(assignedColWidth >= minColWidth, "illegal width assignm The value of assignedColWidth was 1 while minColWidth was 201
per leger, assigning QA contacts to all open bugs without QA contacts according to list at http://bugzilla.mozilla.org/describecomponents.cgi?product=Browser
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
Fixed in March 15th Build (Windows)
You need to log in before you can comment on or make changes to this bug.