Closed Bug 217913 Opened 21 years ago Closed 11 years ago

###!!! ASSERTION: nsRange::PopRanges() got error from SetEnd(): 'NS_SUCCEEDED(res)', file i:/build/mozilla/content/base/src/nsRange.cpp, line 921

Categories

(Core :: DOM: Core & HTML, defect, P5)

x86
Windows 2000
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: timeless, Unassigned)

References

Details

(Keywords: assertion)

viewer, cvs debug build from mid last week. i was playing w/ edit mode. i've hit
a bunch of other assertions already. this is was first dom range assert but it
took me a long time to hit it again.

original page: default viewer page.
second page: i can't remember one of the top 129 or a click past.
###!!! ASSERTION: nsRange::PopRanges() got error from SetEnd():
'NS_SUCCEEDED(res)', file i:/build/mozilla/content/base/src/nsRange.cpp, line 921
nsDebug::Assertion(const char * 0x05e4779c, const char * 0x05e47788, const char
* 0x05e47758, int 921) line 109

            if (theRange->mEndParent == domNode)
            {
              // promote end point up to replacement point
              res = theRange->SetEnd(aDestNode, aOffset);
              NS_POSTCONDITION(NS_SUCCEEDED(res), "nsRange::PopRanges() got
error from SetEnd()");
              if (NS_FAILED(res)) return res;
            }          
+	aDestNode	0x0ba8a318
	aOffset	6
+	domNode	{0x0ba882bc}
	res	2147942487
+	theRange	0x0baaa510
+	theRange->mEndParent	{0x0ba882bc}
	nsDebug::Assertion returned	<void>

nsRange::PopRanges(nsIDOMNode * 0x0ba8a318, int 6, nsIContent * 0x0ba8c480) line
921 + 39 bytes
nsRange::OwnerChildRemoved(nsIContent * 0x0ba8a2f0, int 6, nsIContent *
0x0ba8c480) line 2399 + 27 bytes
nsGenericHTMLContainerElement::RemoveChildAt(nsGenericHTMLContainerElement *
const 0x0ba8a2f0, int 6, int 1) line 3834
nsGenericElement::doRemoveChild(nsIDOMNode * 0x0ba8c4a4, nsIDOMNode * *
0x0012e7d4) line 2999 + 18 bytes
nsGenericHTMLContainerElement::RemoveChild(nsGenericHTMLContainerElement * const
0x0ba8a2f0, nsIDOMNode * 0x0ba8c4a4, nsIDOMNode * * 0x0012e7d4) line 879
nsHTMLTableCellElement::RemoveChild(nsHTMLTableCellElement * const 0x0ba8a318,
nsIDOMNode * 0x0ba8c4a4, nsIDOMNode * * 0x0012e7d4) line 64 + 23 bytes
DeleteElementTxn::DoTransaction(DeleteElementTxn * const 0x09d2ee80) line 121 +
77 bytes
nsTransactionItem::DoTransaction() line 181 + 18 bytes
nsTransactionManager::BeginTransaction(nsITransaction * 0x09d2ee80) line 1079 +
11 bytes
nsTransactionManager::DoTransaction(nsTransactionManager * const 0x0ba542d0,
nsITransaction * 0x09d2ee80) line 133 + 18 bytes
nsEditor::DoTransaction(nsEditor * const 0x0ba12d80, nsITransaction *
0x09d2ee80) line 531 + 30 bytes
nsEditor::DeleteNode(nsEditor * const 0x0ba12d80, nsIDOMNode * 0x0ba8c4a4) line
1346 + 16 bytes
nsHTMLEditor::DeleteNode(nsHTMLEditor * const 0x0ba12d80, nsIDOMNode *
0x0ba8c4a4) line 4025 + 13 bytes
nsHTMLEditor::DeleteCellContents(nsHTMLEditor * const 0x0ba12d80, nsIDOMElement
* 0x0ba8a318) line 1104 + 24 bytes
nsHTMLEditor::DeleteTableCellContents(nsHTMLEditor * const 0x0ba12e74) line 1077
nsHTMLEditRules::WillDeleteSelection(nsISelection * 0x0ba4db50, short 2, int *
0x0012ef28, int * 0x0012ef64) line 1848 + 34 bytes
nsHTMLEditRules::WillDoAction(nsHTMLEditRules * const 0x0ba84c84, nsISelection *
0x0ba4db50, nsRulesInfo * 0x0012ef2c, int * 0x0012ef28, int * 0x0012ef64) line
591 + 31 bytes
nsPlaintextEditor::DeleteSelection(nsPlaintextEditor * const 0x0ba12d80, short
2) line 863 + 59 bytes
nsTextEditorKeyListener::KeyPress(nsTextEditorKeyListener * const 0x0ba5e850,
nsIDOMEvent * 0x05f04d14) line 203
nsEventListenerManager::HandleEvent(nsEventListenerManager * const 0x0ba4cba0,
nsIPresContext * 0x0ba3bb90, nsEvent * 0x0012f9ec, nsIDOMEvent * * 0x0012f680,
nsIDOMEventTarget * 0x0ba386f4, unsigned int 514, nsEventStatus * 0x0012f818)
line 1634 + 41 bytes
nsDocument::HandleDOMEvent(nsDocument * const 0x0ba386c0, nsIPresContext *
0x0ba3bb90, nsEvent * 0x0012f9ec, nsIDOMEvent * * 0x0012f680, unsigned int 514,
nsEventStatus * 0x0012f818) line 3806
nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x0ba39db0,
nsIPresContext * 0x0ba3bb90, nsEvent * 0x0012f9ec, nsIDOMEvent * * 0x0012f680,
unsigned int 519, nsEventStatus * 0x0012f818) line 2035 + 47 bytes
PresShell::HandleEventInternal(nsEvent * 0x0012f9ec, nsIView * 0x0ba44460,
unsigned int 1, nsEventStatus * 0x0012f818) line 6236 + 45 bytes
PresShell::HandleEvent(PresShell * const 0x0ba4b778, nsIView * 0x0ba44460,
nsGUIEvent * 0x0012f9ec, nsEventStatus * 0x0012f818, int 1, int & 1) line 6106 +
25 bytes
nsViewManager::HandleEvent(nsView * 0x0ba44460, nsGUIEvent * 0x0012f9ec, int 0)
line 2255
nsView::HandleEvent(nsViewManager * 0x0ba44270, nsGUIEvent * 0x0012f9ec, int 0)
line 305
nsViewManager::DispatchEvent(nsViewManager * const 0x0ba44270, nsGUIEvent *
0x0012f9ec, nsEventStatus * 0x0012f95c) line 2038 + 23 bytes
HandleEvent(nsGUIEvent * 0x0012f9ec) line 79
nsWindow::DispatchEvent(nsWindow * const 0x0ba47c74, nsGUIEvent * 0x0012f9ec,
nsEventStatus & nsEventStatus_eIgnore) line 1049 + 10 bytes
nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f9ec) line 1070
nsWindow::DispatchKeyEvent(unsigned int 131, unsigned short 0, unsigned int 8,
long 0) line 2911 + 15 bytes
nsWindow::OnChar(unsigned int 8, unsigned int 8, unsigned char 0) line 3098
nsWindow::ProcessMessage(unsigned int 258, unsigned int 8, long 917505, long *
0x0012fe58) line 3806 + 41 bytes
nsWindow::WindowProc(HWND__ * 0x00110922, unsigned int 258, unsigned int 8, long
917505) line 1332 + 27 bytes
USER32! SetTimer + 1077 bytes
USER32! DispatchMessageW + 278 bytes
USER32! DispatchMessageA + 11 bytes
main(int 1, char * * 0x00a15f00) line 158 + 11 bytes


Cause:
	aOffset	6
	mIsPositioned	1 ''
	mStartOffset	2
+	mStartParent	{0x0ba8c4a4}
+	theParent	{0x0ba8a318}
	nsRange::IsIncreasing returned	0 
  // start must be before end
  if (mIsPositioned && !IsIncreasing(mStartParent,mStartOffset,theParent,aOffset))
    return NS_ERROR_ILLEGAL_VALUE;
  // if it's in an attribute node, start must be in or descended from same node
  // (haven't done this one yet)
In
nsRange::SetEnd(nsRange * const 0x0baaa510, nsIDOMNode * 0x0ba8a318, int 6) line
1105

IsIncreasing:
  if (startIdx < endIdx) {
    return PR_TRUE;
  }

  return PR_FALSE; // reached
}
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P5
Depends on: 345837
Assignee: anthonyd → nobody
QA Contact: ian → traversal-range
There is no more nsRange::PopRanges.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WORKSFORME
Component: DOM: Traversal-Range → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.