On Tue, 2 Apr 2019 at 23:36, ducasse <[email protected]> wrote:
> I’m inherently race condition incompatible and just avoid concurrent
> programming because I’m too dull on this.
>
I've solved a few Pharo race conditions before, so just a tip (that you
maybe already know).
You can't troubleshoot a race condition by standard debugging, because it
alters the timing.
Best that I've done before is resorting to plain old print-line tracing
between every line of the suspect code,
or the equivalent threadsafe collection if its not a hard crash.
e.g....
someMethod
threadsafeCollection add: "methodname-A" , testCondition
original method line 1
threadsafeCollection add: "methodname-B", testCondition
original method line 2
threadsafeCollection add: "methodname-C", testCondition
and then looking for cyclic patterns in that data and breaks in those
patterns.
I can have a look in a few weeks. Right now working 13 hour days to the
end of the week
and then vacationing in China for 10 days.