Closed Bug 7222 Opened 25 years ago Closed 25 years ago

assert when inserting sidebar into content model

Categories

(Core Graveyard :: RDF, defect, P3)

defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: Brade, Assigned: waterson)

References

Details

Attachments

(1 file)

Comments from slamm in bug #7047: "Currently, removing the sidebar works fine. However, when I add it back in, the order of the content nodes gets messed up. The sidebar, the splitter, and the content area get reversed. I need to file another bug for that." This is the bug that slamm intended to file. I'm filing it to experiment with terry's new feature in bugzilla.
Blocks: 7047
adding dependency: this bug needs to be fixed before bug #7047 can be fixed
Blocks: 7403
Status: NEW → ASSIGNED
Steve, do you have a simple test case exhibiting this bug? If so, please attach it. If not, I can make one, but I thought I'd save some time. Thanks.
I do not have a test case handy. However, I can put one together if you are unable to reproduce this.
Assignee: nisheeth → waterson
Status: ASSIGNED → NEW
Component: DOM Level 0 → RDF
ConvertAttributeValueToResource() in nsRDFContentUtils.cpp asserts with the message "element is not in any document" when contentframe.js tries to insert a newly created sidebar node into the content model. The call stack of the assert is as follows: NTDLL! 77f76148() nsDebug::Assertion(char * 0x04a7e798, char * 0x04a7e788, char * 0x04a7e754, int 192) line 147 + 13 bytes ConvertAttributeValueToResource(nsIContent * 0x0151a5dc, nsString & {...}, nsIRDFResource * * 0x0012e240) line 192 + 44 bytes nsRDFContentUtils::GetElementResource(nsIContent * 0x0151a5dc, nsIRDFResource * * 0x0012e240) line 231 + 17 bytes RDFXULBuilderImpl::CreateOrRecycleElement(nsINameSpace * 0x01515a50, nsIRDFResource * 0x01510220, nsIContent * * 0x0012e31c) line 1820 + 38 bytes RDFXULBuilderImpl::AppendChild(nsINameSpace * 0x01515a50, nsIContent * 0x01519300, nsIRDFNode * 0x01510220) line 1652 + 51 bytes RDFXULBuilderImpl::OnAssert(RDFXULBuilderImpl * const 0x01598b14, nsIRDFResource * 0x014f9cf0, nsIRDFResource * 0x01508d00, nsIRDFNode * 0x01510220) line 963 + 33 bytes CompositeDataSourceImpl::OnAssert(CompositeDataSourceImpl * const 0x01598844, nsIRDFResource * 0x014f9cf0, nsIRDFResource * 0x01508d00, nsIRDFNode * 0x01510220) line 1169 InMemoryDataSource::Assert(InMemoryDataSource * const 0x015991c0, nsIRDFResource * 0x014f9cf0, nsIRDFResource * 0x01508d00, nsIRDFNode * 0x01510220, int 1) line 1049 CompositeDataSourceImpl::Assert(CompositeDataSourceImpl * const 0x01598840, nsIRDFResource * 0x014f9cf0, nsIRDFResource * 0x01508d00, nsIRDFNode * 0x01510220, int 1) line 796 + 28 bytes RDFContainerImpl::Renumber(int 2) line 449 + 45 bytes RDFContainerImpl::InsertElementAt(RDFContainerImpl * const 0x0164f450, nsIRDFNode * 0x0164e840, int 2, int 1) line 250 + 12 bytes RDFXULBuilderImpl::OnInsertBefore(RDFXULBuilderImpl * const 0x01598b18, nsIDOMNode * 0x015192f0, nsIDOMNode * 0x0164e2f0, nsIDOMNode * 0x015a8340) line 1199 + 47 bytes XULDocumentImpl::OnInsertBefore(XULDocumentImpl * const 0x015967b4, nsIDOMNode * 0x015192f0, nsIDOMNode * 0x0164e2f0, nsIDOMNode * 0x015a8340) line 3577 RDFElementImpl::InsertBefore(RDFElementImpl * const 0x015192f0, nsIDOMNode * 0x0164e2f0, nsIDOMNode * 0x015a8340, nsIDOMNode * * 0x0012e6e8) line 751 NodeInsertBefore(JSContext * 0x014c1c80, JSObject * 0x01988440, unsigned int 2, long * 0x0193aeac, long * 0x0012e7a4) line 421 + 34 bytes js_Invoke(JSContext * 0x014c1c80, unsigned int 2, int 0) line 650 + 26 bytes js_Interpret(JSContext * 0x014c1c80, long * 0x0012efd0) line 2199 + 15 bytes js_Invoke(JSContext * 0x014c1c80, unsigned int 0, int 0) line 666 + 13 bytes js_Interpret(JSContext * 0x014c1c80, long * 0x0012f7b8) line 2199 + 15 bytes js_Invoke(JSContext * 0x014c1c80, unsigned int 1, int 0) line 666 + 13 bytes js_CallFunctionValue(JSContext * 0x014c1c80, JSObject * 0x019405e8, long 26478432, unsigned int 1, long * 0x0012f8fc, long * 0x0012f904) line 735 + 15 bytes JS_CallFunctionValue(JSContext * 0x014c1c80, JSObject * 0x019405e8, long 26478432, unsigned int 1, long * 0x0012f8fc, long * 0x0012f904) line 2437 + 29 bytes nsJSEventListener::HandleEvent(nsIDOMEvent * 0x0164ee20) line 97 + 34 bytes nsEventListenerManager::HandleEvent(nsIPresContext & {...}, nsEvent * 0x0012facc, nsIDOMEvent * * 0x0012fa88, unsigned int 3, nsEventStatus & nsEventStatus_eIgnore) line 561 + 21 bytes RDFElementImpl::HandleDOMEvent(RDFElementImpl * const 0x015bbe40, nsIPresContext & {...}, nsEvent * 0x0012facc, nsIDOMEvent * * 0x0012fa88, unsigned int 1, nsEventStatus & nsEventStatus_eIgnore) line 2282 nsEventStateManager::CheckForAndDispatchClick(nsEventStateManager * const 0x0151fb30, nsIPresContext & {...}, nsMouseEvent * 0x0012fd38, nsEventStatus & nsEventStatus_eIgnore) line 590 + 31 bytes nsEventStateManager::PostHandleEvent(nsEventStateManager * const 0x0151fb30, nsIPresContext & {...}, nsGUIEvent * 0x0012fd38, nsIFrame * 0x015c3bb0, nsEventStatus & nsEventStatus_eIgnore, nsIView * 0x014f67b0) line 168 + 24 bytes PresShell::HandleEvent(PresShell * const 0x0155d184, nsIView * 0x014f67b0, nsGUIEvent * 0x0012fd38, nsEventStatus & nsEventStatus_eIgnore) line 2030 + 43 bytes nsView::HandleEvent(nsView * const 0x014f67b0, nsGUIEvent * 0x0012fd38, unsigned int 28, nsEventStatus & nsEventStatus_eIgnore, int & 0) line 833 nsViewManager::DispatchEvent(nsViewManager * const 0x014f6470, nsGUIEvent * 0x0012fd38, nsEventStatus & nsEventStatus_eIgnore) line 1737 HandleEvent(nsGUIEvent * 0x0012fd38) line 67 nsWindow::DispatchEvent(nsWindow * const 0x014f6884, nsGUIEvent * 0x0012fd38, nsEventStatus & nsEventStatus_eIgnore) line 416 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012fd38) line 437 nsWindow::DispatchMouseEvent(unsigned int 301, nsPoint * 0x00000000) line 3006 + 15 bytes ChildWindow::DispatchMouseEvent(unsigned int 301, nsPoint * 0x00000000) line 3155 nsWindow::ProcessMessage(unsigned int 514, unsigned int 0, long 5636099, long * 0x0012fef4) line 2368 + 24 bytes nsWindow::WindowProc(void * 0x000c0500, unsigned int 514, unsigned int 0, long 5636099) line 479 + 27 bytes USER32! 77e71250() 00560003() To reproduce the above assert: 1) Replace your copy of contentframe.js with the file attached to this bug report. 2) Run apprunner. Assigning this to Chris for further investigation and changing component to RDF...
Status: NEW → ASSIGNED
Summary: assert when inserting sidebar into content model
Target Milestone: M7
Depends on: 7698
I'm now seeing a crash in the JS GC with this patch applied. jband believes my crash is related to bug 7698, so I'll tack on that dependency for now and cross my fingers.
Depends on: 7940
No longer depends on: 7698
Okay, fur corrected me. The bug this _really_ depends on is 7940. Updated dependencies.
No longer blocks: 7403
Target Milestone: M7 → M8
Slipping to M8; slamm has worked around this by just setting "display:none", etc.
Depends on: 8453
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
slamm: I've tested this with the modified JS file and it works fine. I'm _not_ going to check in the modified JS: I'll leave that up to you to decide if you actually want to check it in or not.
Kathleen Brade, or Chris Waterson could any of you please verify this bug ? or provide a testcase to verify it ?
Status: RESOLVED → VERIFIED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: