Ubuntu

[MASTER] Firefox does not start with certain addons installed

Reported by Sebastian on 2010-02-07
268
This bug affects 53 people
Affects Status Importance Assigned to Milestone
Mozilla Firefox
Fix Released
Medium
Nominated for 3.6 by Ryan
firefox (Ubuntu)
Medium
Chris Coulson
Lucid
Medium
Chris Coulson

Bug Description

Binary package hint: firefox

After upgrade to package version 3.6+nobinonly-0ubuntu1 Firefox does no longer start.
Removal of compatibility.ini in the configuration directory resolves the problem; however, Firefox then writes a new compatibility.ini that causes the problem again.

Draycen DeCator (ddecator) wrote :

Thank you for taking the time to report this bug and helping to make Ubuntu better. Firefox 3.6 has gone through some updates since this bug was reported. Could you please update to the latest version and let us know if this problem is still affecting you?

Changed in firefox (Ubuntu):
status: New → Incomplete
tromba-marina (tromba-marina) wrote :

Same behaviour on Windows 7. You have to delete compatibility.ini every time Firefox is closed (or alternatively, start in safe mode, then restart into normal mode).
A lot more people seem to be encountering this problem on various operating systems, cf. http://support.mozilla.com/tiki-view_forum_thread.php?locale=de&forumId=1&comments_threshold=0&comments_parentId=562036.

My current build identifier: Mozilla/5.0 (Windows; U; Windows NT 6.1; de; rv:1.9.2) Gecko/20100115 Firefox/3.6

Ryan (ubuntu-draziw) wrote :

Folks on mozilla, ubuntu, xmarks (and other) forums reporting the same issue. Removing compatibility.ini before every launch allows firefox to launch correctly
http://ubuntuforums.org/archive/index.php/t-1386945.html

Changed in firefox (Ubuntu):
status: Incomplete → Confirmed
Draycen DeCator (ddecator) wrote :

Thank you for taking the time to find an upstream report for this bug. Just to make sure this is an upstream bug, can you please confirm that this is still occurring on the latest Firefox release? We would appreciate it if you could also run the following command in a terminal:

apport-collect 518422

This will add relevant information about your system to this report so we can make sure everything looks correct.

Ryan (ubuntu-draziw) wrote :

You can find the apport data under https://bugs.launchpad.net/bugs/528139; apport-collect says you should only file on your bugs, or that you should create new and mark as dupe; since I already had a bug open, and already put in apport data, probably best to use that one.
ii firefox 3.6+nobinonly-0ubuntu5 safe and easy web browser from Mozilla
ii libxul-common 1.8.1.16+nobinonly-0ubuntu1 Gecko engine library - common files
ii libxul0d 1.8.1.16+nobinonly-0ubuntu1 Gecko engine library
ii xulrunner-1.9.1 1.9.1.8+build1+nobinonly-0u XUL + XPCOM application runner
If you really want me to attach to this one, let me know and I'll ignore the apport warning.

Draycen DeCator (ddecator) wrote :

Sorry about that, I didn't realize that information was attached to the other report. Have you tried disabling the "Torbutton" add-on while in Safe Mode like Micah requested? If you could try that and let us know whether or not it works, we would appreciate it. Thanks in advance!

Ryan (ubuntu-draziw) wrote :

Yes; Tried that. The 2 extensions I have that will consistently trigger the 'fail to even attempt launching' symptom (if compatibility.ini is in place) for me are RequestPolicy and xmarks. Both worked perfect on prior builds, and both work perfectly with 3.6 if I remove compatibility.ini, or if I launch in safe, enable, then click restart firefox. (which then runs without a compatibility.ini file)

Ryan (ubuntu-draziw) wrote :
Download full text (3.6 KiB)

I tried a strace -f /usr/bin/firefox...

Looks like the issue ties to this read...
25377 read(3, 0xb7662058, 4096) = -1 EAGAIN (Resource temporarily unavailable)
grep 0xb7662058 firefox-strace.txt |wc
    425 4250 36975
