The moveChunk command on the shard was made rejoinable for the purpose of supporting recovery of active migrations after balancer step down.
A command which rejoins will take the status from the command which executed the actual move operation and call uassertStatusOK on it.
However, the SendStaleConfig error code is treated specially and the resulting DBException is later cast to StaleConfigException. In this case, such a typecast will be illegal and may lead to accessing invalid memory.