Segfault after advanceStackFrameLocationzh returns due to null pointer on stack
@fendor and @alt-romes found a segfault when using `advanceStackFrameLocationzh`.
When there's no more stack frames, the function returns `hasNext = 1`, and `NULL` for the `StackSnapshot#` argument.
In certain timing situations, a GC will happen whilst the `NULL` value is on the stack, and cause a segfault.
Instead of using `NULL`, we can use the old value of `stack`, since it will not be used by the code which calls `advanceStackFrameLocationzh`, and to make this explicit, we can use a proper unboxed tuple rather than an explicit tag.
issue