Closed MihaZupan closed 3 months ago
Attention: Patch coverage is 66.66667%
with 1 lines
in your changes are missing coverage. Please review.
Project coverage is 96.48%. Comparing base (
e4d7ea6
) to head (5705f38
).
@CyrusNajmabadi, any idea what's going on here?
Nope. It's a better question for @cston or @333fred
Do we have a dump of the failure?
Here's a memory dump for a build of dotnet build .\src\libraries\System.Formats.Tar\src
with a slightly modified analyzers build right after GetOperation
throws: dump
Let me know if some other info would be more useful
This appears to "resolve" the issue hit in https://github.com/dotnet/runtime/pull/100520 (failures after ingesting #7252)
The issue appears to be that this else block https://github.com/dotnet/roslyn-analyzers/blob/e4d7ea6a967631713630cb1cf02efa7dfc35a8aa/src/NetAnalyzers/CSharp/Microsoft.NetCore.Analyzers/Performance/CSharpUseSearchValues.cs#L115-L120 is now being called with the
@"\/"u8
expression.While this condition will return
false
during theIsConstantByteOrCharCollectionExpression
check,semanticModel.GetOperation(expression)
intermittently fails when buildingSystem.Formats.Tar
(consistently succeeds every second build ?!?).Filtering out the expression kind before the call to
semanticModel.GetOperation
appears to "fix" the issue, but I don't understand whyGetOperation
would be failing like this in the first place 😕 We already have analyzer tests for this pattern (property returning utf8 string literals) that are perfectly happy with the current code, so this appears to be something specific to runtime code somehow.The failing call stack from https://github.com/dotnet/runtime/pull/100520: