Non-moving mark thread can race with stack squeezing
During a stress-test I noticed a reliable segmentation fault in the non-moving collector. The cause appears to be the following:
- ???
- (mark) the mark thread starts marking a stack chunk
- (mut) meanwhile, the thread owning the chunk pauses
- (mut) we decide to squeeze the stack
- (mut)
stackSqueeze
writes to the stack, confusing mark - (mark) crashes