Recursion Error While Handling Recursion Error
nickdrozd.github.io
nickdrozd.github.io
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
...