From owner-freebsd-ports@FreeBSD.ORG Tue Apr 30 18:23:54 2013 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 14A3299A for ; Tue, 30 Apr 2013 18:23:54 +0000 (UTC) (envelope-from dim@freebsd.org) Received: from tensor.andric.com (tensor.andric.com [87.251.56.140]) by mx1.freebsd.org (Postfix) with ESMTP id CBDA1124F for ; Tue, 30 Apr 2013 18:23:53 +0000 (UTC) Received: from [IPv6:2001:7b8:3a7::1113:933:e0bc:5713] (unknown [IPv6:2001:7b8:3a7:0:1113:933:e0bc:5713]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by tensor.andric.com (Postfix) with ESMTPSA id 65FB05C45; Tue, 30 Apr 2013 20:23:52 +0200 (CEST) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\)) Subject: Re: firefox build broken under clang 3.3 From: Dimitry Andric In-Reply-To: <1UXDVA-0001b7-7U@internal.tormail.org> Date: Tue, 30 Apr 2013 20:23:34 +0200 Content-Transfer-Encoding: quoted-printable Message-Id: References: <20130419020021.GA16918@test.yahoo.com> <51716917.90101@smeets.im> <517187B9.40106@smeets.im> <1UXDVA-0001b7-7U@internal.tormail.org> To: Jan Beich X-Mailer: Apple Mail (2.1503) Cc: Brandon Gooch , kit , Benjamin Kramer , "freebsd-ports@freebsd.org ports" , =?iso-8859-1?Q?Rafael_Esp=EDndola?= X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Apr 2013 18:23:54 -0000 On Apr 30, 2013, at 18:34, Jan Beich wrote: ... > The faulting function is lost within crash handler. If you build > firefox with >=20 > # use DEBUG_FLAGS or set STRIP to empty explicitly > CFLAGS +=3D ${DEBUG_FLAGS} > DEBUG_FLAGS +=3D -O0 -g >=20 > jaeger jit crash would look like >=20 > = http://lists.freebsd.org/pipermail/freebsd-current/2013-April/041165.html The firefox crash in that post was with -O2, so it is most likely not = due to the vectorizer then. In any case, I have not been able to reproduce that either. I have = browsed stackoverflow.com for about 5 minutes, clicking a whole bunch of = random articles and links, and no problems whatsoever occurred. That is = with the default www/firefox port, which seems to be the released = Firefox 20.0, at its default settings, on amd64. > It doesn't happen on firefox23 with baseline jit[1] disabled via pref. > A big change like zones (bug 759585) may have refactored code enough > to not hit the clang bug. So, try either clang trunk or >=20 > = http://trillian.chruetertee.ch/freebsd-gecko/changeset/1256/trunk/www/fire= fox/files/patch-clang33 >=20 > The latter pessimizes inlining for clang 3.2 as well. >=20 > [1] baseline crashes in a different way > https://bugzilla.mozilla.org/show_bug.cgi?id=3D860867 I do not like the workaround in that Mozilla bug, since it simply = disables the vectorizer. I can understand that software must always = ship tomorrow, but it would have been nicer to attempt to figure out = what is incorrectly optimized, and why... >> Rebuilding with debugging symbols provides no further insight, as = that >> seems to provide a work-around for whatever the root cause may be >> (i.e. no more segfaults). >=20 > DEBUG enables compile-time diagnostics and strips any -O* from CFLAGS. Indeed. To work around this, use the following diff: Index: Mk/bsd.port.mk =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- Mk/bsd.port.mk (revision 316903) +++ Mk/bsd.port.mk (working copy) @@ -1580,7 +1580,7 @@ .if defined(WITH_DEBUG) && !defined(WITHOUT_DEBUG) STRIP_CMD=3D ${TRUE} DEBUG_FLAGS?=3D -g -CFLAGS:=3D ${CFLAGS:N-O*:N-fno-strict*} ${DEBUG_FLAGS} +CFLAGS:=3D ${CFLAGS} ${DEBUG_FLAGS} .endif =20 .if defined(NOPORTDOCS)