From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jim Meyering Newsgroups: gmane.emacs.devel Subject: Re: compilation failure Date: Wed, 30 Mar 2011 15:41:33 +0200 Message-ID: <87hbaku3n6.fsf@rho.meyering.net> References: <20110330.081322.460926700.wl@gnu.org> <4D92CE2C.9060108@cs.ucla.edu> <20110330.085238.150445611.wl@gnu.org> <87aagduk99.fsf@rho.meyering.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1301492515 4477 80.91.229.12 (30 Mar 2011 13:41:55 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 30 Mar 2011 13:41:55 +0000 (UTC) Cc: emacs-devel@gnu.org, eggert@cs.ucla.edu To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Mar 30 15:41:50 2011 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Q4veg-0000bS-1C for ged-emacs-devel@m.gmane.org; Wed, 30 Mar 2011 15:41:50 +0200 Original-Received: from localhost ([127.0.0.1]:54409 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q4vef-0005nf-LR for ged-emacs-devel@m.gmane.org; Wed, 30 Mar 2011 09:41:49 -0400 Original-Received: from [140.186.70.92] (port=38839 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Q4veW-0005jK-66 for emacs-devel@gnu.org; Wed, 30 Mar 2011 09:41:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q4veU-000221-Lv for emacs-devel@gnu.org; Wed, 30 Mar 2011 09:41:39 -0400 Original-Received: from mx.meyering.net ([82.230.74.64]:55690) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q4veS-00020W-P5; Wed, 30 Mar 2011 09:41:37 -0400 Original-Received: by rho.meyering.net (Acme Bit-Twister, from userid 1000) id 143C460315; Wed, 30 Mar 2011 15:41:34 +0200 (CEST) In-Reply-To: (Eli Zaretskii's message of "Wed, 30 Mar 2011 07:35:55 -0400") Original-Lines: 61 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 82.230.74.64 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:137911 Archived-At: Eli Zaretskii wrote: >> From: Jim Meyering >> Date: Wed, 30 Mar 2011 09:42:42 +0200 >> Cc: eggert@cs.ucla.edu, emacs-devel@gnu.org >> >> This command, >> env MALLOC_PERTURB_=0 MALLOC_CHECK_=0 make -j9 bootstrap >> has succeeded for me on each of the last three mornings (Mar 28-30). >> >> I manually set those two MALLOC_*_ variables to 0 because >> when I don't, emacs fails to bootstrap. > > It's a pity this problem was not reported to the bug tracker. (At > least I couldn't find it; apologies if I missed it.) I thought I reported it to some emacs development list months ago, but a quick search didn't find it. >> I suspect that emacs is using free'd memory containing >> values that would normally be unoffensive, but when you set >> those envvars (esp MALLOC_PERTURB_) to nonzero, it makes >> glibc scribble on free'd buffers, and that makes emacs >> exhibit an actual failure. > > Can you use bisect to find the guilty commit? Finding a commit for which a perturbed "make bootstrap" succeeds was a challenge. I bootstrapped 8 or 10 times, going back to 2009 in steps of 500, then 1500 commits. Same failure each time, until I started getting link errors: /usr/bin/ld: xftfont.o: undefined reference to symbol 'XRenderQueryExtension' /usr/bin/ld: note: 'XRenderQueryExtension' is defined in DSO /usr/lib64/libXrender.so.1 so try adding it to the linker command line /usr/lib64/libXrender.so.1: could not read symbols: Invalid operation I worked around that by inserting -lXrender into the generated Makefile: perl -pi -e 's/(-lfreetype )/$1-lXrender /' src/Makefile With that, I finally found a successful build at this git commit: commit 84655cfe88efb24c256302d016cd037d22544cca Author: Stefan Monnier Date: Fri Nov 6 18:47:48 2009 +0000 Let integers use up 2 tags to give them one extra bit and double their range. * lisp.h (USE_2_TAGS_FOR_INTS): New macro. (LISP_INT_TAG, case_Lisp_Int, LISP_STRING_TAG, LISP_INT_TAG_P): New macros. ... Maybe someone else will do the actual bisection: Bisecting: 4164 revisions left to test after this (roughly 12 steps) This is the command to run: env MALLOC_PERTURB_=44 MALLOC_CHECK_=3 make -j9 bootstrap If not, I'll get to it, eventually.