GNU bug report logs - #16039
repeated emacs crashes (in GC?)

Previous Next

Package: emacs;

Reported by: emacs user <user.emacs <at> gmail.com>

Date: Tue, 3 Dec 2013 14:57:02 UTC

Severity: normal

Tags: fixed

Fixed in version 25.2

Done: Alan Third <alan <at> idiocy.org>

Bug is archived. No further changes may be made.

Full log


Message #23 received at 16039 <at> debbugs.gnu.org (full text, mbox):

From: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 16039 <at> debbugs.gnu.org, emacs user <user.emacs <at> gmail.com>
Subject: Re: bug#16039: repeated emacs crashes (in GC?)
Date: Thu, 05 Dec 2013 09:35:21 +0900
>>>>> On Wed, 04 Dec 2013 10:48:11 +0900, YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp> said:

>>> 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.

> FWIW, the default compiler for Xcode 4.0.2 on Mac OS X 10.6 with the
> -O2 option seems to consume 64 bytes for each mark_object frame:

>   i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)

>   _mark_object:
>   00000000000008a0	pushq	%rbp
>   00000000000008a1	movq	%rsp, %rbp
>   00000000000008a4	movq	%rbx, 0xffffffffffffffd8(%rbp)
>   00000000000008a8	movq	%r12, 0xffffffffffffffe0(%rbp)
>   00000000000008ac	movq	%r13, 0xffffffffffffffe8(%rbp)
>   00000000000008b0	movq	%r14, 0xfffffffffffffff0(%rbp)
>   00000000000008b4	movq	%r15, 0xfffffffffffffff8(%rbp)
>   00000000000008b8	subq	$0x40, %rsp

> And the one for Xcode 5.0.2 on OS X 10.9 with -O4 does 24 bytes:

>   Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)

>   _mark_object:
>   0000000000005c70	pushq	%rbp
>   0000000000005c71	movq	%rsp, %rbp
>   0000000000005c74	pushq	%r15
>   0000000000005c76	pushq	%r14
>   0000000000005c78	pushq	%r13
>   0000000000005c7a	pushq	%r12
>   0000000000005c7c	pushq	%rbx
>   0000000000005c7d	subq	$0x18, %rsp

I forgot to count the pushq instructions.  The correct value would be
72 bytes for each mark_object frame in both cases.

				     YAMAMOTO Mitsuharu
				mituharu <at> math.s.chiba-u.ac.jp




This bug report was last modified 8 years and 190 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.