1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/layout/xul/tree/crashtests/730441-3.xul Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,38 @@ 1.4 +<?xml version="1.0"?> 1.5 +<!-- 1.6 +###!!! ASSERTION: You can't dereference a NULL nsCOMPtr with operator->().: 'mRawPtr != 0', file ../../../../dist/include/nsCOMPtr.h, line 796 1.7 + 1.8 +Program received signal SIGSEGV, Segmentation fault. 1.9 +0xb6b7463a in nsTreeContentView::SetTree (this=0xb0ba2510, aTree=0xaaecece0) at layout/xul/base/src/tree/src/nsTreeContentView.cpp:571 1.10 +571 boxObject->GetElement(getter_AddRefs(element)); 1.11 +(gdb) bt 3 1.12 +#0 0xb6b7463a in nsTreeContentView::SetTree (this=0xb0ba2510, aTree=0xaaecece0) at layout/xul/base/src/tree/src/nsTreeContentView.cpp:571 1.13 +#1 0xb736c76f in NS_InvokeByIndex_P () at xpcom/reflect/xptcall/src/md/unix/xptcinvoke_gcc_x86_unix.cpp:69 1.14 +#2 0xb6171901 in XPCWrappedNative::CallMethod (ccx=..., mode=XPCWrappedNative::CALL_METHOD) 1.15 + at js/src/xpconnect/src/xpcwrappednative.cpp:2722 1.16 +(More stack frames follow...) 1.17 +(gdb) list 566 1.18 +561 nsTreeContentView::SetTree(nsITreeBoxObject* aTree) 1.19 +562 { 1.20 +563 ClearRows(); 1.21 +564 1.22 +565 mBoxObject = aTree; 1.23 +566 1.24 +567 if (aTree && !mRoot) { 1.25 +568 // Get our root element 1.26 +569 nsCOMPtr<nsIBoxObject> boxObject = do_QueryInterface(mBoxObject); 1.27 +570 nsCOMPtr<nsIDOMElement> element; 1.28 +571 boxObject->GetElement(getter_AddRefs(element)); 1.29 +(gdb) p boxObject 1.30 +$16 = {mRawPtr = 0x0} 1.31 + 1.32 +|aTree| does not implement |nsIBoxObject|, so |do_QueryInterface(mBoxObject)| 1.33 +returns null. Then we have |null->GetElement()|. 1.34 +--> 1.35 +<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 1.36 + onload="document.getElementById('tree').view.setTree({});"> 1.37 +<tree id="tree"> 1.38 + <treechildren/> 1.39 +</tree> 1.40 +</window> 1.41 +