[Top][All Lists]

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

Re: 64-bit emacs crashes a lot

From: Ryan Johnson
Subject: Re: 64-bit emacs crashes a lot
Date: Fri, 16 Aug 2013 10:16:59 -0400
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130801 Thunderbird/17.0.8

On 16/08/2013 9:31 AM, Eli Zaretskii wrote:
Date: Fri, 16 Aug 2013 07:41:44 -0400
From: Ryan Johnson <address@hidden>

On 16/08/2013 4:58 AM, Eli Zaretskii wrote:
Again, please move this discussion to emacs-devel.
Back pointer: http://cygwin.com/ml/cygwin/2013-08/msg00273.html

Date: Thu, 15 Aug 2013 22:35:54 -0400
From: Ken Brown <address@hidden>

1. Invoke 'emacs-nox -Q' in mintty.

2. M-x compile C-a C-k ls RET

3. C-x o

4. Hit 'g' repeatedly.

I got it to abort with Fatal error 6 after slightly over 100 repetitions.

I then tried the same thing with emacs-X11 (running under X, not in
mintty).  I hit 'g' 200 times without a problem.  I repeated this with
emacs-w32, again 200 times without a problem.

So there's a bug somewhere.  But if it's an emacs bug, it's strange that
it only occurs with emacs-nox and not with either of the GUI versions of
I suspect that buffer relocation might be the reason.  Can you show a
backtrace from the fatal error in an unoptimized build, with the above
I'll try to get one. Meanwhile, is there a quick way to disable buffer
relocation as a sanity test?
I don't think so, but maybe it's already disabled in your build.  What
do you see on these two lines when configure finishes:

   Should Emacs use a relocating allocator for buffers?    yes
   Should Emacs use mmap(2) for buffer allocation?         no

In any case, you could configure with --enable-checking=all, it might
catch the problem earlier.
  Should Emacs use the GNU version of malloc?             yes
  Should Emacs use a relocating allocator for buffers?    no
  Should Emacs use mmap(2) for buffer allocation?         yes

Hmm... during bootstrap I got the following with checking enabled:
Loading loadup.el (source)...
Using load-path (/scratch/emacs-24.3/lisp /scratch/emacs-24.3/lisp/emacs-lisp /scratch/emacs-24.3/lisp/language /scratch/emacs-24.3/lisp/international /scratch/emacs-24.3/lisp/textmodes)
Loading emacs-lisp/byte-run...
Loading emacs-lisp/backquote...
Loading subr...
Loading version...
<** snip **>
Loading international/mule-cmds...
Loading case-table...
Loading /scratch/emacs-24.3/lisp/international/charprop.el (source)...
Loading international/characters...
static heap exhausted: avail 10485760 used 9751456 failed request 790528
Makefile:795: recipe for target `bootstrap-emacs.exe' failed
make[1]: *** [bootstrap-emacs.exe] Error 1
make[1]: Leaving directory `/scratch/emacs-24.3/src'
Makefile:334: recipe for target `src' failed
make: *** [src] Error 2

Without checking I get this output instead (and bootstrap completes):
Finding pointers to doc strings...
Finding pointers to doc strings...done
Dumping under the name emacs
Static heap usage: 9753632 of 10485760 bytes
77714 pure bytes used

Is there a way to grow the static heap?


reply via email to

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