dotnet / project-system

The .NET Project System for Visual Studio
MIT License
970 stars 389 forks source link

F# project referencing C# project, rename the file of C# project VS crashed. #3396

Closed ghost closed 6 years ago

ghost commented 6 years ago

Repro steps:

  1. Create a new F# .net core console app project;
  2. Add a new C# .net standard classlib project;
  3. Add a reference from the F# project to the C# project.
  4. Rename the Class1.cs file of the C# project, VS crashed. Note: Repro Machine: CLRVM49256 Please see the .DMP file from C:\Users\CORBVT\Documents\devenv.DMP on the repro machine. image

Related information:

VS build: D15.7/27515.00 (15.7 Preview 2) dotnet --info:

.NET Command Line Tools (2.1.100)

Product Information:
 Version:            2.1.100
 Commit SHA-1 hash:  b9e74c6520

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.16299
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.100\

Microsoft .NET Core Shared Framework Host

  Version  : 2.0.5
  Build    : 17373eb129b3b05aa18ece963f8795d65ef8ea54
Pilchie commented 6 years ago

Copied dumpfile to \\ddfiles\team\public\kevinpi\3396.DMP. @Xiu-Li in future, please copy dump files to a share and ideally include the callstack of the crashing thread.

Callstack:

0:000> !PrintException /d 23f53308
Exception object: 23f53308
Exception type:   System.NullReferenceException
Message:          Object reference not set to an instance of an object.
InnerException:   <none>
StackTrace (generated):
    SP       IP       Function
    1051E9BC 13CF50DE Microsoft_CodeAnalysis_Workspaces!Microsoft.CodeAnalysis.FindSymbols.Finders.ConstructorSymbolReferenceFinder+<DetermineDocumentsToSearchAsync>d__3.MoveNext()+0x296
    1051EB10 6A529E58 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x64
    1051EB20 6A5258BA mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3e
    1051EB2C 13CF3FBB Microsoft_CodeAnalysis_Workspaces!Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine+<CreateProjectToDocumentMapAsync>d__17.MoveNext()+0x41b
    1051ED20 6A529E58 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x64
    1051ED30 6A5258BA mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3e
    1051ED3C 144CF93B Microsoft_CodeAnalysis_Workspaces!Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine+<FindReferencesAsync>d__10.MoveNext()+0x4db
    1051ED34 6ADF4CA7 mscorlib_ni!System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()+0x1b
    1051ED3C 144CFB64 Microsoft_CodeAnalysis_Workspaces!Microsoft.CodeAnalysis.FindSymbols.FindReferencesSearchEngine+<FindReferencesAsync>d__10.MoveNext()+0x704
    1051EA48 6A529E58 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x64
    1051EA58 6A5258BA mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3e
    1051EA64 23C5706C Microsoft_CodeAnalysis_Workspaces!Microsoft.CodeAnalysis.FindSymbols.SymbolFinder+<FindRenamableReferencesAsync>d__32.MoveNext()+0x1ac
    1051E724 6A529E58 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x64
    1051E734 6A5258BA mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3e
    1051E740 23C56410 Microsoft_CodeAnalysis_Workspaces!Microsoft.CodeAnalysis.Rename.RenameLocations+<AddLocationsReferenceSymbolsAsync>d__30.MoveNext()+0x190
    1051E408 6A529E58 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x64
    1051E418 6A5258BA mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3e
    1051E424 23C53E6B Microsoft_CodeAnalysis_Workspaces!Microsoft.CodeAnalysis.Rename.RenameLocations+<FindAsync>d__26.MoveNext()+0x2bb
    1051E110 6A529E58 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x64
    1051E120 6A5258BA mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3e
    1051E12C 23C52E6F Microsoft_CodeAnalysis_Workspaces!Microsoft.CodeAnalysis.Rename.Renamer+<RenameSymbolAsync>d__4.MoveNext()+0x157
    1051DDCC 6A529E58 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x64
    1051DDDC 6A5258BA mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3e
    1051DDE8 6A52585A mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task)+0x1a
    1051DDEC 0C295340 Microsoft_VisualStudio_ProjectSystem_Managed_VS!Microsoft.VisualStudio.ProjectSystem.VS.Rename.SimpleRenameStrategy+<GetRenamedSolutionAsync>d__3.MoveNext()+0x618
    1051DAC4 6A529E58 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x64
    1051DAD4 6A5258BA mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3e
    1051DAE0 0C29424A Microsoft_VisualStudio_ProjectSystem_Managed_VS!Microsoft.VisualStudio.ProjectSystem.VS.Rename.SimpleRenameStrategy+<RenameAsync>d__2.MoveNext()+0x102
    1051D7D0 6A529E58 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x64
    1051D7E0 6A5258BA mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3e
    1051D7EC 0C265F90 Microsoft_VisualStudio_ProjectSystem_Managed_VS!Microsoft.VisualStudio.ProjectSystem.VS.Rename.Renamer+<RenameAsync>d__13.MoveNext()+0x1b8
    1051D4D8 6A529E58 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x64
    1051D4E8 6A5258BA mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3e
    1051D4F4 6A52585A mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task)+0x1a
    1051D4F8 0C264FD1 Microsoft_VisualStudio_ProjectSystem_Managed_VS!Microsoft.VisualStudio.ProjectSystem.VS.Rename.Renamer+<OnWorkspaceChangedAsync>d__12.MoveNext()+0x3a1
    00F3F144 6AE4FCED mscorlib_ni!System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0(System.Object)+0x35
    00F3F14C 67E593D4 WindowsBase_ni!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)+0x84
    00F3F16C 67E592E4 WindowsBase_ni!System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)+0x34
    00F3F1B0 67E5BAC2 WindowsBase_ni!System.Windows.Threading.DispatcherOperation.InvokeImpl()+0xd2
    00F3F1E8 67E5B9EC WindowsBase_ni!System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)+0x3c
    00F3F1F0 680204EB WindowsBase_ni!MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)+0x3f
    00F3F204 6A59BDA5 mscorlib_ni!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+0xe5
    00F3F270 6A59BCB6 mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+0x16
    00F3F284 6A59BC71 mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)+0x41
    00F3F29C 680EAD33 WindowsBase_ni!MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)+0x28f593
    00F3F2CC 67E5B6AE WindowsBase_ni!System.Windows.Threading.DispatcherOperation.Invoke()+0x4e
    00F3F300 67E57D25 WindowsBase_ni!System.Windows.Threading.Dispatcher.ProcessQueue()+0x165
    00F3F340 67E57F1A WindowsBase_ni!System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)+0x5a
    00F3F38C 67E595CB WindowsBase_ni!MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)+0x9b
    00F3F3C8 67E5951B WindowsBase_ni!MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)+0x6b
    00F3F3D8 67E593A2 WindowsBase_ni!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)+0x52
    00F3F3F8 67E592E4 WindowsBase_ni!System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)+0x34
    00F3F43C 67E578D1 WindowsBase_ni!System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)+0x131
    00F3F498 67E58DEE WindowsBase_ni!MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)+0xee
Pilchie commented 6 years ago

This issue was moved to dotnet/roslyn#25655