id summary reporter owner description type status milestone component version severity resolution keywords cc 12400 libunwind fails to detect end-of-stack with boost::context mmayorga@… olli "make_fcontext initialises a new stack, but it is making libunwind not to find its termination, presumably because it is initialising it by pointing to a call to program exit. Problematic source: https://github.com/boostorg/context/blob/develop/src/asm/make_x86_64_sysv_elf_gas.S leaq -0x40(%rax), %rax moves the stack pointer down 64 bytes The top thing on the stack at the highest address is what the comment calls EXIT, and is a pointer to the finish label. There is nothing after that No frame where RBP is null or an undefine dIP Boost does not put anything after that at all From libunwind sources: file Gstep.c, end-of stack detection algorithm: /* x86_64 ABI specifies that end of call-chain is marked with a NULL RBP or undefined return address */ if (DWARF_IS_NULL_LOC (c->dwarf.loc[RBP]) || DWARF_IS_NULL_LOC(c->dwarf.loc[c->dwarf.ret_addr_column])) { c->dwarf.ip = 0; ret = 0; } " Bugs closed To Be Determined context Boost 1.56.0 Problem worksforme libunwind context coroutine