It's simply not thread-safe.
Are you saying whenever the UI process interrupts Transcript printing from a lower-priority non-UI process a failure occurs?
I tried [ 20 timesRepeat: [ 1000 factorial . Transcript show: 'x' ] ] forkAt: 39 a few times while having the Transcript window full and sooner rather than later it failed *regardless *of the #forceUpdate setting.
In #endEntry, we could check for "Processor activeProcess == Project current uiProcess" to then use "Project current addDeferredUIMessage..." automatically.
Deferring automatically would actually mean #forceUpdate = true no longer means anything for lower-priority non-UI processes, right? (Because the problem seems to occur regardless of #forceUpdate setting)
It still seems to me it has something to do with scrolling the full Transcript window...
Regards, Jaromir
-- Sent from: http://forum.world.st/Squeak-Dev-f45488.html