Fix a rare parallel GC bug
authorSimon Marlow <marlowsd@gmail.com>
Thu, 23 Oct 2014 10:12:16 +0000 (11:12 +0100)
committerSimon Marlow <marlowsd@gmail.com>
Thu, 23 Oct 2014 10:12:16 +0000 (11:12 +0100)
commita11f71eff15ba2706cbb2ee29aaf7350909e0d2f
treeee6d16f4e4ca1baad4114e50a5b12e8f4aa656ce
parentaa641e514821514e76a07d03f3783b94f819f085
Fix a rare parallel GC bug

When there's a conflict between two threads evacuating the same TSO,
in some cases we would update the incall->tso pointer to point to the
wrong copy of the TSO.  This would get fixed during the next GC, but
if the thread completed in the meantime, it would likely crash.  We're
seeing this about once per day on a heavily loaded machine (it varies
a lot though).
rts/sm/Scav.c