This should fix errors of the form
internal error: scavenge_mark_stack: unimplemented/strange closure
type 28 @ 0x2b92e5f79960
But since it's quite difficult to reproduce the error, I can't be 100%
certain it's gone. I certainly can't reproduce it again after the
fix, anyway.
if (thunk_selector_depth >= MAX_THUNK_SELECTOR_DEPTH) {
break;
}
+
+ // we don't update THUNK_SELECTORS in the compacted
+ // generation, because compaction does not remove the INDs
+ // that result, this causes confusion later.
+ if (Bdescr((P_)selectee)->flags && BF_COMPACTED) {
+ break;
+ }
+
thunk_selector_depth++;
val = eval_thunk_selector(info->layout.selector_offset,