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

RESOLVED DUPLICATE of bug 614229

Status

()

Core
DOM
RESOLVED DUPLICATE of bug 614229
7 years ago
7 years ago

People

(Reporter: Felipe, Unassigned)

Tracking

Trunk
x86
Windows 7
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [e10s])

(Reporter)

Description

7 years ago
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?
(Reporter)

Comment 2

7 years ago
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?
(Reporter)

Comment 4

7 years ago
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..
(Reporter)

Comment 5

7 years ago
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.
(Reporter)

Comment 6

7 years ago
Hmm maybe this is just bug 614229

Comment 7

7 years ago
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.
(Reporter)

Comment 8

7 years ago
Yeah the tree was older. The patch from 614229 fixes it.
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 614229
You need to log in before you can comment on or make changes to this bug.