tags 512514 + fixed-upstream patch thanks On 2009-01-21 12:18 +0100, Lucas Nussbaum wrote:
> Package: emacs22 > Version: 22.2+2-5 > Severity: serious > User: debian...@lists.debian.org > Usertags: qa-ftbfs-20090120 qa-ftbfs > Justification: FTBFS on i386 > > Hi, > > During a rebuild of all packages in a lenny chroot, your package failed > to build on i386. > > Relevant part: >> make[3]: Entering directory >> `/build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/debian/build-x/lisp' >> wd=/build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp; >> subdirs=`(cd $wd; find . -type d -print)`; for file in $subdirs; do case >> $file in */Old | */RCS | */CVS | */CVS/* | */.* | */.*/* | */=* ) ;; *) >> wins="$wins $wd/$file" ;; esac; done; \ >> for file in $wins; do \ >> >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/../update-subdirs >> $file; \ >> done; >> wd=/build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp; >> subdirs=`(cd $wd; find . -type d -print)`; for file in $subdirs; do case >> $file in */Old | */RCS | */CVS | */CVS/* | */.* | */.*/* | */=* | */obsolete >> | */term ) ;; *) wins="$wins $wd/$file" ;; esac; done; \ >> echo Directories: $wins; \ >> >> EMACSLOADPATH=/build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp >> ../src/bootstrap-emacs -batch --no-site-file --multibyte -l autoload --eval >> '(setq generated-autoload-file >> "/build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/loaddefs.el")' >> -f batch-update-autoloads $wins >> Directories: >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/. >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./erc >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./net >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./language >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./mail >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./progmodes >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./mh-e >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./play >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./gnus >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./international >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./url >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./eshell >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./textmodes >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./calc >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./emulation >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./calendar >> /build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/./emacs-lisp >> /bin/sh: line 2: 20021 Segmentation fault >> EMACSLOADPATH=/build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp >> ../src/bootstrap-emacs -batch --no-site-file --multibyte -l autoload --eval >> '(setq generated-autoload-file >> "/build/user-emacs22_22.2+2-5-amd64-GCGChk/emacs22-22.2+2-5/lisp/loaddefs.el")' >> -f batch-update-autoloads $wins >> make[3]: *** [autoloads] Error 139 This seems to be the same problem that had been reported in Gentoo and upstream, see [0], [1]. Could you please try the following patch, taken from the Emacs trunk? It should fix the failure, but since the segfault only happens in ~ 1% of all builds it would be good to try building emacs22 a few hundred times with and without the patch. --8<---------------cut here---------------start------------->8--- Index: emacs.c =================================================================== RCS file: /sources/emacs/emacs/src/emacs.c,v retrieving revision 1.448 retrieving revision 1.449 diff -u -r1.448 -r1.449 --- emacs.c 6 Oct 2008 16:16:56 -0000 1.448 +++ emacs.c 21 Oct 2008 06:32:28 -0000 1.449 @@ -212,8 +212,8 @@ /* The gap between BSS end and heap start as far as we can tell. */ static unsigned long heap_bss_diff; -/* If the gap between BSS end and heap start is larger than this we try to - work around it, and if that fails, output a warning in dump-emacs. */ +/* If the gap between BSS end and heap start is larger than this + output a warning in dump-emacs. */ #define MAX_HEAP_BSS_DIFF (1024*1024) @@ -861,29 +861,24 @@ } #ifdef HAVE_PERSONALITY_LINUX32 - /* See if there is a gap between the end of BSS and the heap. - In that case, set personality and exec ourself again. */ if (!initialized && (strcmp (argv[argc-1], "dump") == 0 || strcmp (argv[argc-1], "bootstrap") == 0) - && heap_bss_diff > MAX_HEAP_BSS_DIFF) + && ! getenv ("EMACS_HEAP_EXEC")) { - if (! getenv ("EMACS_HEAP_EXEC")) - { - /* Set this so we only do this once. */ - putenv("EMACS_HEAP_EXEC=true"); + /* Set this so we only do this once. */ + putenv("EMACS_HEAP_EXEC=true"); - /* A flag to turn off address randomization which is introduced - in linux kernel shipped with fedora core 4 */ + /* A flag to turn off address randomization which is introduced + in linux kernel shipped with fedora core 4 */ #define ADD_NO_RANDOMIZE 0x0040000 - personality (PER_LINUX32 | ADD_NO_RANDOMIZE); + personality (PER_LINUX32 | ADD_NO_RANDOMIZE); #undef ADD_NO_RANDOMIZE - execvp (argv[0], argv); + execvp (argv[0], argv); - /* If the exec fails, try to dump anyway. */ - perror ("execvp"); - } + /* If the exec fails, try to dump anyway. */ + perror ("execvp"); } #endif /* HAVE_PERSONALITY_LINUX32 */ --8<---------------cut here---------------end--------------->8--- Cheers, Sven 0. http://bugs.gentoo.org/236579 1. http://emacsbugs.donarmstrong.com/cgi-bin/bugreport.cgi?bug=900 -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org