I have had a couple of crashes recently when using PHP Tools with VS2019 (Pro - Version 16.7.5). On the second occasion (which is the first of the traces below), I was literally doing nothing and was looking at a different application when VS crashed.
The event Viewer output is below in case it is helpful. I did try looking for the files mentioned in the associated Windows Error Reporting events but unfortunately they do not seem to exist.
1 =====================================================================
Application: devenv.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
at System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(System.RuntimeType)
at System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(System.RuntimeType)
at System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(System.RuntimeType, System.Object[], Boolean)
at System.RuntimeTypeHandle.CreateInstance(System.RuntimeType, Boolean, Boolean, Boolean ByRef, System.RuntimeMethodHandleInternal ByRef, Boolean ByRef)
at System.RuntimeType.CreateInstanceSlow(Boolean, Boolean, Boolean, System.Threading.StackCrawlMark ByRef)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean, Boolean, Boolean, System.Threading.StackCrawlMark ByRef)
at System.Activator.CreateInstance[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]()
at Microsoft.Web.Administration.ConfigurationManager.CreateAdminManager[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Microsoft.Web.Administration.WebConfigurationMap, Boolean, Boolean)
at Microsoft.Web.Administration.ConfigurationManager.CreateWritableAdminManager(Microsoft.Web.Administration.WebConfigurationMap, System.String, Boolean, Boolean)
at Microsoft.Web.Administration.ConfigurationManager.CreateConfiguration(Microsoft.Web.Administration.WebConfigurationMap, System.String, Boolean, Boolean)
at Microsoft.Web.Administration.ConfigurationManager.GetWebConfiguration(Microsoft.Web.Administration.WebConfigurationMap, System.String)
at Devsense.PHP.Config.IISExpress.ServerManagerWrapper.GetConfiguration()
at Devsense.PHP.Config.IISExpress.ServerManagerWrapper.GetHandlersSection()
at Devsense.PHP.Config.IISExpress.IISConfigHelper.Initialize()
at Devsense.PHP.Nodes.Environments.IIS.IISServerConfiguration.Initialize()
at Devsense.PHP.Nodes.Environments.IIS.IISServerConfiguration.get_ConfigHelper()
at Devsense.PHP.Nodes.Environments.Config.PhpBaseConfiguration.GetPHPIniSettings()
at Devsense.PHP.Nodes.Environments.IIS.IISExpressEnvironment.get_AllowShortTags()
at
.
(Devsense.PHP.Nodes.Environments.IPhpEnvironment, Boolean ByRef)
at
.
(Devsense.PHP.Nodes.Environments.IPhpEnvironment)
at
.get_LanguageFeatures()
at PHP.VisualStudio.Language.Editor.TextDocumentExtension.GetPhpLanguageFeatures(Microsoft.VisualStudio.Text.ITextDocument)
at Devsense.VisualStudio.Editor.Htmlx.Artifacts.PhpLanguageArtifactProcessor.get_TokenizerFeatures()
at Devsense.VisualStudio.Editor.Htmlx.Artifacts.PhpLanguageArtifactProcessor.GetPhpArtifacts(System.String, Microsoft.WebTools.Languages.Html.Artifacts.ArtifactCollection)
at Devsense.VisualStudio.Editor.Htmlx.Artifacts.PhpLanguageArtifactProcessor.GetArtifacts(Microsoft.WebTools.Languages.Shared.Text.ITextProvider, Microsoft.WebTools.Languages.Html.Artifacts.ArtifactCollection)
at Microsoft.WebTools.Languages.Html.Artifacts.ArtifactCollection.Build(Microsoft.WebTools.Languages.Shared.Text.ITextProvider)
at Microsoft.WebTools.Languages.Html.Editor.Tree.TreeUpdateTask.ProcessTextChanges(Microsoft.WebTools.Languages.Html.Editor.Tree.TextChange, Boolean, System.Func`1<Boolean>)
at Microsoft.WebTools.Languages.Html.Editor.Tree.TreeUpdateTask+<>c__DisplayClass44_0.<ProcessPendingTextBufferChanges>b__0(System.Func`1<Boolean>)
at Microsoft.WebTools.Languages.Shared.Editor.Tasks.CancellableTask+<>c__DisplayClass7_0.<Run>b__0(System.Object)
at System.Threading.Tasks.Task.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
at System.Threading.Tasks.Task.ExecutionContextCallback(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
2 =====================================================================
Application: devenv.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
at System.Runtime.Remoting.RemotingServices.AllocateUninitializedObject(System.RuntimeType)
at System.Runtime.Remoting.Activation.ActivationServices.CreateInstance(System.RuntimeType)
at System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(System.RuntimeType, System.Object[], Boolean)
at System.RuntimeTypeHandle.CreateInstance(System.RuntimeType, Boolean, Boolean, Boolean ByRef, System.RuntimeMethodHandleInternal ByRef, Boolean ByRef)
at System.RuntimeType.CreateInstanceSlow(Boolean, Boolean, Boolean, System.Threading.StackCrawlMark ByRef)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean, Boolean, Boolean, System.Threading.StackCrawlMark ByRef)
at System.Activator.CreateInstance[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]()
at Microsoft.Web.Administration.ConfigurationManager.CreateAdminManager[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Microsoft.Web.Administration.WebConfigurationMap, Boolean, Boolean)
at Microsoft.Web.Administration.ConfigurationManager.CreateWritableAdminManager(Microsoft.Web.Administration.WebConfigurationMap, System.String, Boolean, Boolean)
at Microsoft.Web.Administration.ConfigurationManager.CreateConfiguration(Microsoft.Web.Administration.WebConfigurationMap, System.String, Boolean, Boolean)
at Microsoft.Web.Administration.ConfigurationManager.GetWebConfiguration(Microsoft.Web.Administration.WebConfigurationMap, System.String)
at Devsense.PHP.Config.IISExpress.ServerManagerWrapper.GetConfiguration()
at Devsense.PHP.Config.IISExpress.ServerManagerWrapper.GetHandlersSection()
at Devsense.PHP.Config.IISExpress.IISConfigHelper.Initialize()
at Devsense.PHP.Nodes.Environments.IIS.IISServerConfiguration.Initialize()
at Devsense.PHP.Nodes.Environments.IIS.IISServerConfiguration.get_ConfigHelper()
at Devsense.PHP.Nodes.Environments.Config.PhpBaseConfiguration.GetPHPIniSettings()
at Devsense.PHP.Nodes.Environments.IIS.IISExpressEnvironment.get_AllowShortTags()
at
.
(Devsense.PHP.Nodes.Environments.IPhpEnvironment, Boolean ByRef)
at
.
(Devsense.PHP.Nodes.Environments.IPhpEnvironment)
at
.get_LanguageFeatures()
at
.
(PHP.VisualStudio.Language.Nodes.Project.IProjectContainer, System.String, System.String, Boolean, Devsense.PHP.Errors.IErrorSink`1<Devsense.PHP.Text.Span>, PHP.VisualStudio.Language.Ast.AstSourceUnit ByRef, PHP.VisualStudio.Language.Ast.PhpNodesFactory ByRef)
at
.
(PHP.VisualStudio.Language.Nodes.Project.IProjectContainer, System.String, System.String, Devsense.PHP.ControlFlow.Analysis.Errors.CommonError[] ByRef)
at
.InvokeTask()
at PHP.VisualStudio.Language.TaskQueue+
.
()
at PHP.VisualStudio.Language.TaskQueue.
()
at System.Threading.ThreadHelper.ThreadStart_Context(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.ThreadHelper.ThreadStart()