Closed Bug 599198 Opened 9 years ago Closed 9 years ago

Content process throws several catastrophic assertions while initializing XPCOM

Categories

(Core :: XPCOM, defect)

x86
macOS
defect
Not set

Tracking

()

VERIFIED FIXED

People

(Reporter: jdm, Assigned: dougt)

References

(Blocks 1 open bug)

Details

Attachments

(2 files)

Attached file Assertion backtrace
In summary, nsIXPCComponents is never registered, a fact which throws nsXPConnect::InitClasses for a loop which in turn breaks nsContentUtils initialization.  This only happens on MacOS because of the non-flat directory structure - that is, plugin-container attempts to initialize XPCOM from its local directory (FennecDebug.app/Contents/MacOS/plugin-container.app/Contents/MacOS/) which is empty.  On other platforms, plugin-container and fennec reside in dist/bin together, so component registration Just Works.
Running with this patch results in a working desktop Fennec build.
As the --enable-ipc switch has just been flipped for Fennec on mac, this just became a bigger issue as nightly builds are now useless.  Benjamin, should we focus on resolving these issues and check in this patch as a stopgap, or just pull the plug on any effort to make desktop mac builds usable?
Blocks: 600226
You think this patch is a stopgap? Why not a permanent solution? I really don't think this is a blocker for anything, but if we have a patch let's get it landed.
Attachment #478125 - Flags: review?(benjamin)
Comment on attachment 478125 [details] [diff] [review]
Workaround to allow Fennec to run on MacOS

I really don't like the fact that you're QIing twice. With an extra nsCOMPtr<nsIFile> you can do GetParent/GetParent/QI instead of GetParent/QI/GetParent/QI.

But in any case, this looks like a fine solution.
Attachment #478125 - Flags: review?(benjamin) → review+
Duplicate of this bug: 600226
tracking-fennec: --- → ?
Assigning to dougt per his request.
Assignee: nobody → doug.turner
http://hg.mozilla.org/mozilla-central/rev/10a6b2c105ae

jdm, you want to file a follow up?
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Blocks: 601860
Calling a macro without an argument like in |NS_ENSURE_TRUE(localFile,)| is non-standard and will cause warnings. Please expand them...
verified FIXED on build:

Build identifier: Mozilla/5.0 (Macintosh; Intel Mac OS X; rv:2.0b7pre) Gecko/10201005 Firefox/4.0b7pre Fennec/4.0b1
Status: RESOLVED → VERIFIED
found that nightly is not working, but the beta 1 rc3 is.  reported Bug 602539
tracking-fennec: ? → ---
You need to log in before you can comment on or make changes to this bug.