At least on Mac OS 10.12 we have observed stack sizes of the primary thread not aligned to pages boundries. This can be provoked by e.g. setrlimit() (ulimit -s xxxx in the shell).This voids the computation of the addresses of the guard pages.
Fix:
Apparently Mac OS actually rounds upwards to next multiple of page size however, it is conservative to round downwards here to be on the safe side.
Fix:
Apparently Mac OS actually rounds upwards to next multiple of page size however, it is conservative to round downwards here to be on the safe side.