Opened 3 years ago
sigaltstack may be broken on Haiku, investigate?
|Reported by:||calvinb||Owned by:||nobody|
This is a hypothesis proposed by someone on IRC. Mono is having difficulties terminating the runtime due to an infinite loop, that seems to be confused thinking it's in a "critical section" so that it never breaks out of it. It seems the condition causing this is:
/* altstack signal handler, sgen can't handle them, so we treat them as critical */ if (stack_start < info->stack_start_limit || stack_start >= info->stack_end) return TRUE; /* COMMENTOR NOTE: Mono wants this func to be returning false to break out of a loop */
This hinted to them that this may be sigaltstack related. Unfortunately, I don't have much more information to go on, especially with the kernel side of the things. I'm hoping some kernel
FWIW, this seems to affect both x86_64 and x86. (For Mono minutia, it affects both SGen and Boehm GCs.)