dotnet / roslyn

The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.
https://docs.microsoft.com/dotnet/csharp/roslyn-sdk/
MIT License
18.97k stars 4.03k forks source link

String interpolation crash #44789

Closed vsfeedback closed 4 years ago

vsfeedback commented 4 years ago

This issue has been moved from a ticket on Developer Community.


VS crashes all of the time when working with string interpolation.

It usualy crash when opening a ' " ' or a ' ( ' inside a interpolated string. Sometimes, writing ' ) ' before writing the corresponding ' ( ' will work but not the other way around. But I can't do that for ' " '.

Reopening VS after the crash and writing the exact same thing will always produce another crash.


Original Comments

Nicolas Roger on 3/3/2020, 11:52 AM:

I did further tests. I clicked "debug application" when VS 2017 crash. This gave the following additional information:

It looks like the crash is caused by an Out of memory exception happening inside this file:

c:\program files (x86)\microsoft visual studio\2017\professional\common7\ide\commonextensions\microsoft\managedlanguages\vbcsharp\languageservices\Microsoft.CodeAnalysis.Workspaces.dll

My coworker can reproduce my crashes on his computer by typing the exact same thing as me at the same place in the code.

Roi Chen [MSFT] on 3/3/2020, 04:15 PM:

Thank you for taking the time to log this issue!
I’ve tried to reproduce and investigate using the description, and attachments already provided. Unfortunately those aren’t enough and more information is needed in order to investigate it further.
The easiest way to provide all the information is to use the Visual Studio Feedback Tool. This will ensure that we collect the needed information for you without worrying about what to provide (recording, dump file or ETL trace).
Since this issue is now marked as Need More Info, that workflow is enabled in the Feedback Tool:
• Open Visual Studio Feedback tool.
• Click the banner letting you know that you have problems requesting your attention.
• Click this problem from the list
• Click “View their request and respond” from the problem details banner
• Add a comment, in the Attachments/Record: click Start Recording
• When the Steps Recorder tool appears, perform the steps that reproduce the problem.
• When you’re done, choose the Stop Record button.
• Wait a few minutes for Visual Studio to collect and package the information that you recorded.
• Submit. You will be able to see the comment on Developer Community. For security reasons, your files come directly to us and don’t appear on Developer Community.
For the full instructions, please see: https://docs.microsoft.com/en-us/visualstudio/ide/how-to-report-a-problem-with-visual-studio-2017?view=vs-2017#when-further-information-is-needed-need-more-info . For information about what data is collected, see https://docs.microsoft.com/en-us/visualstudio/ide/developer-community-privacy?view=vs-2017#data-we-collect
Get performance issues fixed quicker, please see https://docs.microsoft.com/en-us/visualstudio/ide/how-to-increase-chances-of-performance-issue-being-fixed?view=vs-2019.
We look forward to hearing from you!

Nicolas Roger on 3/5/2020, 00:12 PM:

I sent you the recording.

Nicolas Roger on 3/4/2020, 05:44 AM:

Thank you for your comment Roi.
I don't have admin right on my machine so I can't produce a recording right now. I will ask my IT departement to get the recording for me and get back to you. This might take some time.

Nicolas Roger on 3/4/2020, 09:19 AM:

I did some more testing while waiting for the recording. I have some important information on what is causing the problem:
1- The problem occur only on big file (In my case, the file contain a class with about 22 000 lines of code and about 100 methods). If the file is small, it will NOT crash.
2- The crash will only happen when typing the '(' inside a interpolated string when the interpolated string is near the top of the file! Writing '(' in an interpolated string in the same file but near the bottom will NOT crash.

In my case, following the 2 steps above reproduce the crash every single times.

Nicolas Roger on 3/4/2020, 09:32 AM:

Ok the problem occur even on a standalone .cs file that is not part of a solution. I am ready to send you the file along with the step to reproduce the crash if there is anyway for me to send it securely and privately.

Visual Studio Feedback System on 3/10/2020, 03:36 AM:

We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.

Jialong Cheng [MSFT] on 3/10/2020, 03:28 PM:

Thank you for your feedback!
In order to investigate this issue further, would you please help us capture a process dump for Visual Studio?

  • Close any existing Task Manager instances you have running.
  • Launch Task Manager
    • If you are using a 32-bit OS: Launch from %WINDIR%\system32\Taskmgr.exe
    • If you are on a 64-bit OS: Launch from %WINDIR%\syswow64\taskmgr.exe
  • Find the problematic process in the list
    • Please use Details tab if you’re on Windows 10
  • Right click the process and select ‘Create dump file’
  • ZIP the resulting file
  • You can reply to this feedback and attach the DMP file using the attach button.

We look forward to hearing from you!

Nicolas Roger on 3/11/2020, 05:55 AM:

Hi,
Ok I started Visual studio, made it crash (But didn't close it when asked), then made some dump files. I join a dump from devenv.DMP (The problematic process), but I also join a dump from "ServiceHub.RoslynCodeAnalysisService32.DMP" just in case it might be useful.

Nicolas Roger on 3/11/2020, 06:06 AM:

I forgot to ZIP the files in my last reply. Here, I send you the same files but zipped.

Visual Studio Feedback System on 3/11/2020, 10:07 AM:

We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.

Visual Studio Feedback System on 4/10/2020, 00:54 AM:

I have detected that for the last 35 days, this issue didn't have much product team activity and a very small amount of new votes or comments. Based on this, its severity, and affected area, it’s my experience that this issue is very unlikely to be fixed.

Nicolas Roger on 4/14/2020, 05:24 AM:

The exact same crash is happening in visual studio 2019. So you might want to investigate this further. Correcting this bug for visual studio 2017 is not a waste of time as it will also also help visual studio 2019.

Also, your last reply seems like an automated replay. Is there an official answer from the engineering team as to why this won't be fixed? Severity of the bug is very high as it crashes the software every single time.

Like I said above, I am willing to provide the source code responsible for the crash. You will be able to run all the tests you want with it.


Original Solutions

(no solutions)

nRoger-Env commented 4 years ago

I will be following my issue from here now. Thank you.

CyrusNajmabadi commented 4 years ago

Can you provide a repro @nRoger-Env ? You say it happens when you do this at the top of a file. Can you supply that file to us?

nRoger-Env commented 4 years ago

Yes I can provide a repro and the file. But I need to make sure the file won't be seen publicly. I am new to Github, can you share with me a way to do this here?

CyrusNajmabadi commented 4 years ago

You can email it to me. cyrus.najmabadi@gmail.com. Ideally with repro steps that explain how to make it crash. Thanks.

nRoger-Env commented 4 years ago

I sent you an email. The reproduction steps are in the email but I will copy them here also: Step to reproduce crash (100% reproduction rate on my machine) :

  1. Open the file string_interpolation_crash.cs with visual studio 2017 (I also crash with visual studio 2019, but let's not mix things up for now). The file does not have to be part of a Project. It will crash with or without my Project.
  2. Go to line 1463. You will see this line: using (TextWriter textWriter = new StreamWriter($@"{VarGlobales.dossierInstall}\Canevas\CONSULTATION.TXT", false, Encoding.UTF8))
  3. Place the cursor right of "VarGlobales" and write "(" so that the line become : using (TextWriter textWriter = new StreamWriter($@"{VarGlobales(.dossierInstall}\Canevas\CONSULTATION.TXT", false, Encoding.UTF8))
  4. Wait some seconds for the crash to occur. It usualy occur in less than 5 seconds.

Notes: It will also crash if you try this on line 1425 or other similar line near the top of the file. But, it won't crash if you do the same to line 21518, for exemple, as this line is near the bottom of the file.

CyrusNajmabadi commented 4 years ago

Ok.  It repros for me.  Investigating.

CyrusNajmabadi commented 4 years ago

@gafter @jaredpar Looks to be an OOM in interpolated string parsing. Devenv OOMs with this stack:

``` Application: ServiceHub.RoslynCodeAnalysisService32.exe Framework Version: v4.0.30319 Description: The application requested process termination through System.Environment.FailFast(string message). Message: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown. at System.String.CtorCharArrayStartLength(Char[] value, Int32 startIndex, Int32 length) at Roslyn.Utilities.StringTable.Add(Char[] chars, Int32 start, Int32 len) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SlidingTextWindow.GetText(Int32 position, Int32 length, Boolean intern) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.ScanStringLiteral(TokenInfo& info, Boolean allowEscapes) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.InterpolatedStringScanner.ScanInterpolatedStringLiteralHoleBalancedText(Char endingChar, Boolean isHole, Int32& colonPosition) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.InterpolatedStringScanner.ScanInterpolatedStringLiteralHoleBalancedText(Char endingChar, Boolean isHole, Int32& colonPosition) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.InterpolatedStringScanner.ScanInterpolatedStringLiteralHoleBalancedText(Char endingChar, Boolean isHole, Int32& colonPosition) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.InterpolatedStringScanner.ScanInterpolatedStringLiteralHoleBalancedText(Char endingChar, Boolean isHole, Int32& colonPosition) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.InterpolatedStringScanner.ScanInterpolatedStringLiteralHoleBalancedText(Char endingChar, Boolean isHole, Int32& colonPosition) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.InterpolatedStringScanner.ScanInterpolatedStringLiteralHoleBalancedText(Char endingChar, Boolean isHole, Int32& colonPosition) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.InterpolatedStringScanner.ScanInterpolatedStringLiteralHoleBalancedText(Char endingChar, Boolean isHole, Int32& colonPosition) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.InterpolatedStringScanner.ScanInterpolatedStringLiteralHoleBalancedText(Char endingChar, Boolean isHole, Int32& colonPosition) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.InterpolatedStringScanner.ScanInterpolatedStringLiteralHoleBalancedText(Char endingChar, Boolean isHole, Int32& colonPosition) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.InterpolatedStringScanner.ScanInterpolatedStringLiteralContents(ArrayBuilder`1 interpolations) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.InterpolatedStringScanner.ScanInterpolatedStringLiteralTop(ArrayBuilder`1 interpolations, TokenInfo& info, Boolean& closeQuoteMissing) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.ScanInterpolatedStringLiteralTop(ArrayBuilder`1 interpolations, Boolean isVerbatim, TokenInfo& info, SyntaxDiagnosticInfo& error, Boolean& closeQuoteMissing) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.ScanInterpolatedStringLiteral(Boolean isVerbatim, TokenInfo& info) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.ScanSyntaxToken(TokenInfo& info) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.LexSyntaxToken() at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.Lexer.Lex(LexerMode mode) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser.AddNewToken() at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.SyntaxParser.FetchCurrentToken() at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseArgumentList(SyntaxToken& openToken, SeparatedSyntaxList`1& arguments, SyntaxToken& closeToken, SyntaxKind openKind, SyntaxKind closeKind) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseParenthesizedArgumentList() at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseArrayOrObjectCreationExpression() at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseNewExpression() at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseTerm(Precedence precedence) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseSubExpressionCore(Precedence precedence) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseSubExpression(Precedence precedence) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseVariableInitializer() at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseVariableDeclarator(TypeSyntax parentType, VariableFlags flags, Boolean isFirst, Boolean allowLocalFunctions, SyntaxList`1 attributes, SyntaxList`1 mods, LocalFunctionStatementSyntax& localFunction, Boolean isExpressionContext) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseVariableDeclarators(TypeSyntax type, VariableFlags flags, SeparatedSyntaxListBuilder`1 variables, Boolean variableDeclarationsExpected, Boolean allowLocalFunctions, SyntaxList`1 attributes, SyntaxList`1 mods, LocalFunctionStatementSyntax& localFunction) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseLocalDeclaration(SeparatedSyntaxListBuilder`1 variables, Boolean allowLocalFunctions, SyntaxList`1 attributes, SyntaxList`1 mods, TypeSyntax& type, LocalFunctionStatementSyntax& localFunction) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseVariableDeclaration() at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseUsingExpression(VariableDeclarationSyntax& declaration, ExpressionSyntax& expression, ResetPoint& resetPoint) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseUsingStatement(SyntaxList`1 attributes, SyntaxToken awaitTokenOpt) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseStatementStartingWithUsing(SyntaxList`1 attributes) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseStatementCore(SyntaxList`1 attributes, Boolean isGlobalScriptLevel) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseStatements(CSharpSyntaxNode& previousNode, SyntaxListBuilder`1 statements, Boolean stopOnSwitchSections) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseMethodOrAccessorBodyBlock(SyntaxList`1 attributes, Boolean isAccessorBody) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseBlockAndExpressionBodiesWithSemicolon(BlockSyntax& blockBody, ArrowExpressionClauseSyntax& expressionBody, SyntaxToken& semicolon, Boolean parseSemicolonAfterBlock, MessageID requestedExpressionBodyFeature) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseMethodDeclaration(SyntaxList`1 attributes, SyntaxListBuilder modifiers, TypeSyntax type, ExplicitInterfaceSpecifierSyntax explicitInterfaceOpt, SyntaxToken identifier, TypeParameterListSyntax typeParameterList) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseMemberDeclarationOrStatementCore(SyntaxKind parentKind) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseMemberDeclarationOrStatement(SyntaxKind parentKind) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseClassOrStructOrInterfaceDeclaration(SyntaxList`1 attributes, SyntaxListBuilder modifiers) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseTypeDeclaration(SyntaxList`1 attributes, SyntaxListBuilder modifiers) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseMemberDeclarationOrStatementCore(SyntaxKind parentKind) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseMemberDeclarationOrStatement(SyntaxKind parentKind) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseNamespaceBody(SyntaxToken& openBrace, NamespaceBodyBuilder& body, SyntaxListBuilder& initialBadNodes, SyntaxKind parentKind) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseNamespaceDeclarationCore(SyntaxList`1 attributeLists, SyntaxListBuilder modifiers) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseNamespaceDeclaration(SyntaxList`1 attributeLists, SyntaxListBuilder modifiers) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseNamespaceBody(SyntaxToken& openBrace, NamespaceBodyBuilder& body, SyntaxListBuilder& initialBadNodes, SyntaxKind parentKind) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseCompilationUnitCore() at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseWithStackGuard[TNode](Func`1 parseFunc, Func`1 createEmptyNodeFunc) at Microsoft.CodeAnalysis.CSharp.Syntax.InternalSyntax.LanguageParser.ParseCompilationUnit() at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxTree.WithChanges(SourceText newText, IReadOnlyList`1 changes) at Microsoft.CodeAnalysis.CSharp.CSharpSyntaxTree.WithChangedText(SourceText newText) at Microsoft.CodeAnalysis.DocumentState.IncrementallyParse(TextAndVersion newTextAndVersion, TreeAndVersion oldTreeAndVersion, CancellationToken cancellationToken) at Microsoft.CodeAnalysis.DocumentState.d__24.MoveNext() ```

My guess is that the parser somehow gets out of the string, and starting allocating the rest of the progam into the string literal. This would likely explain why it only reproes for the customer early in the file and not later.

The code in question looks like:

using (TextWriter textWriter = new StreamWriter($@"{VarGlobales.dossierInstall}\Canevas\CONSULTATION.TXT", false, Encoding.UTF8))
{
}

Adding an ( after VarGlobales immediately triggers the issue. i.e. updating hte above to:

using (TextWriter textWriter = new StreamWriter($@"{VarGlobales(.dossierInstall}\Canevas\CONSULTATION.TXT", false, Encoding.UTF8))
{
}

Again, this only reproes early in a large file (20k lines, 1.6MB in this case), and not later, indicating some runaway scanning/parsing/allcation that is dependent on how much of hte file follows the interpolated string.

CyrusNajmabadi commented 4 years ago

@gafter @jaredpar internal issue, with repro file can be found at: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1135360/

smdonsos commented 4 years ago

This issue has been moved from a ticket on Developer Community.

VS crashes all of the time when working with string interpolation.

It usualy crash when opening a ' " ' or a ' ( ' inside a interpolated string. Sometimes, writing ' ) ' before writing the corresponding ' ( ' will work but not the other way around. But I can't do that for ' " '.

Reopening VS after the crash and writing the exact same thing will always produce another crash.

Original Comments

Nicolas Roger on 3/3/2020, 11:52 AM:

I did further tests. I clicked "debug application" when VS 2017 crash. This gave the following additional information:

It looks like the crash is caused by an Out of memory exception happening inside this file:

c:\program files (x86)\microsoft visual studio\2017\professional\common7\ide\commonextensions\microsoft\managedlanguages\vbcsharp\languageservices\Microsoft.CodeAnalysis.Workspaces.dll

My coworker can reproduce my crashes on his computer by typing the exact same thing as me at the same place in the code.

Roi Chen [MSFT] on 3/3/2020, 04:15 PM:

Thank you for taking the time to log this issue! I’ve tried to reproduce and investigate using the description, and attachments already provided. Unfortunately those aren’t enough and more information is needed in order to investigate it further. The easiest way to provide all the information is to use the Visual Studio Feedback Tool. This will ensure that we collect the needed information for you without worrying about what to provide (recording, dump file or ETL trace). Since this issue is now marked as Need More Info, that workflow is enabled in the Feedback Tool: • Open Visual Studio Feedback tool. • Click the banner letting you know that you have problems requesting your attention. • Click this problem from the list • Click “View their request and respond” from the problem details banner • Add a comment, in the Attachments/Record: click Start Recording • When the Steps Recorder tool appears, perform the steps that reproduce the problem. • When you’re done, choose the Stop Record button. • Wait a few minutes for Visual Studio to collect and package the information that you recorded. • Submit. You will be able to see the comment on Developer Community. For security reasons, your files come directly to us and don’t appear on Developer Community. For the full instructions, please see: https://docs.microsoft.com/en-us/visualstudio/ide/how-to-report-a-problem-with-visual-studio-2017?view=vs-2017#when-further-information-is-needed-need-more-info . For information about what data is collected, see https://docs.microsoft.com/en-us/visualstudio/ide/developer-community-privacy?view=vs-2017#data-we-collect Get performance issues fixed quicker, please see https://docs.microsoft.com/en-us/visualstudio/ide/how-to-increase-chances-of-performance-issue-being-fixed?view=vs-2019. We look forward to hearing from you!

Nicolas Roger on 3/5/2020, 00:12 PM:

I sent you the recording.

Nicolas Roger on 3/4/2020, 05:44 AM:

Thank you for your comment Roi. I don't have admin right on my machine so I can't produce a recording right now. I will ask my IT departement to get the recording for me and get back to you. This might take some time.

Nicolas Roger on 3/4/2020, 09:19 AM:

I did some more testing while waiting for the recording. I have some important information on what is causing the problem: 1- The problem occur only on big file (In my case, the file contain a class with about 22 000 lines of code and about 100 methods). If the file is small, it will NOT crash. 2- The crash will only happen when typing the '(' inside a interpolated string when the interpolated string is near the top of the file! Writing '(' in an interpolated string in the same file but near the bottom will NOT crash.

In my case, following the 2 steps above reproduce the crash every single times.

Nicolas Roger on 3/4/2020, 09:32 AM:

Ok the problem occur even on a standalone .cs file that is not part of a solution. I am ready to send you the file along with the step to reproduce the crash if there is anyway for me to send it securely and privately.

Visual Studio Feedback System on 3/10/2020, 03:36 AM:

We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.

Jialong Cheng [MSFT] on 3/10/2020, 03:28 PM:

Thank you for your feedback! In order to investigate this issue further, would you please help us capture a process dump for Visual Studio?

  • Close any existing Task Manager instances you have running.
  • Launch Task Manager

    • If you are using a 32-bit OS: Launch from %WINDIR%\system32\Taskmgr.exe
    • If you are on a 64-bit OS: Launch from %WINDIR%\syswow64\taskmgr.exe
  • Find the problematic process in the list

    • Please use Details tab if you’re on Windows 10
  • Right click the process and select ‘Create dump file’
  • ZIP the resulting file
  • You can reply to this feedback and attach the DMP file using the attach button.

We look forward to hearing from you!

Nicolas Roger on 3/11/2020, 05:55 AM:

Hi, Ok I started Visual studio, made it crash (But didn't close it when asked), then made some dump files. I join a dump from devenv.DMP (The problematic process), but I also join a dump from "ServiceHub.RoslynCodeAnalysisService32.DMP" just in case it might be useful.

Nicolas Roger on 3/11/2020, 06:06 AM:

I forgot to ZIP the files in my last reply. Here, I send you the same files but zipped.

Visual Studio Feedback System on 3/11/2020, 10:07 AM:

We have directed your feedback to the appropriate engineering team for further evaluation. The team will review the feedback and notify you about the next steps.

Visual Studio Feedback System on 4/10/2020, 00:54 AM:

I have detected that for the last 35 days, this issue didn't have much product team activity and a very small amount of new votes or comments. Based on this, its severity, and affected area, it’s my experience that this issue is very unlikely to be fixed.

Nicolas Roger on 4/14/2020, 05:24 AM:

The exact same crash is happening in visual studio 2019. So you might want to investigate this further. Correcting this bug for visual studio 2017 is not a waste of time as it will also also help visual studio 2019.

Also, your last reply seems like an automated replay. Is there an official answer from the engineering team as to why this won't be fixed? Severity of the bug is very high as it crashes the software every single time.

Like I said above, I am willing to provide the source code responsible for the crash. You will be able to run all the tests you want with it.

Original Solutions

(no solutions)

Hello, I'm also having issues with interpolation in Visual Studio 2019, the big difference here is that my class has doesn't have more than 4k lines, in my case, when I do string interpolation, VS will close not sending any message.

Why this ticket was closed?

gafter commented 4 years ago

Why this ticket was closed?

It was closed because the issue was fixed for 16.7.