Leading up to that read..
25377 socket(PF_FILE, SOCK_STREAM, 0) = 3
25377 connect(3, {sa_family=AF_FILE, path=@"/tmp/.X11-unix/X0"}, 20) = 0
25377 getpeername(3, {sa_family=AF_FILE, path=@"/tmp/.X11-unix/X0"}, [20]) = 0
25377 uname({sys="Linux", node="lt", ...}) = 0
25377 access("/var/run/gdm/auth-for-ryan-D3btog/database", R_OK) = 0
25377 open("/var/run/gdm/auth-for-ryan-D3btog/database", O_RDONLY) = 4
25377 fstat64(4, {st_mode=S_IFREG|0600, st_size=47, ...}) = 0
25377 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb74d1000
25377 read(4, "\1\0\0\2lt\0\0010\0\22MIT-MAGIC-COOKIE-1\0\20\27"..., 4096) = 47
25377 read(4, "", 4096) = 0
25377 close(4) = 0
25377 munmap(0xb74d1000, 4096) = 0
25377 getsockname(3, {sa_family=AF_FILE, NULL}, [2]) = 0
25377 fcntl64(3, F_GETFL) = 0x2 (flags O_RDWR)
25377 fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0
25377 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
25377 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
25377 writev(3, [{"l\0\v\0\0\0\22\0\20\0\0\0", 12}, {"", 0}, {"MIT-MAGIC-COOKIE-1", 18}, {"\0\0", 2}, {"\0273\203\3672'\0\367\360\375\" \377s\17\256", 16}, {"", 0}], 6) = 48
25377 read(3, 0xb7603a40, 8) = -1 EAGAIN (Resource temporarily unavailable)
25377 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}])
25377 read(3, "\1\0\v\0\0\0\3\3", 8) = 8
25377 read(3, "hX\243\0\0\0\340\3\377\377\37\0\0\1\0\0\24\0\377\377\1\7\0\0 \10\377\0\0\0\0"..., 3084) = 3084
25377 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
25377 writev(3, [{"b\0\5\0\f\0\0\0BIG-REQUESTS", 20}], 1) = 20
25377 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}])
25377 read(3, "\1\0\1\0\0\0\0\0\1\221\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096) = 32
25377 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
25377 writev(3, [{"\221\0\1\0", 4}], 1) = 4
25377 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}])
25377 read(3, "\1\0\2\0\0\0\0\0\377\377?\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096) = 32
25377 read(3, 0xb7662058, 4096) = -1 EAGAIN (Resource temporarily unavailable)
25377 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
25377 writev(3, [{"7\0\5\0\0\0\340\3\255\1\0\0\10\0\0\0\377\377\377\0\24\0\6\0\255\1\0\0\27\0\0\0"..., 44}, {NULL, 0}, {"", 0}], 3) = 44
25377 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, revents=POLLIN}])
25377 read(3, "\1\10\4\0,\0\0\0\37\0\0\0\0\0\0\0\255\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 4096) = 208
25377 read(3, 0xb7662058, 4096) = -1 EAGAIN (Resource temporarily unavailable)
25377 poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
25377 writev(3, [{"b\0\5\0\t\0\340\3", 8}, {"XKEYBOARD", 9}, {"\0\0\0", 3}], 3) = 20
25377 poll([{fd=3, events=POLLIN}], 1, -1) = 1 ([{fd=3, rev...

Read more...

Ryan (ubuntu-draziw) wrote :

So if I'm reading the trace right - the issue is with firefox not getting the read it expects from xwindows after trying to set permissions (MIT-MAGIC-COOKIE-1 being user based protection)
25377 writev(3, [{"l\0\v\0\0\0\22\0\20\0\0\0", 12}, {"", 0}, {"MIT-MAGIC-COOKIE-1", 18}, {"\0\0", 2}, {"\0273\203\3672'\0\367\360\375\" \377s\17\256", 16}, {"", 0}], 6) = 48
25377 read(3, 0xb7603a40, 8) = -1 EAGAIN (Resource temporarily unavailable)
and every read after that failing the same way. ??

Ryan (ubuntu-draziw) wrote :

Replicated with nightly:
http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-firefox-3.6.x/firefox-3.6.2pre.en-US.linux-i686.tar.bz2
md5sum:
50e87e4dcbcf2dd5bed29e80c5ab1b4e firefox-3.6.2pre.en-US.linux-i686.tar.bz2

John Vivirito (gnomefreak) wrote :

Changed to "triaged" as we have enough info for upstream to work on this

Changed in firefox (Ubuntu):
status: Confirmed → Triaged
Micah Gersten (micahg) wrote :

Marking High as this prevents usage

Changed in firefox (Ubuntu):
importance: Undecided → High
Kees Cook (kees) wrote :

A more stable work-around is:

rm compatibility.ini
ln -s /dev/null compatibility.ini

this will keep it worked around at every launch.

Kees Cook (kees) wrote :

I take it back -- this causes GM to not initialize at all. An rm per run seems to fix it, though.

Bug 530196 is probably a symptom of this issue.

Another symptom may occur on linux builds where extensions containing components are symlinked. For example, on Debian, extensions can live in a common directory for all applications and /usr/lib/mozilla/extensions/{app-id}/{ext-id} is a symbolic link to the common directory.

Another trigger was reported by a user who uses symbolic links for his firefox profile.

What happens then is that while you can run firefox once, if you exit firefox and start it again, well, it doesn't start up.

It looks like the xptiInterfaceInfoManager part of bug 491245 is responsible for this issue. In other words, reverting its hunk (http://hg.mozilla.org/mozilla-central/diff/51bafb458d68/xpcom/reflect/xptinfo/src/xptiInterfaceInfoManager.cpp) is enough to "fix" the problem.

So this is basically the same as bug 513736 and bug 530793, right?

(In reply to comment #1)
> So this is basically the same as bug 513736 and bug 530793, right?

Yes it is. And I think I know what the root problem is (though I am currently building to verify that), and it all boils down to what we want to expect from nsIFile.equals. In other words, the change in bug 491245 in probably very wrong, and the normalizations shouldn't even be needed.

On Unix, and I guess OSX, nsIFile.equals could be a matter of checking st_dev and st_ino in a stat() result.

Created an attachment (id=431372)
Possible patch, but fixing the wrong issue IMHO

I verified this patch works, for both the components directory issue and bug 530196 (tested after reverting it, too).

So the problem is that the normalization is done on the nsIFile contained in the components array, and this breaks some other code using this array.

Now, as I said in comment #2, I think the real issue is that of nsIFile.equals and should be fixed there. Patches for bug 530196 and bug 491245 should be reverted.

I can provide a patch for Unix. I guess the same logic would work on OSX.

Created an attachment (id=431403)
Patch

(From update of attachment 431403)
I'd be interested to know if the test passes on OSX with this patch.
It should, however, break on Windows.

Note this would probably be more efficient if the strcmp was done first and stat()s only done when then doesn't match. But I'd first like to hear what you think before going further.

http://msdn.microsoft.com/en-us/library/aa364952%28VS.85%29.aspx This could be used to implement the same test on Windows.

Is everyone with this issue on amd64?

summary: - Firefox does not start
+ Firefox does not start with certain addons installed
tekstr1der (tekstr1der) wrote :

x86 here. I just rm -f compatibility.ini from the firefox launch script as a workaround for now, but that gets wiped on updates.

Micah Gersten (micahg) on 2010-03-11
tags: added: regression-potential
Changed in firefox (Ubuntu):
milestone: none → ubuntu-10.04-beta-2
Alexander Sack (asac) wrote :

seems its happening for extensions reachable through a link. The xpti management seems to normalize some paths, but not all, so it always thinks that xpti.dat isnt up to date meaning that it will refuse to start.

attachning patch.

tags: added: patch
Dave Stroud (bigdavesr) wrote :

The culprit on mine was prism. on x86. Simply disable it and it works fine.

Bryce Harrington (bryce) on 2010-03-12
Changed in firefox (Ubuntu Lucid):
assignee: nobody → Canonical Desktop Team (canonical-desktop-team)
Changed in firefox (Ubuntu Lucid):
assignee: Canonical Desktop Team (canonical-desktop-team) → Chris Coulson (chrisccoulson)

Is there a reason you requested feedback instead of review from bsmedberg?

(In reply to comment #8)
> Is there a reason you requested feedback instead of review from bsmedberg?

Firstly because I'd like to hear which approach would be considered the right one. Secondly because the second patch is not complete, since it doesn't implement the change on windows and other platforms.

I've got same problem here with this message when launching from terminal :

Attempting to load the system libmoon
Segmentation fault (core dumped)

I've tried with a new firefox profile and got the problem only when I tried to use addons managment tools.

Hope this will help.

Chris Coulson (chrisccoulson) wrote :

LordPhoenix - it seems that you have an unrelated issue

Ben Romer (bromer) wrote :

I've just started having this problem after doing an update this morning. Removing the compatibility.ini works around the problem. I'm running the 64-bit Lucid beta.

Ben Romer (bromer) wrote :

Also happening on 32-bit system after the same update.

ody (ody-cat) wrote :

Also affecting me after today's round of updates.

David Tester (david-g-tester) wrote :

This bug hit me after pulling in today's updates. I'd been using Lucid Alpha 3 (32-bit). As suggested in comment #18, disabling Prism fixed it.

dtr (dtr) wrote :

This bug is affecting me. I'm currently running Kubuntu 10.04 beta 64 bit.
Also with me Prism seems to be the culprit. After uninstalling Prism Firefox works again.

Mekk (marcin-kasperski) wrote :

I have the same problem. Ubuntu 32-bit, up-to-date firefox (3.6+nobinonly-0ubuntu5~mfs~karmic1). Removing compatibility.ini helps (alternative way to resolve the problem is to start firefox in safe mode and quit it from the prompter, then start normally).

Mekk (marcin-kasperski) wrote :

Looks like disabling prism helped.

Ben Romer (bromer) wrote :

Removing prism made this problem go away on both my 32-bit and 64-bit systems.

*** Bug 533535 has been marked as a duplicate of this bug. ***

*** Bug 530793 has been marked as a duplicate of this bug. ***

Changed in firefox:
status: Unknown → Confirmed
summary: - Firefox does not start with certain addons installed
+ [MASTER] Firefox does not start with certain addons installed
Changed in firefox (Ubuntu Lucid):
importance: High → Medium
tags: added: apport-collected
Martin Pitt (pitti) on 2010-04-01
Changed in firefox (Ubuntu Lucid):
status: Triaged → Fix Committed
Changed in firefox (Ubuntu Lucid):
status: Fix Committed → Fix Released
36 comments hidden view all 116 comments

(In reply to comment #26)
> This now seems to work as expected on mozilla-central. I've got
> http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=33ff230a5b78&tochange=0d8bf91aa71e
> as the fix range, so maybe fixed by bug 570488 ?

OK, finally some positive news...
Is there a version (beta, rc, ...) available somewhere that we can test?

Please note that even if the current issue with the components directory is fixed, the PoC for trunk should still be considered as it also decreases the number of stat() calls at startup (normalization does a stat() on every sub directory of the path starting from / to see if it is a symbolic link and possibly resolve it). With this PoC, any call to file.normalize for use with file.equals could be removed.

*** Bug 576233 has been marked as a duplicate of this bug. ***

>At least i've seen a couple of problems here with GreaseMonkey, Downthemall and
Weave. So what do these plugins have in common?

Do they use a XPT component? At least, that is what triggers the issue with our iMacros addon: https://bugzilla.mozilla.org/show_bug.cgi?id=574334
Renaming the xpt "solves" the issue (i. e. Firefox starts again, but the extension is broken)

*** Bug 548927 has been marked as a duplicate of this bug. ***

This was fixed completely on trunk (for Firefox 4) with bug 568691, and I don't think there is a safe patch I'd take on branches, so let's call this WORKSFORME.

(In reply to comment #32)
> This was fixed completely on trunk (for Firefox 4) with bug 568691, and I don't
> think there is a safe patch I'd take on branches, so let's call this
> WORKSFORME.

My patch for the 1.9.2 branch is pretty safe. Please consider it.

Other than that, what about comment 28 ? Need I file a new bug, now ?

*** Bug 574458 has been marked as a duplicate of this bug. ***

(From update of attachment 431372)
Yeah, that seems safe enough. r-d, this will help Linux (and mac) users whose application or profile is installed in a symlinked location, and is fairly low risk.

re: comment 28 followup, I don't think so: I'm pretty sure we aren't normalizing files at all any more.

Changed in firefox:
status: Confirmed → Invalid

(In reply to comment #36)
> re: comment 28 followup, I don't think so: I'm pretty sure we aren't
> normalizing files at all any more.

Maybe not in mainline but the bug affects all 3.6.x releases.

Some of the bugs marked as duplicates of this one are reports against 3.6.x versions not trunk.

If every bug reported about this gets marked as a duplicate of this one then it just won't get fixed for 3.6.x...

(In reply to comment #37)
> (In reply to comment #36)
> > re: comment 28 followup, I don't think so: I'm pretty sure we aren't
> > normalizing files at all any more.
>
> Maybe not in mainline but the bug affects all 3.6.x releases.

Oops I can't read can I.

*** Bug 574458 has been marked as a duplicate of this bug. ***

It probably makes the most sense to reopen this bug as a branch bug if we're going to try to land glandium's patch.

*** Bug 530793 has been marked as a duplicate of this bug. ***

Comment on attachment 431403
Different approach for trunk

The trunk patch is obsolete if I'm reading comment 32 correctly.

This problem seems to be gone in Fedora Thunderbird 3.1.1 - I have both lightning and enigmail installed and enabled, and there are no problems launching. Is that expected?

(In reply to comment #43)
> This problem seems to be gone in Fedora Thunderbird 3.1.1 - I have both
> lightning and enigmail installed and enabled, and there are no problems
> launching. Is that expected?

I can't speak for the Fedora package, but the Thunderbird 3.1.1 from Mozilla still breaks because of this with Lightning.

Changed in firefox:
status: Invalid → Confirmed

This quickly neutralizes the bug for me (Linux Firefox, Sync Addon, symlinked profile)

$ firefox # runs OK
$ firefox --safe-mode # just exit in the safe-mode options prompt
$ firefox # runs OK

This command line as well
$ firefox --safe-mode && firefox

Comment on attachment 431372
Possible patch for 1.9.2 branch

a=LegNeato for 1.9.2.9.

This bug broke xpcshell-tests on Mac on the 1.9.2 branch, see bug 584156.

(In reply to comment #47)
> This bug broke xpcshell-tests on Mac on the 1.9.2 branch, see bug 584156.

This doesn't make sense, because the patch doesn't change how registration is done.

(In reply to comment #48)
> (In reply to comment #47)
> > This bug broke xpcshell-tests on Mac on the 1.9.2 branch, see bug 584156.
>
> This doesn't make sense, because the patch doesn't change how registration is
> done.

Sorry, this could actually be bug 582012 - I missed checking the pushlog and didn't see it was pushed at the same time. I'm now building 1.9.2 and will confirm either way in a bit.

(In reply to comment #49)
> (In reply to comment #48)
> > (In reply to comment #47)
> > > This bug broke xpcshell-tests on Mac on the 1.9.2 branch, see bug 584156.
> >
> > This doesn't make sense, because the patch doesn't change how registration is
> > done.
>
> Sorry, this could actually be bug 582012 - I missed checking the pushlog and
> didn't see it was pushed at the same time. I'm now building 1.9.2 and will
> confirm either way in a bit.

Yep, local backout is showing that bug 582012 does indeed appear to be the culprit.

This landed and was backed out for the test failure.

Comment on attachment 431372
Possible patch for 1.9.2 branch

Removing .9 approval as this missed landing before freeze. Feel free to nominate again, though the bar for approval will be higher.

Was the backout (of this patch) mentioned in comment 51 because the the "xpcshell-tests on Mac" problem which *seems* from the comments here to have been because of a different patch. Ie did this really break something despite what comments 48, 50 seem to imply?

The patch here doesn't seem to check if the Clone() succeeds so I suppose it might cause a problem on some systems assuming that Clone() needs to allocate memory.

Mind you I assume that Normalize() also might need to allocate memory if the resulting string is longer, I don't know if it can/will fail gracefully.

Apart from those the only thing which looks likely (IMHO) is just that it changes the memory layout slightly so maybe exposing a corruption problem somewhere else...

Does anyone have a simple test case showing a failure after applying the patch?

I wonder if changing the patch to call both current->Normalize() and normalized->Normalize() will show the same problem (not that such a patch would fix the problem that this bug was opened for, but it might be a test to see what is actually failing).

I don't know if Normalize() on mac can change things regarding case (since the fs is case insensitive), but if the failing test can vary depending on components directory case, that could be the source of the problem.

May I just remind you that whithout this patch, most linux distribution break as componen are indeed symlinked. So if ou do not add it upstream, mots distribution will ship it meaning that not landing it will be a failure. And BTW this cleraly indicates that the test plan should include symlinked components!

So, this is what can be seen on OSX debug builds with the patch applied:

###!!! ASSERTION: This is not supposed to fail!: 'Error', file /builds/slave/tryserver-macosx-debug/build/js/src/xpconnect/src/nsXPConnect.cpp, line 1017
###!!! ASSERTION: Failed to initialize nsScriptSecurityManager: 'NS_SUCCEEDED(rv)', file /builds/slave/tryserver-macosx-debug/build/caps/src/nsScriptSecurityManager.cpp, line 3455

and what XPCOM_DEBUG_BREAK=stack-and-abort unveils:
DumpJSStack+0x00003B87 [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x0004EF7B]
std::vector<unsigned short, std::allocator<unsigned short> >::resize(unsigned long)+0x0000429C [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x000461B2]
DumpJSStack+0x00039233 [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x00084627]
std::vector<unsigned short, std::allocator<unsigned short> >::resize(unsigned long)+0x00008046 [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x00049F5C]
DumpJSStack+0x0024756A [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x0029295E]
DumpJSStack+0x00251079 [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x0029C46D]
DumpJSStack+0x00251666 [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x0029CA5A]
DumpJSStack+0x002576DA [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x002A2ACE]
JNIEnv_::ThrowNew(_jclass*, char const*)+0x00063D7A [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x01185924]
NS_GetComponentRegistrar_P+0x00004046 [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x011E67AE]
NS_GetComponentRegistrar_P+0x00005D09 [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x011E8471]
JNIEnv_::ThrowNew(_jclass*, char const*)+0x00056CF9 [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x011788A3]
JNIEnv_::ThrowNew(_jclass*, char const*)+0x0005720C [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x01178DB6]
DumpJSStack+0x00004E3E [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x00050232]
DumpJSStack+0x00004E98 [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x0005028C]
DumpJSStack+0x000BCF53 [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x00108347]
DumpJSStack+0x000C096C [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x0010BD60]
NS_GetComponentRegistrar_P+0x00004C3A [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x011E73A2]
NS_GetComponentRegistrar_P+0x0000715B [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x011E98C3]
NS_GetComponentRegistrar_P+0x000072BF [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x011E9A27]
NS_GetComponentRegistrar_P+0x0000780E [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x011E9F76]
NS_InitXPCOM3_P+0x000008D7 [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x0118BEA7]
NS_InitXPCOM2_P+0x0000002F [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./XUL +0x0118BF41]
NS_InitXPCOM2+0x0000001F [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./libxpcom.dylib +0x000019DD]
start+0x00001601 [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./TestRegistrationOrder +0x00001E31]
start+0x00000E7F [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./TestRegistrationOrder +0x000016AF]
start+0x000000FB [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./TestRegistrationOrder +0x0000092B]
start+0x00000029 [/Volumes/Namoroka/NamorokaDebug.app/Contents/MacOS/./TestRegistrationOrder +0x00000859]

Created attachment 472256
workaround for mac

So, I haven't found out (yet) what and why exactly, but what happens is that something on mac doesn't like that the components directory isn't normalized on mac. It's most probably related to bug 530188. The simplest "fix" I found is to normalize in nsDirectoryService::GetCurrentProcessDir (interestingly, the unix codepath uses realpath against MOZILLA_FIVE_HOME, so the patch makes it somewhat more close to what the unix codepath does).
This also explains why the test fails in the harness, where it is started as $BUILD_DIR/xpcom/tests/../../dist/bin/TestRegistrationOrder, and not when run by hand with $BUILD_DIR/dist/bin/TestRegistrationOrder. (running ./TestRegistrationOrder naturally fails, too)

Changed in firefox:
importance: Unknown → Medium

Comment on attachment 472256
workaround for mac

We're too late for .11 but that could be considered for .12. The other patch attached to this bug was landed and led to bug 584156 on mac only, so it was backed out. This patch is an additional workaround for mac, which avoids bug 584156, according to my testing. This code is in a mac only part of the code so it doesn't affect anything but mac, and on mac, it may affect the value returned for the current process directory (depending on what exactly Normalize does on mac, and where Firefox is installed). This /shouldn't/ have an impact.

(In reply to comment #54)
> I don't know if Normalize() on mac can change things regarding case (since the
> fs is case insensitive)
...

Yes the default hfs+ setup on a Mac is case-insensitive but it isn't always the case.

If any code assumes that all Mac fs are case insensitive then it will break for those who choose to turn on the case-sensitive feature of hfs+ or for example where the files are mounted from a server with a protocol which is, such as smb or nfs.

[ not that this should be (hopefully) relevant to the bug... ]

We're early in the development for .12 so I am willing to get this landed if it lands soon. If there are any issues we'll back it out, likely for good.

a=LegNeato for 1.9.2.12. Please land only on the mozilla-1.9.2 default branch, *not* the relbranch.

Also, please be sure to land both patches (preferably as one patch).

Changed in firefox:
status: Confirmed → Fix Released

Hello,

I had the same problem on SuSE Linux 11.1 with firefox 3.6.8.
After the second start with the add-ons "Firefox Sync",
downthemall or greasemonkey firefox directly terminates.

Here we use amd, not automount and the home directories are accessed
over a link.(The "bug" can be seen in the file xpti.dat.)

The two patches fixed the problems for me.

regards,

Martin

I built the "default" head of mozilla-1.9.2 yesterday and I can confirm that it fixes the problem for me too. Thanks!

Displaying first 40 and last 40 comments. View all 116 comments or add a comment.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.