Closed Bug 875772 Opened 12 years ago Closed 12 years ago

Gecko without profile crashes in nsHTMLDocument::Init

Categories

(Core :: XPConnect, defect)

x86_64
Linux
defect
Not set
critical

Tracking

()

RESOLVED INVALID

People

(Reporter: romaxa, Unassigned)

References

Details

(Keywords: crash)

Crash Data

Attempt to open about:mozilla page in Gecko without profile directory crashes: #0 GetObjectClass (obj=0x0) at js/src/jsfriendapi.h:385 #1 isGlobal (this=0x0) at js/src/vm/GlobalObject.h:484 #2 JS_IsGlobalObject (obj=0x0) at js/src/jsapi.cpp:2253 #3 0x6569165f in xpc::GetNativeForGlobal (obj=0x0) at js/xpconnect/wrappers/WrapperFactory.cpp:711 #4 0x64a7ef4e in Init (this=0x5d888f70) at content/base/src/nsDocument.cpp:1907 #5 nsDocument::Init (this=0x5d888f70) at content/base/src/nsDocument.cpp:1887 #6 0x64d73a15 in nsHTMLDocument::Init (this=0x5d888f70) at content/html/document/src/nsHTMLDocument.cpp:254 #7 0x64d780d0 in NS_NewHTMLDocument (aInstancePtrResult=0x61dfd7bc, aLoadedAsData=false) at content/html/document/src/nsHTMLDocument.cpp:176 #8 0x645786c3 in CreateHTMLDocument (aResult=0x61dfd928, aIID=..., aOuter=<optimized out>) at layout/build/nsLayoutModule.cpp:543 #9 CreateHTMLDocument (aOuter=0x0, aIID=..., aResult=0x61dfd928) at layout/build/nsLayoutModule.cpp:543 #10 0x66085590 in mozilla::GenericFactory::CreateInstance (this=0x5d888c48, aOuter=0x0, aIID=..., aResult=0x61dfd928) at x86-dbg/xpcom/build/GenericFactory.cpp:16 #11 0x660f5483 in CreateInstance (aResult=0x61dfd928, aIID=..., aDelegate=0x0, aClass=..., this=0x61412560) at xpcom/components/nsComponentManager.cpp:1008 #12 nsComponentManagerImpl::CreateInstance (this=0x61412560, aClass=..., aDelegate=0x0, aIID=..., aResult=0x61dfd928) at xpcom/components/nsComponentManager.cpp:962 #13 0x660767bd in CallCreateInstance (aResult=0x61dfd928, aIID=..., aDelegate=0x0, aCID=...) at x86-dbg/xpcom/build/nsComponentManagerUtils.cpp:125 #14 nsCreateInstanceByCID::operator() (this=0x61dfd8e8, aIID=..., aInstancePtr=0x61dfd928) at x86-dbg/xpcom/build/nsComponentManagerUtils.cpp:167 #15 0x6457bbb8 in assign_from_helper (aIID=..., helper=..., this=0x61dfd910) at ../../dist/include/nsCOMPtr.h:1267 #16 nsCOMPtr (helper=..., this=0x61dfd910) at ../../dist/include/nsCOMPtr.h:645 #17 nsContentDLF::CreateBlankDocument (this=0x5d888268, aLoadGroup=0x614dd978, aPrincipal=0x0, aDocument=0x61dfd9a4) at layout/build/nsContentDLF.cpp:303 #18 0x656ba809 in nsDocShell::CreateAboutBlankContentViewer (this=0x614dd528, aPrincipal=0x0, aBaseURI=0x0, aTryToSaveOldPresentation=true) at docshell/base/nsDocShell.cpp:6986 ---Type <return> to continue, or q <return> to quit---q Quit (gdb) frame 5 #5 nsDocument::Init (this=0x5d888f70) at content/base/src/nsDocument.cpp:1887 1887 nsDocument::Init() (gdb) frame 3 #3 0x6569165f in xpc::GetNativeForGlobal (obj=0x0) at js/xpconnect/wrappers/WrapperFactory.cpp:711 711 MOZ_ASSERT(JS_IsGlobalObject(obj)); (gdb) frame 4 #4 0x64a7ef4e in Init (this=0x5d888f70) at content/base/src/nsDocument.cpp:1907 1907 mScopeObject = do_GetWeakReference(xpc::GetNativeForGlobal(xpc::GetJunkScope())); (gdb) l 1902 1903 // If after creation the owner js global is not set for a document 1904 // we use the default compartment for this document, instead of creating 1905 // wrapper in some random compartment when the document is exposed to js 1906 // via some events. 1907 mScopeObject = do_GetWeakReference(xpc::GetNativeForGlobal(xpc::GetJunkScope())); 1908 MOZ_ASSERT(mScopeObject); 1909 1910 // Force initialization. 1911 nsINode::nsSlots* slots = Slots(); (gdb) Some console output: WARNING: NS_ENSURE_SUCCESS(rv, nsresult::NS_ERROR_UNEXPECTED) failed with result 0x80004005: file extensions/cookie/nsPermissionManager.cpp, line 419 WARNING: NS_ENSURE_SUCCESS(rv, nullptr) failed with result 0x80570008: file js/xpconnect/src/XPCJSRuntime.cpp, line 3022 Segmentation fault (core dumped) It worked before (half year ago at least)
Assignee: jhpedemonte → nobody
Component: Java to XPCOM Bridge → XPConnect
Severity: normal → critical
Crash Signature: [@ js::GetObjectClass(JSObject*) ]
Keywords: crash
Blocks: 874158
(In reply to Oleg Romashin (:romaxa) from comment #0) > Attempt to open about:mozilla page in Gecko without profile directory How can I do this? I cannot even start firefox without a profile directory... Or is this only possible on linux?
This is embedding setup.
(In reply to Oleg Romashin (:romaxa) from comment #2) > This is embedding setup. Right, but how can I reproduce it? Could you provide me steps to reproduce it so I can debug it?
Ok, when I started preparing minimal test, I found where was the actual problem. If I don't setup directory provider to XRE_InitEmbedding2 + actual binary is not located in GRE_DIR - then retrieval of GRE_DIR fail in many places (manifests parsing fail et.c.) sounds like something else need to be done in some other place.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.