Open MikeStall opened 1 year ago
See #1520 for new test to scan these failures.
Currently, there are about 100 failures, mostly false-positives. We should manually review determine if it is safe?
Yes, manually confirmed --> can we refactor to make it easy to verify? Eg, make the field readonly?
... if we can't do any of the above ... is it actually safe?
Robustness checks (#981) - Several potential races. Writing is single threaded. Reading is multi-threaded.
We have some existing tests (https://github.com/microsoft/Power-Fx/blob/main/src/tests/Microsoft.PowerFx.Core.Tests/ImmutabilityTests.cs) . Expanding that test shows a few suspicious things:
We should also ensure these eval/runtime types are ThreadSafe. ParsedExpression Core.IR.Nodes.IntermediateNode ReadOnlySymbolValues ComposedReadOnlySymbolValues