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

From: emacs user <[email-masked]>
Date: Sun, 15 Dec 2013 19:17:20 +0200

Dear Eli and Mitsuharu, Please let me know if there is anything else I can
do, test patches or such.  again, Emacs just does not ever crash for me
after the change mentioned below, a great relief.  E

On Sat, Dec 7, 2013 at 10:29 PM, emacs user <[email-masked]> wrote:

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