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

From: emacs user <[email-masked]>
Date: Sat, 7 Dec 2013 22:29:48 +0200

so after running the same emacs session for 72 hours, during which I used
vm many times and emacs used a total of 1.5 CPU hours, I think it is safe
to say that this problem that caused frequent crashes is fixed by the
increase in newlim as specified below. I hope something like this can be
implemented in the emacs development version.   Thanks for your help, best,
E

On Thu, Dec 5, 2013 at 8:54 AM, emacs user <[email-masked]> wrote:

> I managed to compile your mac port and inserted:
>
>       newlim = (re_max_failures * ratio + 200000)*2;
>
> will let you know in a few days if I still see crashes.
>
>
> On Thu, Dec 5, 2013 at 2:35 AM, YAMAMOTO Mitsuharu <
> [email-masked]> wrote:
>
>> >>>>> On Wed, 04 Dec 2013 10:48:11 +0900, YAMAMOTO Mitsuharu <
>> [email-masked]> 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
>>                                 [email-masked]
>>
>
>