The swc manages the span in a fairly unusual way. It manages span information by creating a global map and assigning a range in it. The global map should be protected with an atomic variable or mutex because swc supports threading.
I changed the code so that the two don't mix. As a multi-threading issue, I can't say it's 100% solved because it's hard to reproduce, but it's likely that it's fixed.
Previous versions of swc interpreted this code differently than it was.