> longjmp panics unless it is called from a stack frame that is an ancestor of a stack frame that considers the zjmp_buf to be valid.
Maybe I have things backwards, but I think you mean descendent and not ancestor here?
If a() calls b(), I wouldn't think the stack frame while running b is the ancestor of a.