Closed Bug 465934 Opened 16 years ago Closed 16 years ago

ASSERTION: Trying to re-bind content from native anonymous subtree to non-native anonymous parent!

Categories

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

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla1.9.1b3

People

(Reporter: timeless, Assigned: smaug)

References

()

Details

(Keywords: assertion, fixed1.9.1)

Attachments

(1 file)

steps:
1. load url
2. follow directions

actual results:
xpcom_core!Break(char * aMsg = 0x0012dabc "###!!! ASSERTION: Trying to re-bind content from native anonymous subtree to non-native anonymous parent!: 'IsRootOfNativeAnonymousSubtree() || !HasFlag(NODE_IS_IN_ANONYMOUS_SUBTREE) || aBindingParent->IsInNativeAnonymousSubtree()', file c:/home/mozilla.org/mozilla-central/content/base/src/nsGenericDOMDataNode.cpp, line 617")+0x1a5
xpcom_core!NS_DebugBreak_P(unsigned int aSeverity = 1, char * aStr = 0x02f52af0 "Trying to re-bind content from native anonymous subtree to non-native anonymous parent!", char * aExpr = 0x02f52a70 "IsRootOfNativeAnonymousSubtree() || !HasFlag(NODE_IS_IN_ANONYMOUS_SUBTREE) || aBindingParent->IsInNativeAnonymousSubtree()", char * aFile = 0x02f52a20 "c:/home/mozilla.org/mozilla-central/content/base/src/nsGenericDOMDataNode.cpp", int aLine = 617)+0x2a4
gklayout!nsGenericDOMDataNode::BindToTree(class nsIDocument * aDocument = 0x08470bb0, class nsIContent * aParent = 0x0a887fa0, class nsIContent * aBindingParent = 0x0a7fec08, int aCompileEventHandlers = 1)+0x2ac
gklayout!nsGenericElement::doInsertChildAt(class nsIContent * aKid = 0x08cfdf30, unsigned int aIndex = 0, int aNotify = 1, class nsIContent * aParent = 0x0a887fa0, class nsIDocument * aDocument = 0x08470bb0, class nsAttrAndChildArray * aChildArray = 0x0a887fbc)+0x45b
gklayout!nsGenericElement::InsertChildAt(class nsIContent * aKid = 0x08cfdf30, unsigned int aIndex = 0, int aNotify = 1)+0x55
gklayout!nsGenericElement::doReplaceOrInsertBefore(int aReplace = 0, class nsIDOMNode * aNewChild = 0x08cfdf54, class nsIDOMNode * aRefChild = 0x00000000, class nsIContent * aParent = 0x0a887fa0, class nsIDocument * aDocument = 0x08470bb0, class nsIDOMNode ** aReturn = 0x0012e240)+0xdcc
gklayout!nsGenericElement::InsertBefore(class nsIDOMNode * aNewChild = 0x08cfdf54, class nsIDOMNode * aRefChild = 0x00000000, class nsIDOMNode ** aReturn = 0x0012e240)+0x23
gklayout!nsHTMLDivElement::InsertBefore(class nsIDOMNode * newChild = 0x08cfdf54, class nsIDOMNode * refChild = 0x00000000, class nsIDOMNode ** _retval = 0x0012e240)+0x18
gklayout!DeleteElementTxn::UndoTransaction(void)+0x263
gklayout!EditAggregateTxn::UndoTransaction(void)+0xbe
gklayout!DeleteRangeTxn::UndoTransaction(void)+0x60
gklayout!EditAggregateTxn::UndoTransaction(void)+0xbe
gklayout!EditAggregateTxn::UndoTransaction(void)+0xbe
gklayout!PlaceholderTxn::UndoTransaction(void)+0xf
txmgr!nsTransactionItem::UndoTransaction(class nsTransactionManager * aTxMgr = 0x0add3f30)+0x5f
txmgr!nsTransactionManager::UndoTransaction(void)+0x182
gklayout!nsEditor::Undo(unsigned int aCount = 1)+0x9f
gklayout!nsPlaintextEditor::Undo(unsigned int aCount = 1)+0xcc
gklayout!nsUndoCommand::DoCommand(char * aCommandName = 0x0012e670 "cmd_undo", class nsISupports * aCommandRefCon = 0x02356c38)+0x48
embedcomponents!nsControllerCommandTable::DoCommand(char * aCommandName = 0x0012e670 "cmd_undo", class nsISupports * aCommandRefCon = 0x02356c38)+0x9d
embedcomponents!nsBaseCommandController::DoCommand(char * aCommand = 0x0012e670 "cmd_undo")+0xd5
gklayout!nsXBLPrototypeHandler::DispatchXBLCommand(class nsPIDOMEventTarget * aTarget = 0x0a7fec08, class nsIDOMEvent * aEvent = 0x09f17c68)+0x761
gklayout!nsXBLPrototypeHandler::ExecuteHandler(class nsPIDOMEventTarget * aTarget = 0x0a7fec08, class nsIDOMEvent * aEvent = 0x09f17c68)+0x196
gklayout!nsXBLKeyEventHandler::ExecuteMatchedHandlers(class nsIDOMKeyEvent * aKeyEvent = 0x09f17c68, unsigned int aCharCode = 0x7a, int aIgnoreShiftKey = 0)+0x14c
gklayout!nsXBLKeyEventHandler::HandleEvent(class nsIDOMEvent * aEvent = 0x09f17c78)+0x14c
gklayout!nsEventListenerManager::HandleEventSubType(struct nsListenerStruct * aListenerStruct = 0x0234f230, class nsIDOMEventListener * aListener = 0x0417b8b0, class nsIDOMEvent * aDOMEvent = 0x09f17c78, class nsPIDOMEventTarget * aCurrentTarget = 0x0a7fec08, unsigned int aPhaseFlags = 0x206)+0x1ad
gklayout!nsEventListenerManager::HandleEvent(class nsPresContext * aPresContext = 0x023268b0, class nsEvent * aEvent = 0x0012efec, class nsIDOMEvent ** aDOMEvent = 0x0012ec48, class nsPIDOMEventTarget * aCurrentTarget = 0x0a7fec08, unsigned int aFlags = 0x206, nsEventStatus * aEventStatus = 0x0012ec4c)+0x374
gklayout!nsEventTargetChainItem::HandleEvent(class nsEventChainPostVisitor * aVisitor = 0x0012ec40, unsigned int aFlags = 0x206, int aMayHaveNewListenerManagers = 0)+0x130
gklayout!nsEventTargetChainItem::HandleEventTargetChain(class nsEventChainPostVisitor * aVisitor = 0x0012ec40, unsigned int aFlags = 0x206, class nsDispatchingCallback * aCallback = 0x0012ecec, int aMayHaveNewListenerManagers = 0)+0x194
gklayout!nsEventTargetChainItem::HandleEventTargetChain(class nsEventChainPostVisitor * aVisitor = 0x0012ec40, unsigned int aFlags = 6, class nsDispatchingCallback * aCallback = 0x0012ecec, int aMayHaveNewListenerManagers = 1)+0x32e
gklayout!nsEventDispatcher::Dispatch(class nsISupports * aTarget = 0x0a7fec08, class nsPresContext * aPresContext = 0x023268b0, class nsEvent * aEvent = 0x0012efec, class nsIDOMEvent * aDOMEvent = 0x00000000, nsEventStatus * aEventStatus = 0x0012ede4, class nsDispatchingCallback * aCallback = 0x0012ecec)+0x51e
gklayout!PresShell::HandleEventInternal(class nsEvent * aEvent = 0x0012efec, class nsIView * aView = 0x0ac3b018, nsEventStatus * aStatus = 0x0012ede4)+0x1a2
gklayout!PresShell::HandleEvent(class nsIView * aView = 0x0ac3b018, class nsGUIEvent * aEvent = 0x0012efec, nsEventStatus * aEventStatus = 0x0012ede4)+0x7c6
gklayout!nsViewManager::HandleEvent(class nsView * aView = 0x0ac3b018, struct nsPoint aPoint = struct nsPoint, class nsGUIEvent * aEvent = 0x0012efec, int aCaptured = 0)+0x59
gklayout!nsViewManager::DispatchEvent(class nsGUIEvent * aEvent = 0x0012efec, nsEventStatus * aStatus = 0x0012ef2c)+0xb9f
gklayout!HandleEvent(class nsGUIEvent * aEvent = 0x0012efec)+0x4b
gkwidget!nsWindow::DispatchEvent(class nsGUIEvent * event = 0x0012efec, nsEventStatus * aStatus = 0x0012efc4)+0xc3
gkwidget!nsWindow::DispatchWindowEvent(class nsGUIEvent * event = 0x0012efec)+0x26
gkwidget!nsWindow::DispatchKeyEvent(unsigned int aEventType = 0x83, unsigned short aCharCode = 0x7a, class nsTArray<nsAlternativeCharCode> * aAlternativeCharCodes = 0x0012f0d0, unsigned int aVirtualCharCode = 0, long aKeyData = 2883585, unsigned int aFlags = 0)+0x128
gkwidget!nsWindow::OnKeyDown(unsigned int aVirtualKeyCode = 0x5a, long aKeyData = 2883585, struct nsFakeCharMessage * aFakeCharMessage = 0x00000000)+0xbfa
Ok, the assertion test is just missing one case.
Assignee: nobody → Olli.Pettay
Attached patch fixSplinter Review
This should do it.
I think bug 436453 should have changed the assertion. Before it binding parent
was always in native anon - that is not the case anymore.
Attachment #349222 - Flags: superreview?(jonas)
Attachment #349222 - Flags: review?(jonas)
Attachment #349222 - Flags: superreview?(jonas)
Attachment #349222 - Flags: superreview+
Attachment #349222 - Flags: review?(jonas)
Attachment #349222 - Flags: review+
Attachment #349222 - Flags: approval1.9.1?
Comment on attachment 349222 [details] [diff] [review]
fix

a191=beltzner
Attachment #349222 - Flags: approval1.9.1? → approval1.9.1+
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Whiteboard: [needs-1.9.1-landing]
Fixed on trunk and 1.9.1
Whiteboard: [needs-1.9.1-landing]
Keywords: fixed1.9.1
Target Milestone: --- → mozilla1.9.1b3
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: