emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: compilation failure


From: Jim Meyering
Subject: Re: compilation failure
Date: Wed, 30 Mar 2011 09:42:42 +0200

Werner LEMBERG wrote:
>>> The last two days, `make boostrap' aborts on my GNU/Linux box ...
>>> Are there some bigger changes under construction so that this expected
>>> currently?
>>
>> No, it should be working.  I'm not observing problems with bzr 103778,
>> either with RHEL 5.6 x86-64 (with self-built GCC 4.6.0), or with
>> Ubuntu 10.10 x86 (with system-supplied GCC).
>
> Strange.  I'm using openSuSE Factory.  Interestingly, if I simply
> manually say
>
>   ./temacs -batch -l loadup dump
>
> within my de_DE.UTF-8 locale, it succeeds, but using the command from
> the Makefile,
>
>   LC_ALL=C ./temacs -batch -l loadup dump
>
> it aborts.  Calling gdb, I get the backtrace shown below.  Note that
> I'm doing a normal build without any additional options.

Have you tried building with LC_ALL=C in your environment?

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.

When I set them like this (as I normally do),

    $ env|grep MALL                                                             
 :
    MALLOC_PERTURB_=39
    MALLOC_CHECK_=3

The build fails like this on F15:

    Compiling quail/CCDOSPY.el
    Compiling quail/Punct.el
    Compiling quail/QJ.el
    Compiling quail/SW.el
    Compiling quail/TONEPY.el
    Compiling quail/PY.el
    Compiling quail/CTLau.el
    Compiling quail/CTLau-b5.el
    >>Error occurred processing quail/CCDOSPY.el: File error (("Opening input 
file" "
    No such file or directory" "/tmp/.x/emacs/leim/quail/CCDOSPY.el"))
    >>Error occurred processing quail/QJ.el: File error (("Opening input file" 
"No su
    ch file or directory" "/tmp/.x/emacs/leim/quail/QJ.el"))
    make[1]: *** [quail/CCDOSPY.elc] Error 1
    make[1]: *** Waiting for unfinished jobs....
    make[1]: *** [quail/QJ.elc] Error 1
    make[1]: Entering directory `/tmp/.x/emacs/lisp'
    >>Error occurred processing quail/Punct.el: File error (("Opening input 
file" "No
     such file or directory" "/tmp/.x/emacs/leim/quail/Punct.el"))
    make[1]: *** [quail/Punct.elc] Error 1
    >>Error occurred processing quail/SW.el: File error (("Opening input file" 
"No su
    ch file or directory" "/tmp/.x/emacs/leim/quail/SW.el"))
    make[1]: *** [quail/SW.elc] Error 1
    >>Error occurred processing quail/TONEPY.el: File error (("Opening input 
file" "N
    o such file or directory" "/tmp/.x/emacs/leim/quail/TONEPY.el"))
    make[1]: *** [quail/TONEPY.elc] Error 1

    In toplevel form:
    quail/CTLau.el:52:1:Error: Memory exhausted--use C-x s then exit and 
restart Emac
    s
    make[1]: *** [quail/CTLau.elc] Error 1

    In toplevel form:
    quail/PY.el:88:1:Error: Memory exhausted--use C-x s then exit and restart 
Emacs
    make[1]: *** [quail/PY.elc] Error 1

    In toplevel form:
    quail/CTLau-b5.el:52:1:Error: Memory exhausted--use C-x s then exit and 
restart Emacs
    make[1]: *** [quail/CTLau-b5.elc] Error 1
    make[1]: Leaving directory `/tmp/.x/emacs/leim'
    make: *** [leim] Error 2
    make: *** Waiting for unfinished jobs....
    make[2]: Entering directory `/tmp/.x/emacs/lisp'
    make[2]: Nothing to be done for `compile-targets'.
    make[2]: Leaving directory `/tmp/.x/emacs/lisp'
    make[1]: Leaving directory `/tmp/.x/emacs/lisp'
    [Exit 2]


At this point, resetting those two envvars has no effect,
presumably because the damage was done in creating a broken
temacs.  Here, we're just running the broken tool.

What does this mean?
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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]