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 < mituharu@math.s.chiba-u.ac.jp> wrote: > >>>>> On Wed, 04 Dec 2013 10:48:11 +0900, YAMAMOTO Mitsuharu < > mituharu@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@math.s.chiba-u.ac.jp >