Closed Bug 617146 Opened 14 years ago Closed 14 years ago

Content process abort (msg error @ TabChild::RecvShow) on startup when running Talos

Categories

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

x86
Windows 7
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 614229

People

(Reporter: Felipe, Unassigned)

Details

(Whiteboard: [e10s])

The content process fails to startup when running Talos. FTR I'm trying to run twinopen but it crashes on the initial window created to measure the window size (i.e. before twinopen.xul is loaded).

http://mxr.mozilla.org/mozilla-central/source/dom/ipc/TabChild.cpp#503

A Show message is received on TabChild with <0,0> as size. The call to BaseWindow->Create() leads to nsWebBrowser::Create(), which fails to QI the docshell to nsIDOMWindow here: http://mxr.mozilla.org/mozilla-central/source/embedding/browser/webBrowser/nsWebBrowser.cpp#1248

Then TabChild::InitTabChildGlobal() also fails in a similar QI here: http://mxr.mozilla.org/mozilla-central/source/dom/ipc/TabChild.cpp#824, which makes RecvShow to return false and then the msg processing is aborted.


No idea yet why this doesn't happen when launching a regular browser instance but does happen when launching a local talos run.
Curious.  Can you just step down into that GetInterface call and see what's happening?
It just goes to nsGetInterface and then this line: http://mxr.mozilla.org/mozilla-central/source/xpcom/glue/nsIInterfaceRequestorUtils.h#65

I can't seem to find what is setting the error code to anything other than 0.
You could just keep stepping through until the operator() there is called...  But you know you're looking at a docshell, right?  Breakpoint in the function in question in nsWebBrowser, then breakpoint in nsDocShell::GetInterface, and step through that?
ops I was failing to properly step into the operator.

nsDocShell:GetInterface with aIID == nsIDOMWindow calls nsDocShell::EnsureScriptEnvironment(), and that is returning the error.. It fails to get the nsIDOMScriptObjectFactory service.

trying to step more..
It looks like a component initialization problem. Apparently a call to start the private browsing service ends up trying to load the layout module, which hits the "recursive layout module initialization" warning. Then nsComponentManager.mFailed is marked as true and no other components are loaded.

Intriguing how the same call works fine if not called from the Talos run script. Also I'm not sure if PB is at fault here or just happens to be the first component to trigger the problem.
Hmm maybe this is just bug 614229
Is your tree older than the landing of bug 614229? If not, can you get the stack for the layout module init assertion? We really shouldn't be using the component manager within the layout module ctor, and we *really* shouldn't be trying to get PBS that early.
Yeah the tree was older. The patch from 614229 fixes it.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → DUPLICATE
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.