bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#16039: repeated emacs crashes (in GC?)


From: YAMAMOTO Mitsuharu
Subject: bug#16039: repeated emacs crashes (in GC?)
Date: Wed, 04 Dec 2013 09:43:00 +0900
User-agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI)

>>>>> On Tue, 03 Dec 2013 18:01:21 +0200, Eli Zaretskii <eliz@gnu.org> said:

>> I wrote YAMAMOTO Mitsuharu, the Emacs for mac developer, and his
>> response is
>> 
>> > The backtrace shows that the stack is used up because some deeply
>> > nested Lisp data structure is recursively traversed in garbage >
>> > collection (or possibly an unknown bug in the GC code).  In
>> > normal OSX applications, the stack depth for the main thread is
>> > set to 8MiB by default, and Emacs slightly enlarges it to
>> > 8720000B (on 64-bit binary) by some formula in src/emacs.c:

> What is the evidence that the stack is used up?

The backtrace shows it crashed by accessing the address exceeding the
stack boundary:

  * thread #1: tid = 0x484e3, 0x00000001000f61d1 Emacs`mark_object + 1073,
  queue = 'com.apple.main-thread, stop reason = EXC_BAD_ACCESS (code=2,
  address=0x7fff5f3aeff8)

Below is extracted from the memory map (% vmmap -interleaved PID):

  STACK GUARD            00007fff5bc00000-00007fff5f3af000 [ 55.7M] ---/rwx 
SM=NUL  stack guard for thread 0
  Stack                  00007fff5f3af000-00007fff5f400000 [  324K] rw-/rwx 
SM=NUL  thread 0
  Stack                  00007fff5f400000-00007fff5fbff000 [ 8188K] rw-/rwx 
SM=PRV  thread 0

> Having 136 thousand frames during GC is not unheard of.

(/ 8720000.0 (* 136 1000))
64.11764705882354

If each frame consumes more than 64 bytes, then it will use up
8720000B stack space.

                                     YAMAMOTO Mitsuharu
                                mituharu@math.s.chiba-u.ac.jp





reply via email to

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