#1612 ErrorList not thread safe, registerErrorSource vs addError

closed-fixed
None
5
2012-06-02
2012-05-31
Jarek Czekalski
No

I prepared a macro (attached) that attacks ErrorList from 2 threads.
T1: feeds the es (error source) with n errors (numbered 1..n), then registers it
T2: adds additional n errors to es (numbered n+1..2*n), while T1 registers es

A) For small n (10): the result is as expected, number of errors is 2*n
B) For medium n (80): I observed duplicated errors, e.g. 89, 90. Hard to reproduce, but one just needs to repeat and repeat watching error count
C) For big n (200): only errors >n appear

Better reproducibility of case B would be achieved with proper placement of compDelay, but it needs investigation of the cause first.

ErrorList is documented to be thread safe, so these things should not happen.

Discussion

  • 2 thread macro

     
    Attachments
  • This was fixed together with a deadlock condition in r21749.

     
    • status: open --> closed-fixed