Closed
Bug 795484
Opened 11 years ago
Closed 11 years ago
[Desktop Build]B2G Desktop crashes on startup in nsBlockFrame::SetInitialChildList
Categories
(Core :: Layout, defect)
Tracking
()
RESOLVED
FIXED
blocking-basecamp | - |
People
(Reporter: myk, Assigned: jdm)
References
Details
(Keywords: crash, reproducible, Whiteboard: [startupcrash][b2g-desktop-build]b2g-desktop-builds [soft][b2g-crash])
Attachments
(1 file)
909 bytes,
text/plain
|
Details |
bsmedberg's fix for the Windows-specific B2G Desktop startup crash bug 794662 exposed another Windows-specific crash on B2G Desktop startup, this one in nsBlockFrame::SetInitialChildList. Here's an uninformative crash report (symbols unavailable due to bug 785698): https://crash-stats.mozilla.com/report/index/359245af-0c15-4b2c-83af-2541e2120928 And here's a stack from my local build: Index Function -------------------------------------------------------------------------------- 1 KernelBase.dll!_DebugBreak@0() *2 xul.dll!RealBreak() 3 xul.dll!Break(const char * aMsg=0x00368b10) 4 xul.dll!NS_DebugBreak_P(unsigned int aSeverity=1, const char * aStr=0x11806f3c, const char * aExpr=0x11806f70, const char * aFile=0x11806efc, int aLine=6571) 5 xul.dll!nsBlockFrame::SetInitialChildList(mozilla::layout::FrameChildListID aListID=kPrincipalList, nsFrameList & aChildList={...}) 6 xul.dll!nsCSSFrameConstructor::ConstructFrameFromItemInternal(nsCSSFrameConstructor::FrameConstructionItem & aItem={...}, nsFrameConstructorState & aState={...}, nsIFrame * aParentFrame=0x0e2e8800, nsFrameItems & aFrameItems={...}) 7 xul.dll!nsCSSFrameConstructor::ConstructFramesFromItem(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItemList::Iterator & aIter={...}, nsIFrame * aParentFrame=0x0e2e8800, nsFrameItems & aFrameItems={...}) 8 xul.dll!nsCSSFrameConstructor::ConstructFramesFromItemList(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItemList & aItems={...}, nsIFrame * aParentFrame=0x0e2e8800, nsFrameItems & aFrameItems={...}) 9 xul.dll!nsCSSFrameConstructor::ProcessChildren(nsFrameConstructorState & aState={...}, nsIContent * aContent=0x0e69bc40, nsStyleContext * aStyleContext=0x0e2e85c0, nsIFrame * aFrame=0x0e2e8800, const bool aCanHaveGeneratedContent=true, nsFrameItems & aFrameItems={...}, const bool aAllowBlockStyles=true, PendingBinding * aPendingBinding=0x00000000, nsIFrame * aPossiblyLeafFrame=0x0e2e8800) 10 xul.dll!nsCSSFrameConstructor::ConstructBlock(nsFrameConstructorState & aState={...}, const nsStyleDisplay * aDisplay=0x0e2e8618, nsIContent * aContent=0x0e69bc40, nsIFrame * aParentFrame=0x0e2e8428, nsIFrame * aContentParentFrame=0x0e2e8428, nsStyleContext * aStyleContext=0x0e2e85c0, nsIFrame * * aNewFrame=0x00369448, nsFrameItems & aFrameItems={...}, bool aAbsPosContainer=true, PendingBinding * aPendingBinding=0x00000000) 11 xul.dll!nsCSSFrameConstructor::ConstructNonScrollableBlock(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItem & aItem={...}, nsIFrame * aParentFrame=0x0e2e8428, const nsStyleDisplay * aDisplay=0x0e2e8618, nsFrameItems & aFrameItems={...}, nsIFrame * * aNewFrame=0x00369448) 12 xul.dll!nsCSSFrameConstructor::ConstructFrameFromItemInternal(nsCSSFrameConstructor::FrameConstructionItem & aItem={...}, nsFrameConstructorState & aState={...}, nsIFrame * aParentFrame=0x0e2e8428, nsFrameItems & aFrameItems={...}) 13 xul.dll!nsCSSFrameConstructor::ConstructFramesFromItem(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItemList::Iterator & aIter={...}, nsIFrame * aParentFrame=0x0e2e8428, nsFrameItems & aFrameItems={...}) 14 xul.dll!nsCSSFrameConstructor::ConstructFramesFromItemList(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItemList & aItems={...}, nsIFrame * aParentFrame=0x0e2e8428, nsFrameItems & aFrameItems={...}) 15 xul.dll!nsCSSFrameConstructor::ProcessChildren(nsFrameConstructorState & aState={...}, nsIContent * aContent=0x0e69bba0, nsStyleContext * aStyleContext=0x0e2e80f0, nsIFrame * aFrame=0x0e2e8428, const bool aCanHaveGeneratedContent=true, nsFrameItems & aFrameItems={...}, const bool aAllowBlockStyles=true, PendingBinding * aPendingBinding=0x00000000, nsIFrame * aPossiblyLeafFrame=0x0e2e8428) 16 xul.dll!nsCSSFrameConstructor::ConstructBlock(nsFrameConstructorState & aState={...}, const nsStyleDisplay * aDisplay=0x0e2e8148, nsIContent * aContent=0x0e69bba0, nsIFrame * aParentFrame=0x0e2e7fc8, nsIFrame * aContentParentFrame=0x0e2e7fc8, nsStyleContext * aStyleContext=0x0e2e80f0, nsIFrame * * aNewFrame=0x003697ec, nsFrameItems & aFrameItems={...}, bool aAbsPosContainer=true, PendingBinding * aPendingBinding=0x00000000) 17 xul.dll!nsCSSFrameConstructor::ConstructNonScrollableBlock(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItem & aItem={...}, nsIFrame * aParentFrame=0x0e2e7fc8, const nsStyleDisplay * aDisplay=0x0e2e8148, nsFrameItems & aFrameItems={...}, nsIFrame * * aNewFrame=0x003697ec) 18 xul.dll!nsCSSFrameConstructor::ConstructFrameFromItemInternal(nsCSSFrameConstructor::FrameConstructionItem & aItem={...}, nsFrameConstructorState & aState={...}, nsIFrame * aParentFrame=0x0e2e7fc8, nsFrameItems & aFrameItems={...}) 19 xul.dll!nsCSSFrameConstructor::ConstructFramesFromItem(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItemList::Iterator & aIter={...}, nsIFrame * aParentFrame=0x0e2e7fc8, nsFrameItems & aFrameItems={...}) 20 xul.dll!nsCSSFrameConstructor::ConstructFramesFromItemList(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItemList & aItems={...}, nsIFrame * aParentFrame=0x0e2e7fc8, nsFrameItems & aFrameItems={...}) 21 xul.dll!nsCSSFrameConstructor::ProcessChildren(nsFrameConstructorState & aState={...}, nsIContent * aContent=0x0e69bb00, nsStyleContext * aStyleContext=0x0e2e7bb8, nsIFrame * aFrame=0x0e2e7fc8, const bool aCanHaveGeneratedContent=true, nsFrameItems & aFrameItems={...}, const bool aAllowBlockStyles=true, PendingBinding * aPendingBinding=0x00000000, nsIFrame * aPossiblyLeafFrame=0x0e2e7fc8) 22 xul.dll!nsCSSFrameConstructor::ConstructBlock(nsFrameConstructorState & aState={...}, const nsStyleDisplay * aDisplay=0x0e2e7c10, nsIContent * aContent=0x0e69bb00, nsIFrame * aParentFrame=0x0e2e7ae8, nsIFrame * aContentParentFrame=0x0e2e7ae8, nsStyleContext * aStyleContext=0x0e2e7bb8, nsIFrame * * aNewFrame=0x00369b90, nsFrameItems & aFrameItems={...}, bool aAbsPosContainer=true, PendingBinding * aPendingBinding=0x00000000) 23 xul.dll!nsCSSFrameConstructor::ConstructNonScrollableBlock(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItem & aItem={...}, nsIFrame * aParentFrame=0x0e2e7ae8, const nsStyleDisplay * aDisplay=0x0e2e7c10, nsFrameItems & aFrameItems={...}, nsIFrame * * aNewFrame=0x00369b90) 24 xul.dll!nsCSSFrameConstructor::ConstructFrameFromItemInternal(nsCSSFrameConstructor::FrameConstructionItem & aItem={...}, nsFrameConstructorState & aState={...}, nsIFrame * aParentFrame=0x0e2e7ae8, nsFrameItems & aFrameItems={...}) 25 xul.dll!nsCSSFrameConstructor::ConstructFramesFromItem(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItemList::Iterator & aIter={...}, nsIFrame * aParentFrame=0x0e2e7ae8, nsFrameItems & aFrameItems={...}) 26 xul.dll!nsCSSFrameConstructor::ConstructFramesFromItemList(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItemList & aItems={...}, nsIFrame * aParentFrame=0x0e2e7ae8, nsFrameItems & aFrameItems={...}) 27 xul.dll!nsCSSFrameConstructor::ProcessChildren(nsFrameConstructorState & aState={...}, nsIContent * aContent=0x0e69ba60, nsStyleContext * aStyleContext=0x0e292638, nsIFrame * aFrame=0x0e2e7ae8, const bool aCanHaveGeneratedContent=true, nsFrameItems & aFrameItems={...}, const bool aAllowBlockStyles=true, PendingBinding * aPendingBinding=0x00000000, nsIFrame * aPossiblyLeafFrame=0x0e2e7ae8) 28 xul.dll!nsCSSFrameConstructor::ConstructBlock(nsFrameConstructorState & aState={...}, const nsStyleDisplay * aDisplay=0x0e292690, nsIContent * aContent=0x0e69ba60, nsIFrame * aParentFrame=0x0e291da0, nsIFrame * aContentParentFrame=0x0e291da0, nsStyleContext * aStyleContext=0x0e292638, nsIFrame * * aNewFrame=0x00369f34, nsFrameItems & aFrameItems={...}, bool aAbsPosContainer=true, PendingBinding * aPendingBinding=0x00000000) 29 xul.dll!nsCSSFrameConstructor::ConstructNonScrollableBlock(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItem & aItem={...}, nsIFrame * aParentFrame=0x0e291da0, const nsStyleDisplay * aDisplay=0x0e292690, nsFrameItems & aFrameItems={...}, nsIFrame * * aNewFrame=0x00369f34) 30 xul.dll!nsCSSFrameConstructor::ConstructFrameFromItemInternal(nsCSSFrameConstructor::FrameConstructionItem & aItem={...}, nsFrameConstructorState & aState={...}, nsIFrame * aParentFrame=0x0e291da0, nsFrameItems & aFrameItems={...}) 31 xul.dll!nsCSSFrameConstructor::ConstructFramesFromItem(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItemList::Iterator & aIter={...}, nsIFrame * aParentFrame=0x0e291da0, nsFrameItems & aFrameItems={...}) 32 xul.dll!nsCSSFrameConstructor::ConstructFramesFromItemList(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItemList & aItems={...}, nsIFrame * aParentFrame=0x0e291da0, nsFrameItems & aFrameItems={...}) 33 xul.dll!nsCSSFrameConstructor::ProcessChildren(nsFrameConstructorState & aState={...}, nsIContent * aContent=0x0e698290, nsStyleContext * aStyleContext=0x0e291ba8, nsIFrame * aFrame=0x0e291da0, const bool aCanHaveGeneratedContent=true, nsFrameItems & aFrameItems={...}, const bool aAllowBlockStyles=true, PendingBinding * aPendingBinding=0x00000000, nsIFrame * aPossiblyLeafFrame=0x0e291da0) 34 xul.dll!nsCSSFrameConstructor::ConstructBlock(nsFrameConstructorState & aState={...}, const nsStyleDisplay * aDisplay=0x0e291c70, nsIContent * aContent=0x0e698290, nsIFrame * aParentFrame=0x0e291aa0, nsIFrame * aContentParentFrame=0x0e291aa0, nsStyleContext * aStyleContext=0x0e291ba8, nsIFrame * * aNewFrame=0x0036a1f0, nsFrameItems & aFrameItems={...}, bool aAbsPosContainer=true, PendingBinding * aPendingBinding=0x00000000) 35 xul.dll!nsCSSFrameConstructor::ConstructScrollableBlock(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItem & aItem={...}, nsIFrame * aParentFrame=0x0e291868, const nsStyleDisplay * aDisplay=0x0e2918f0, nsFrameItems & aFrameItems={...}, nsIFrame * * aNewFrame=0x0036a2f8) 36 xul.dll!nsCSSFrameConstructor::ConstructFrameFromItemInternal(nsCSSFrameConstructor::FrameConstructionItem & aItem={...}, nsFrameConstructorState & aState={...}, nsIFrame * aParentFrame=0x0e291868, nsFrameItems & aFrameItems={...}) 37 xul.dll!nsCSSFrameConstructor::ConstructFramesFromItem(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItemList::Iterator & aIter={...}, nsIFrame * aParentFrame=0x0e291868, nsFrameItems & aFrameItems={...}) 38 xul.dll!nsCSSFrameConstructor::ConstructFramesFromItemList(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItemList & aItems={...}, nsIFrame * aParentFrame=0x0e291868, nsFrameItems & aFrameItems={...}) 39 xul.dll!nsCSSFrameConstructor::ProcessChildren(nsFrameConstructorState & aState={...}, nsIContent * aContent=0x0e6981f0, nsStyleContext * aStyleContext=0x0e291720, nsIFrame * aFrame=0x0e291868, const bool aCanHaveGeneratedContent=true, nsFrameItems & aFrameItems={...}, const bool aAllowBlockStyles=true, PendingBinding * aPendingBinding=0x00000000, nsIFrame * aPossiblyLeafFrame=0x0e291868) 40 xul.dll!nsCSSFrameConstructor::ConstructBlock(nsFrameConstructorState & aState={...}, const nsStyleDisplay * aDisplay=0x0d834928, nsIContent * aContent=0x0e6981f0, nsIFrame * aParentFrame=0x0e291340, nsIFrame * aContentParentFrame=0x0e291340, nsStyleContext * aStyleContext=0x0e291720, nsIFrame * * aNewFrame=0x0036a69c, nsFrameItems & aFrameItems={...}, bool aAbsPosContainer=false, PendingBinding * aPendingBinding=0x00000000) 41 xul.dll!nsCSSFrameConstructor::ConstructNonScrollableBlock(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItem & aItem={...}, nsIFrame * aParentFrame=0x0e291340, const nsStyleDisplay * aDisplay=0x0d834928, nsFrameItems & aFrameItems={...}, nsIFrame * * aNewFrame=0x0036a69c) 42 xul.dll!nsCSSFrameConstructor::ConstructFrameFromItemInternal(nsCSSFrameConstructor::FrameConstructionItem & aItem={...}, nsFrameConstructorState & aState={...}, nsIFrame * aParentFrame=0x0e291340, nsFrameItems & aFrameItems={...}) 43 xul.dll!nsCSSFrameConstructor::ConstructFramesFromItem(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItemList::Iterator & aIter={...}, nsIFrame * aParentFrame=0x0e291340, nsFrameItems & aFrameItems={...}) 44 xul.dll!nsCSSFrameConstructor::ConstructFramesFromItemList(nsFrameConstructorState & aState={...}, nsCSSFrameConstructor::FrameConstructionItemList & aItems={...}, nsIFrame * aParentFrame=0x0e291340, nsFrameItems & aFrameItems={...}) 45 xul.dll!nsCSSFrameConstructor::ProcessChildren(nsFrameConstructorState & aState={...}, nsIContent * aContent=0x0e677820, nsStyleContext * aStyleContext=0x0e2912d8, nsIFrame * aFrame=0x0e291340, const bool aCanHaveGeneratedContent=true, nsFrameItems & aFrameItems={...}, const bool aAllowBlockStyles=true, PendingBinding * aPendingBinding=0x00000000, nsIFrame * aPossiblyLeafFrame=0x0e291340) 46 xul.dll!nsCSSFrameConstructor::ConstructBlock(nsFrameConstructorState & aState={...}, const nsStyleDisplay * aDisplay=0x0d834718, nsIContent * aContent=0x0e677820, nsIFrame * aParentFrame=0x0d834a58, nsIFrame * aContentParentFrame=0x0d834a58, nsStyleContext * aStyleContext=0x0e2912d8, nsIFrame * * aNewFrame=0x0036ac80, nsFrameItems & aFrameItems={...}, bool aAbsPosContainer=false, PendingBinding * aPendingBinding=0x00000000) 47 xul.dll!nsCSSFrameConstructor::ConstructDocElementFrame(mozilla::dom::Element * aDocElement=0x0e677820, nsILayoutHistoryState * aFrameState=0x00000000, nsIFrame * * aNewFrame=0x0036ad60) 48 xul.dll!nsCSSFrameConstructor::ContentRangeInserted(nsIContent * aContainer=0x00000000, nsIContent * aStartChild=0x0e677820, nsIContent * aEndChild=0x00000000, nsILayoutHistoryState * aFrameState=0x00000000, bool aAllowLazyConstruction=false) 49 xul.dll!nsCSSFrameConstructor::ContentInserted(nsIContent * aContainer=0x00000000, nsIContent * aChild=0x0e677820, nsILayoutHistoryState * aFrameState=0x00000000, bool aAllowLazyConstruction=false) 50 xul.dll!PresShell::Initialize(int aWidth=19200, int aHeight=28800) 51 xul.dll!nsContentSink::StartLayout(bool aIgnorePendingSheets=true) 52 xul.dll!nsHtml5TreeOpExecutor::FlushPendingNotifications(mozFlushType aType=Flush_Layout) 53 xul.dll!nsDocument::FlushPendingNotifications(mozFlushType aType=Flush_Layout) 54 xul.dll!nsDocument::FlushPendingNotifications(mozFlushType aType=Flush_Style) 55 xul.dll!nsDocLoader::DocLoaderIsEmpty(bool aFlushLayout=true) 56 xul.dll!nsDocLoader::OnStopRequest(nsIRequest * aRequest=0x0e439ed0, nsISupports * aCtxt=0x00000000, tag_nsresult aStatus=-2142568446) 57 xul.dll!nsLoadGroup::RemoveRequest(nsIRequest * request=0x0e439ed0, nsISupports * ctxt=0x00000000, tag_nsresult aStatus=-2142568446) 58 xul.dll!nsLoadGroup::Cancel(tag_nsresult status=-2142568446) 59 xul.dll!nsDocLoader::Stop() 60 xul.dll!nsDocShell::Stop() 61 xul.dll!nsDocShell::Stop(unsigned int aStopFlags=1) 62 xul.dll!nsDocShell::InternalLoad(nsIURI * aURI=0x0e4cc900, nsIURI * aReferrer=0x0d666840, nsISupports * aOwner=0x0d816240, unsigned int aFlags=0, const wchar_t * aWindowTarget=0x023f116e, const char * aTypeHint=0x00000000, nsIInputStream * aPostData=0x00000000, nsIInputStream * aHeadersData=0x00000000, unsigned int aLoadType=1, nsISHEntry * aSHEntry=0x00000000, bool aFirstParty=false, nsIDocShell * * aDocShell=0x00000000, nsIRequest * * aRequest=0x00000000) 63 xul.dll!nsDocShell::LoadURI(nsIURI * aURI=0x0e4cc900, nsIDocShellLoadInfo * aLoadInfo=0x0e4d05c0, unsigned int aLoadFlags=0, bool aFirstParty=false) 64 xul.dll!nsFrameLoader::ReallyStartLoadingInternal() 65 xul.dll!nsFrameLoader::ReallyStartLoading() 66 xul.dll!nsDocument::MaybeInitializeFinalizeFrameLoaders() 67 xul.dll!nsRunnableMethodImpl<void (__thiscall nsDocument::*)(void),1>::Run() 68 xul.dll!nsContentUtils::AddScriptRunner(nsIRunnable * aRunnable=0x0d83d160) 69 xul.dll!nsDocument::InitializeFrameLoader(nsFrameLoader * aLoader=0x0e7631f0) 70 xul.dll!nsFrameLoader::LoadURI(nsIURI * aURI=0x0e4cc900) 71 xul.dll!nsFrameLoader::LoadFrame() 72 xul.dll!nsGenericHTMLFrameElement::LoadSrc() 73 xul.dll!nsGenericHTMLFrameElement::SetAttr(int aNameSpaceID=0, nsIAtom * aName=0x071246a0, nsIAtom * aPrefix=0x00000000, const nsAString_internal & aValue={...}, bool aNotify=true) 74 xul.dll!nsGenericHTMLElement::SetAttr(int aNameSpaceID=0, nsIAtom * aName=0x071246a0, const nsAString_internal & aValue={...}, bool aNotify=true) 75 xul.dll!nsGenericHTMLElement::SetAttrHelper(nsIAtom * aAttr=0x071246a0, const nsAString_internal & aValue={...}) 76 xul.dll!nsHTMLIFrameElement::SetSrc(const nsAString_internal & aValue={...}) 77 xul.dll!nsIDOMHTMLIFrameElement_SetSrc(JSContext * cx=0x0d6af3a0, JS::Handle<JSObject *> obj={...}, JS::Handle<jsid> id={...}, int strict=1, JS::MutableHandle<JS::Value> vp_={...}) 78 mozjs.dll!js::CallJSPropertyOpSetter(JSContext * cx=0x0d6af3a0, int (JSContext *, JS::Handle<JSObject *>, JS::Handle<jsid>, int, JS::MutableHandle<JS::Value>)* op=0x1074fd80, JS::Handle<JSObject *> obj={...}, JS::Handle<jsid> id={...}, int strict=1, JS::MutableHandle<JS::Value> vp={...}) 79 mozjs.dll!js::Shape::set(JSContext * cx=0x0d6af3a0, JS::Handle<JSObject *> obj={...}, JS::Handle<JSObject *> receiver={...}, bool strict=true, JS::MutableHandle<JS::Value> vp={...}) 80 mozjs.dll!js::baseops::SetPropertyHelper(JSContext * cx=0x0d6af3a0, JS::Handle<JSObject *> obj={...}, JS::Handle<JSObject *> receiver={...}, JS::Handle<jsid> id={...}, unsigned int defineHow=1, JS::MutableHandle<JS::Value> vp={...}, int strict=1) 81 mozjs.dll!js::SetPropertyOperation(JSContext * cx=0x0d6af3a0, unsigned char * pc=0x0e67d5ac, JS::Handle<JS::Value> lval={...}, JS::Handle<JS::Value> rval={...}) 82 mozjs.dll!js::Interpret(JSContext * cx=0x0d6af3a0, js::StackFrame * entryFrame=0x07980020, js::InterpMode interpMode=JSINTERP_NORMAL) 83 mozjs.dll!js::RunScript(JSContext * cx=0x0d6af3a0, JS::Handle<JSScript *> script={...}, js::StackFrame * fp=0x07980020) 84 mozjs.dll!js::ExecuteKernel(JSContext * cx=0x0d6af3a0, JS::Handle<JSScript *> script={...}, JSObject & scopeChain={...}, const JS::Value & thisv={...}, js::ExecuteType type=EXECUTE_GLOBAL, js::StackFrame * evalInFrame=0x00000000, JS::Value * result=0x00000000) 85 mozjs.dll!js::Execute(JSContext * cx=0x0d6af3a0, JS::Handle<JSScript *> script={...}, JSObject & scopeChainArg={...}, JS::Value * rval=0x00000000) 86 mozjs.dll!JS::Evaluate(JSContext * cx=0x0d6af3a0, JS::Handle<JSObject *> obj={...}, JS::CompileOptions options={...}, const wchar_t * chars=0x0e4d8008, unsigned int length=2179, JS::Value * rval=0x00000000) 87 xul.dll!nsJSContext::EvaluateString(const nsAString_internal & aScript={...}, JSObject * aScopeObject=0x0842e040, nsIPrincipal * aPrincipal=0x0d816240, nsIPrincipal * aOriginPrincipal=0x0e4f4a00, const char * aURL=0x0e5420c8, unsigned int aLineNo=1, JSVersion aVersion=JSVERSION_DEFAULT, nsAString_internal * aRetValue=0x00000000, bool * aIsUndefined=0x0036d0f7) 88 xul.dll!nsScriptLoader::EvaluateScript(nsScriptLoadRequest * aRequest=0x0e542100, const nsString & aScript={...}) 89 xul.dll!nsScriptLoader::ProcessRequest(nsScriptLoadRequest * aRequest=0x0e542100) 90 xul.dll!nsScriptLoader::ProcessPendingRequests() 91 xul.dll!nsScriptLoader::OnStreamComplete(nsIStreamLoader * aLoader=0x0e5c6610, nsISupports * aContext=0x0e593980, tag_nsresult aStatus=-2142109678, unsigned int aStringLen=0, const unsigned char * aString=0x00000000) 92 xul.dll!nsStreamLoader::OnStopRequest(nsIRequest * request=0x0e5af4a0, nsISupports * ctxt=0x0e593980, tag_nsresult aStatus=-2142109678) 93 xul.dll!nsJARChannel::OnStopRequest(nsIRequest * req=0x0e58f460, nsISupports * ctx=0x00000000, tag_nsresult status=-2142109678) 94 xul.dll!nsInputStreamPump::OnStateStop() 95 xul.dll!nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream * stream=0x0e439300) 96 xul.dll!nsInputStreamReadyEvent::Run() 97 xul.dll!nsThread::ProcessNextEvent(bool mayWait=false, bool * result=0x0036d387) 98 xul.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x0231f160, bool mayWait=false) 99 xul.dll!mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate * aDelegate=0x023380c0) 100 xul.dll!MessageLoop::RunInternal() 101 xul.dll!MessageLoop::RunHandler() 102 xul.dll!MessageLoop::Run() 103 xul.dll!nsBaseAppShell::Run() 104 xul.dll!nsAppShell::Run() 105 xul.dll!nsAppStartup::Run() 106 xul.dll!XREMain::XRE_mainRun() 107 xul.dll!XREMain::XRE_main(int argc=3, char * * argv=0x01e97cc0, const nsXREAppData * aAppData=0x001cc7e4) 108 xul.dll!XRE_main(int argc=3, char * * argv=0x01e97cc0, const nsXREAppData * aAppData=0x001cc7e4, unsigned int aFlags=0) 109 b2g.exe!do_main(int argc=3, char * * argv=0x01e97cc0) 110 b2g.exe!NS_internal_main(int argc=3, char * * argv=0x01e97cc0) 111 b2g.exe!wmain(int argc=3, wchar_t * * argv=0x01e91ad0) 112 b2g.exe!__tmainCRTStartup() 113 b2g.exe!wmainCRTStartup() 114 kernel32.dll!@BaseThreadInitThunk@12() 115 ntdll.dll!___RtlUserThreadStart@8() 116 ntdll.dll!__RtlUserThreadStart@8()
Comment 1•11 years ago
|
||
Myk: just for clarification, does this crash block all use of B2G desktop builds on Windows?
Comment 2•11 years ago
|
||
cc'ing Dietrich - this bug is concerning if we can't run the simulator on Windows - the simulator is in my mind a great tool for us in getting developers interested in app development targeting Gaia. If Windows doesn't work, this bug should be higher priority.
Comment 3•11 years ago
|
||
Jonas, JST - do you know who the right person is to look into this startup crash?
Reporter | ||
Comment 4•11 years ago
|
||
(In reply to Jeff Griffiths (:canuckistani) from comment #1) > Myk: just for clarification, does this crash block all use of B2G desktop > builds on Windows? Yes, this happens consistently on startup, so it prevents you from doing anything with B2G Desktop on Windows.
Updated•11 years ago
|
Comment 5•11 years ago
|
||
Not sure who the best person is, but jet should know. And this one's important, not being able to run these builds on windows at all hinders anyone from testing anything on windows. Jet, can you make sure someone looks into this please?
Assignee: nobody → bugs
Reporter | ||
Comment 6•11 years ago
|
||
Nominating to block Basecamp, as not having working B2G Desktop builds on Windows makes it hard for us to get the many app developers on Windows to build apps for the initial release of Firefox OS.
blocking-basecamp: --- → ?
Comment 7•11 years ago
|
||
(In reply to Myk Melez [:myk] [@mykmelez] from comment #6) > Nominating to block Basecamp, as not having working B2G Desktop builds on > Windows makes it hard for us to get the many app developers on Windows to > build apps for the initial release of Firefox OS. Does this generally apply to all cases of b2g desktop builds on windows or only builds generated from your add-on? If it's a general case, talking with Marshall, many Gaia devs rely on desktop builds for development, so if its a development blocker, then we might have to block. But if it isn't a development blocker, then this doesn't block ship.
Reporter | ||
Comment 8•11 years ago
|
||
(In reply to Jason Smith [:jsmith] from comment #7) > Does this generally apply to all cases of b2g desktop builds on windows or > only builds generated from your add-on? The addon uses standard B2G Desktop nightly builds from ftp.mozilla.org, and this applies to those standard builds, whether or not they are being used in the context of the addon. So this is unrelated to the addon.
Comment 9•11 years ago
|
||
Myk: what is the HTML/CSS getting loaded at the time of the crash? I wouldn't expect a Windows-only crasher in this code, and isolating the CSS file may help here.
This doesn't really affect our codefreeze date, so not marking as a blocker. But we do want it fixed before we ship, so however we track that we should track this one.
blocking-basecamp: ? → -
Whiteboard: [startupcrash] → [startupcrash][b2g-desktop-build]
Reporter | ||
Comment 11•11 years ago
|
||
(In reply to Jet Villegas (:jet) from comment #9) > Myk: what is the HTML/CSS getting loaded at the time of the crash? I > wouldn't expect a Windows-only crasher in this code, and isolating the CSS > file may help here. At nsDocLoader::OnStopRequest, aRequest::mOriginalURI is app://system.gaiamobile.org/index.html; and further up the stack, in nsContentSink::StartLayout, this::mDocumentURI is the same URL; so that's presumably the HTML file being laid out: https://github.com/mozilla-b2g/gaia/blob/master/apps/system/index.html That file is large and complicated, however, with many stylesheets and a lot of HTML content; and it isn't clear to me what is being processed at the time of the crash. I expect that a layout hacker more familiar with this code path would have an easier time of it. And since the crash is consistent--it happens on every startup--it's trivial to reproduce. One just has to build B2G Desktop and point it at a Gaia profile. The easiest way to get a Gaia profile is to download a nightly build of B2G Desktop, which contains a profile at b2g/gaia/profile/: https://ftp.mozilla.org/pub/mozilla.org/b2g/nightly/latest-mozilla-central/b2g-18.0a1.en-US.win32.zip (The second-easiest way is also pretty easy, it just takes time and disk space: git clone https://github.com/mozilla-b2g/gaia/ && cd gaia && make; .) Unfortunately, symbols aren't available for the B2G Desktop nightly builds, per bug 785698, so you have to roll your own build, which I do with the attached mozconfig (based on the mozconfig that the nightly builds use).
Comment 12•11 years ago
|
||
It's crashing every time for me using Windows 7 64-bit. I hope this gets fixed soon!
Comment 13•11 years ago
|
||
(In reply to Myk Melez [:myk] [@mykmelez] from comment #11) > https://github.com/mozilla-b2g/gaia/blob/master/apps/system/index.html > > That file is large and complicated, however, with many stylesheets and a lot > of HTML content; and it isn't clear to me what is being processed at the > time of the crash. I tried removing all the stylesheets from that file and the crash still happened. What helped was removing the following line: <script defer src="js/window_manager.js"></script> The file in question is https://github.com/mozilla-b2g/gaia/blob/master/apps/system/js/window_manager.js - from what I can tell it only manipulates inline styles and class names. I will see whether I can narrow it down further.
Comment 14•11 years ago
|
||
Looking further, the crash is caused by the code handling mozChromeEvent event, particularly the "open-app" case. It starts the homescreen app by adding a frame to the document. The important part here turned out to be the remote="true" attribute on the frame, if that attribute isn't set the crash doesn't happen (frame contents don't matter, I tried loading an empty page as well). Not sure how CSS got involved here, I didn't find any CSS code actually referring to this attribute - I suspect that the CSS code being processed here is simply html.css.
Comment 15•11 years ago
|
||
Cjones says there's a build-time flag to force everything in-process. Which isn't ideal, but if nobody can fix the crash, it's preferable to having zero Windows users able to run and test B2G at all. cc jhford who's familiar w/ Desktop build configs.
Comment 16•11 years ago
|
||
debug.oop.disabled is the pref to set to disable OOP. That should get testers past this crash for now without a rebuild. It seems like the CSS crash is random memory stompage in this case.
Comment 17•11 years ago
|
||
(In reply to Jet Villegas (:jet) from comment #16) > debug.oop.disabled is the pref to set to disable OOP. That should get > testers past this crash for now without a rebuild. How do you set that pref if the application doesn't run? It is set on navigator.mozSettings and is stored in an sqlite database from what I can tell.
Comment 18•11 years ago
|
||
You could add it to the user.js file in your profile, I beleive
Comment 19•11 years ago
|
||
As I said, this isn't a regular preference so neither prefs.js nor user.js will help. And locating/manipulating an sqlite database is unfortunately non-trivial.
Comment 20•11 years ago
|
||
I unzipped the window_manager.js file and changed "var isOutOfProcessDisabled = false;" to "var isOutOfProcessDisabled = true;" and commented out the code that changes the value. This let my previously crashing version of B2G start up and run.
Comment 21•11 years ago
|
||
John, could you please tell me where can I find the window_manager.js file? And how to proceed step by step afterwardsI would really appreciate it!
Comment 22•11 years ago
|
||
The window_manager.js file is located at: gaia\profile\webapps\system.gaiamobile.org\application.zip\js\ Here's the code after the change var isOutOfProcessDisabled = true; /*SettingsListener.observe('debug.oop.disabled', false, function(value) { isOutOfProcessDisabled = value; });*/ I also had to disable the lock screen in lockscreen.js because it was unresponsive enabled: false
Comment 23•11 years ago
|
||
Slavi, many thanks! Regretfully I can't find the file. In the system folder I only have 2 files: manifest.json and manifest.webapp. I would really appreciate some further help!
Comment 24•11 years ago
|
||
@Slavi Even ur tip is not helping me here. still crash is recurring. WHile i read the code in window_manager.js There are many palce where typos occurs, i.e., === instead of == and !== instead of != .
Comment 25•11 years ago
|
||
But, '===' is valid code. It's just pickier.
Comment 26•11 years ago
|
||
After the B2G-desktop crashed, i restarted thru crash-reporter.There it load a cmd, displayed output "forms.js loaded" The crash occurred along with the message "Got a MozContentEvent:activity-choice" Could u tell me where forms.js is? Also the b2g-desktop installer from sihorton's git repository worked well in windows desktop.
![]() |
||
Updated•11 years ago
|
Summary: B2G Desktop crashes on startup in nsBlockFrame::SetInitialChildList → [Desktop Build]B2G Desktop crashes on startup in nsBlockFrame::SetInitialChildList
Whiteboard: [startupcrash][b2g-desktop-build] → [startupcrash][b2g-desktop-build]b2g-desktop-builds
Comment 28•11 years ago
|
||
Putting this back on the basecamp? triage list. This was assigned to me when it was suspected to be a Layout & Rendering crasher. The latest diagnosis indicate it's actually a e10s bug on Windows.
Assignee: bugs → nobody
blocking-basecamp: - → ?
Comment 29•11 years ago
|
||
jdm, do you have time to help us diagnose this e10s-related issue? We'd like to know whether or not we should block B2G v1 on fixing it.
Assignee: nobody → josh
Assignee | ||
Comment 30•11 years ago
|
||
I'll need to put together a windows dev environment, but it should be doable.
Comment 31•11 years ago
|
||
Alternatively, Jet could put you in touch with someone on the Layout team who already has a Windows environment.
Updated•11 years ago
|
blocking-basecamp: ? → +
Whiteboard: [startupcrash][b2g-desktop-build]b2g-desktop-builds → [startupcrash][b2g-desktop-build]b2g-desktop-builds [soft]
Comment 32•11 years ago
|
||
Added a note on: https://developer.mozilla.org/en-US/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client Would be worth removing it when being fixed.
Assignee | ||
Comment 33•11 years ago
|
||
I suspect that the stack trace originally reported by Myk is a red herring - that's an assertion present in debug builds, and while annoying on Windows (since it pops up a dialog box), it's ignorable. I'm fixing the actual crashes I saw in bug 806231, so we can see how usable desktop builds are once the patch there lands.
Assignee | ||
Comment 34•11 years ago
|
||
Marking the two bugs I believe to be at fault here.
Reporter | ||
Comment 35•11 years ago
|
||
Setting *debug.oop.disabled* to true does work around the crash, in my testing, and you can set it by modifying the settings.json file in your profile *before the first time you run B2G with that profile* (afterwards, the change has no effect, presumably because the setting gets written to another file on firstrun, and that other file is consulted on subsequent runs).
Comment 36•11 years ago
|
||
(In reply to Myk Melez [:myk] [@mykmelez] from comment #35) > Setting *debug.oop.disabled* to true does work around the crash It does for me as well, but I just get a blank screen
Comment 37•11 years ago
|
||
(In reply to Myk Melez [:myk] [@mykmelez] from comment #35) > Setting *debug.oop.disabled* to true does work around the crash, in my > testing, and you can set it by modifying the settings.json file in your > profile *before the first time you run B2G with that profile* (afterwards, > the change has no effect, presumably because the setting gets written to > another file on firstrun, and that other file is consulted on subsequent > runs). It does work for me, but the thing is, browser still crashes
Reporter | ||
Comment 38•11 years ago
|
||
Requesting retriage of this bug's blocking-basecamp status. Since this bug was marked blocking+, bug 806231 and bug 807735, which similarly prevent all use of B2G Desktop on Windows, have been marked blocking-. If those two bugs don't block, then this one shouldn't either. Alternately, if this bug blocks, then those two should too.
blocking-basecamp: + → ?
Comment 39•11 years ago
|
||
We'd love to see this fixed, but will not block v.1. Please request patch approval instead.
blocking-basecamp: ? → -
![]() |
||
Updated•11 years ago
|
Whiteboard: [startupcrash][b2g-desktop-build]b2g-desktop-builds [soft] → [startupcrash][b2g-desktop-build]b2g-desktop-builds [soft][b2g-crash]
Comment 40•11 years ago
|
||
When it amended the hell
Comment 41•11 years ago
|
||
when is this getting fixed if possible
Reporter | ||
Comment 42•11 years ago
|
||
This seems to be fixed, as bug 806231 doesn't appear to cause the problem, and the Windows builds no longer crash on startup now that bug 807760 has been fixed. Note that they still don't start up properly, but that's because of bug 819597, which is a different bug. Thus resolving this bug fixed.
Comment 43•11 years ago
|
||
I hate to say this.. But at this very critic time, the desktop builds on Windows aren't working, nothing but a black screen for two seconds then the build windows shuts it self down.. Using an old profile with the build perfectly works, I don't know if this needs to file a new bug or re investigate under this one..
Comment 44•11 years ago
|
||
This bug is fixed, so you should file a new bug with the issue you're experiencing.
You need to log in
before you can comment on or make changes to this bug.
Description
•