Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 2 Jun 2013 17:35:27 +0200
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Ted Faber <faber@lunabase.org>
Cc:        Kostik Belousov <kostikbel@gmail.com>, freebsd-ports@freebsd.org
Subject:   Re: Another Firefox 21.0 crash (new backtrace)
Message-ID:  <6B3D745E-9ADD-4B2A-B2C0-53B920B9CC71@FreeBSD.org>
In-Reply-To: <20130529035333.GA2340@mail.lunabase.org>
References:  <20130525230731.GA93415@mail.lunabase.org> <51A49C40.1080209@FreeBSD.org> <20130528155234.GA17344@mail.lunabase.org> <20130529035333.GA2340@mail.lunabase.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--Apple-Mail=_FF1C04DB-4A55-438E-A26E-0AF04F85D9B6
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=us-ascii

On May 29, 2013, at 05:53, Ted Faber <faber@lunabase.org> wrote:
> On Tue, May 28, 2013 at 08:52:35AM -0700, Ted Faber wrote:
>> On Tue, May 28, 2013 at 02:00:00PM +0200, Dimitry Andric wrote:
>>> On 2013-05-26 01:07, Ted Faber wrote:
>>>> I'm seeing a repeatable, consistent segmentation fault before the first
>>>> window appears (though firefox -ProfileManager brings up the
>>>> profile manager, but crashes when I try to actually start the browser).
...
> OK, I improved my svn fu, pulled the tree, extracted the patch, applied
> it, made and installed world.
> 
> Now I see different behavior, but no better.  Still gets a SEGV, but a
> different trace. (Attached)

Ok, I think I have figured out what the problem is: Firefox's JavaScript
OSFile implementation loads libc.so.6 if it is available!  That is, if
you have the compat6x package installed, it loads
/usr/local/lib/libc.so.6, even while /lib/libc.so.7 is already loaded.

This wreaks havoc when it later tries to call libc functions via libffi,
and the result is that it calls into a completely bogus PLT entry.  Most
of the time, this leads to a crash.

So the easiest way to avoid the crash for now is to uninstall the
compat6x package, and making sure there is no libc.so.6 in
/usr/local/lib/compat.  Then Firefox should start with no problems.

As a better fix, please try dropping the attached file into the
/usr/ports/www/firefox/files directory, then rebuild the firefox port
from scratch, and reinstall it.

-Dimitry

--Apple-Mail=_FF1C04DB-4A55-438E-A26E-0AF04F85D9B6
Content-Disposition: attachment;
	filename=patch-toolkit-components-osfile-osfile_unix_allthreads.jsm
Content-Type: application/octet-stream;
	name="patch-toolkit-components-osfile-osfile_unix_allthreads.jsm"
Content-Transfer-Encoding: 7bit

--- toolkit/components/osfile/osfile_unix_allthreads.jsm.orig	2013-05-11 21:19:53.000000000 +0200
+++ toolkit/components/osfile/osfile_unix_allthreads.jsm	2013-06-02 17:15:05.000000000 +0200
@@ -40,7 +40,7 @@ if (typeof Components != "undefined") {
   // Open libc
   let libc;
   let libc_candidates =  [ "libSystem.B.dylib",
-                           "libc.so.6",
+                           "libc.so.7",
                            "libc.so" ];
   for (let i = 0; i < libc_candidates.length; ++i) {
     try {

--Apple-Mail=_FF1C04DB-4A55-438E-A26E-0AF04F85D9B6--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6B3D745E-9ADD-4B2A-B2C0-53B920B9CC71>