After the upgrade I am not having the repeated crash I was seeing before. Apologies, but I was unable to correlate the crash to a scenario or code construct, and hence could not provide a small sanitized example from the large code base on which I am working.
I did clone the plugin and attempt to build it with the intention of hopefully running it with debug symbols, but lacked both the expertise and time to overcome the problems I encountered trying to build it.
So I am experience the crashing again. Here is the output for the first crash I have experienced today.
Note the crash always seems to be the same Index out of range error, and is often preceded by:
ERROR: LLVM ERROR: Invalid abbrev number
Failed to analyze **PATH REMOVED**: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: startIndex
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at System.BitConverter.ToInt32(Byte value, Int32 startIndex)
at SonarLint.VisualStudio.CFamily.SubProcess.Protocol.ReadUTF(BinaryReader reader)
at SonarLint.VisualStudio.CFamily.SubProcess.Protocol.Read(BinaryReader reader, Action`1 handleIssue)
at SonarLint.VisualStudio.CFamily.Analysis.CLangAnalyzer.<>c__DisplayClass16_0.<ExecuteSubProcess>b__1(StreamReader reader)
at SonarLint.VisualStudio.CFamily.SubProcess.ProcessRunner.Execute(ProcessRunnerArguments runnerArgs)
at SonarLint.VisualStudio.CFamily.Analysis.CLangAnalyzer.ExecuteSubProcess(Action`1 handleMessage, IRequest request, IProcessRunner runner, ILogger logger, CancellationToken cancellationToken, IFileSystem fileSystem)
at SonarLint.VisualStudio.CFamily.Analysis.CLangAnalyzer.CallSubProcess(Action`1 handleMessage, IRequest request, ISonarLintSettings settings, ILogger logger, CancellationToken cancellationToken)
at SonarLint.VisualStudio.CFamily.Analysis.CLangAnalyzer.RunAnalysis(IRequest request, IIssueConsumer consumer, IAnalysisStatusNotifier statusNotifier, CancellationToken cancellationToken)