Julia treats jl_task_t as a special case and assumes it will always reference young objects.
https://github.com/JuliaLang/julia/blob/f9792b4863230d638425b4f79ec5e109e12f77cc/src/gc.c#L2517-L2518
In this case, they may not have write barriers when updating references in jl_task_t. I encountered a case when I was debugging for #71, and described it here: #71 (comment). The missing write barrier was upstreamed in JuliaLang/julia#51096, and included in our fork in mmtk/julia#21. However, there might be more cases like this that we haven't found. We may encounter similar issues like this in the future.
We could consider treating jl_task_t as a special case.