
Recursion Error While Handling Recursion Error - nickdrozd
https://nickdrozd.github.io/2019/06/03/recursion-error.html
======
triska
Thank you for sharing this writeup!

Regarding the Emacs example: You can make Emacs crash entirely by triggering
internal recursion in the garbage collector that exceeds the C stack limit,
for example with:

    
    
        $ emacs -Q --eval "(let (v) (while t (setq v (cons v v))))"
    

yielding:

    
    
        Fatal error 11: Segmentation faultSegmentation fault: 11.
    

and the backtrace:

    
    
        Program received signal EXC_BAD_ACCESS, Could not access memory.
        Reason: KERN_INVALID_ADDRESS at address: 0xbf7ffffc
        0x0013bc1a in mark_object (arg=40166541) at alloc.c:5372
        (gdb) bt
        #0  0x0013bc1a in mark_object (arg=40166541) at alloc.c:5372
        #1  0x0013bdf8 in mark_object (arg=40166549) at alloc.c:5655
        #2  0x0013bdf8 in mark_object (arg=40166557) at alloc.c:5655
        #3  0x0013bdf8 in mark_object (arg=40166565) at alloc.c:5655
        #4  0x0013bdf8 in mark_object (arg=40166573) at alloc.c:5655
        #5  0x0013bdf8 in mark_object (arg=40166581) at alloc.c:5655
        #6  0x0013bdf8 in mark_object (arg=40166589) at alloc.c:5655
        ...

~~~
nickdrozd
Edebug is of no help with that one.

