I've found a replication for the 'Assertion Failed' issue. This issue tends to come up infrequently when large amounts of objects are being created.
Run "Do coroutine count testing" in the plugin - with 500k runnables (the default in the plugin), it only took running it twice to get the crash. Also, had an interesting case where the crash happened when I restarted the script engine (rather than hitting the plugin again itself). This seems to happen more quickly if it's run through coroutines rather than directly.
I'll close this for now as it seems to be not a very practical issue, as you have noted. For reference, asCAtomic has these assertions as a safety mechanism, so this is not necessarily a bug either.
I've found a replication for the 'Assertion Failed' issue. This issue tends to come up infrequently when large amounts of objects are being created.
Run "Do coroutine count testing" in the plugin - with 500k runnables (the default in the plugin), it only took running it twice to get the crash. Also, had an interesting case where the crash happened when I restarted the script engine (rather than hitting the plugin again itself). This seems to happen more quickly if it's run through coroutines rather than directly.
Repo: https://github.com/smalljustin/testing-yield
(the same is attached)
testing-yield.zip
Between this and the last replication attempt, the data arrays are within an object rather than being at the global level.
(This same issue does come up inside a real use case in the COTD qualification grapher, albeit pretty rarely. So not purely theoretical!)