Examples of errors detected by the V3190 diagnostic
V3190. Concurrent modification of a variable may lead to errors.
QuantConnect Lean
V3190 Concurrent modification of the 'start' variable may lead to errors. AlgoSeekFuturesConverter.cs 115
public void Convert()
{
var start = DateTime.MinValue;
var symbolMultipliers = LoadSymbolMultipliers();
Parallel.ForEach(files, file =>
{
try
{
Log.Trace("Remote File :" + file);
var csvFile = Path.Combine(_source.FullName,
Path.GetFileNameWithoutExtension(file.Name));
Log.Trace("Source File :" + csvFile);
if (!File.Exists(csvFile))
{
var csvFileInfo = new FileInfo(csvFile);
Directory.CreateDirectory(csvFileInfo.DirectoryName);
Log.Trace("AlgoSeekFuturesConverter.Convert(): Extracting " + file);
Compression.Extract7ZipArchive(file.FullName, _source.FullName, -1);
}
// setting up local processors
var processors = new Processors();
var reader = new AlgoSeekFuturesReader(csvFile,
symbolMultipliers,
_symbolFilter);
if (start == DateTime.MinValue)
{
start = DateTime.Now; // <=
}
....
}
});
}