Igor Stasenko writes:
To confirm my point of view, see Morph>>privateAddMorph:atIndex:
It manipulates a submorphs collection without guarding it with semaphore. It really likely that tight loops running in multiple processes may damage collection, especially when you using Delays which enables scheduler to switch processes at any point. Also, i'm sure this is not the only place, where breakage can occur. Morphic is too complex to say something definitely.
To summarize: manipulating morphs using concurrent code is a big no-no :)
The real test doesn't touch morphic. That was just a recreation that seemed to reproduce the problem without relying on any Exupery code. The actual test is using ExuperyProfiler which writes results to a SharedQueue.