Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VS 2017 RC3 crashes somewhere in Microsoft.CodeAnalysis.Workspaces.dll #16900

Closed
vasily-kirichenko opened this issue Feb 2, 2017 · 28 comments
Closed
Assignees
Labels
Area-Analyzers Bug Needs Shiproom Approval Tenet-Reliability Customer telemetry indicates that the product is failing in a crash/hang/dataloss manner.
Milestone

Comments

@vasily-kirichenko
Copy link

 	Microsoft.CodeAnalysis.Workspaces.dll!Roslyn.Utilities.TaskExtensions.ReportFatalErrorWorker(System.Threading.Tasks.Task task, object continuationFunction)	Unknown
 	mscorlib.dll!System.Threading.Tasks.ContinuationTaskFromTask.InnerInvoke()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.Execute()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.ExecutionContextCallback(object obj)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.ExecuteWithThreadLocal(ref System.Threading.Tasks.Task currentTaskSlot)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.ExecuteEntry(bool bPreventDoubleExecution)	Unknown
 	mscorlib.dll!System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task task, bool taskWasPreviouslyQueued)	Unknown
 	mscorlib.dll!System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task task, bool taskWasPreviouslyQueued)	Unknown
 	mscorlib.dll!System.Threading.Tasks.TaskContinuation.InlineIfPossibleOrElseQueue(System.Threading.Tasks.Task task, bool needsProtection)	Unknown
 	mscorlib.dll!System.Threading.Tasks.StandardTaskContinuation.Run(System.Threading.Tasks.Task completedTask, bool bCanInlineContinuationTask)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageThree()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageTwo()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.Finish(bool bUserDelegateExecuted)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task<System.Threading.Tasks.TaskExtensions.VoidResult>.TrySetException(object exceptionObject)	Unknown
 	mscorlib.dll!System.Threading.Tasks.UnwrapPromise<System.Threading.Tasks.TaskExtensions.VoidResult>.TrySetFromTask(System.Threading.Tasks.Task task, bool lookForOce)	Unknown
 	mscorlib.dll!System.Threading.Tasks.UnwrapPromise<System.Threading.Tasks.TaskExtensions.VoidResult>.InvokeCore(System.Threading.Tasks.Task completingTask)	Unknown
 	mscorlib.dll!System.Threading.Tasks.UnwrapPromise<System.Threading.Tasks.TaskExtensions.VoidResult>.Invoke(System.Threading.Tasks.Task completingTask)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageThree()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageTwo()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.Finish(bool bUserDelegateExecuted)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task<System.Threading.Tasks.VoidTaskResult>.TrySetException(object exceptionObject)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Threading.Tasks.VoidTaskResult>.SetException(System.Exception exception)	Unknown
 	Microsoft.CodeAnalysis.Features.dll!Microsoft.CodeAnalysis.SolutionCrawler.IdleProcessor.ProcessAsync()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(object stateMachine)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.OutputAsyncCausalityEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, ref System.Threading.Tasks.Task currentTask)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageThree()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageTwo()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.Finish(bool bUserDelegateExecuted)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task<System.Threading.Tasks.VoidTaskResult>.TrySetException(object exceptionObject)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Threading.Tasks.VoidTaskResult>.SetException(System.Exception exception)	Unknown
 	Microsoft.VisualStudio.LanguageServices.dll!Microsoft.VisualStudio.LanguageServices.Remote.RemoteHostClientServiceFactory.SolutionChecksumUpdater.ExecuteAsync()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(object stateMachine)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.OutputAsyncCausalityEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, ref System.Threading.Tasks.Task currentTask)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageThree()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageTwo()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.Finish(bool bUserDelegateExecuted)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task<System.Threading.Tasks.VoidTaskResult>.TrySetException(object exceptionObject)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Threading.Tasks.VoidTaskResult>.SetException(System.Exception exception)	Unknown
 	Microsoft.VisualStudio.LanguageServices.dll!Microsoft.VisualStudio.LanguageServices.Remote.RemoteHostClientServiceFactory.SolutionChecksumUpdater.SynchronizePrimaryWorkspaceAsync(System.Threading.CancellationToken cancellationToken)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(object stateMachine)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.OutputAsyncCausalityEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, ref System.Threading.Tasks.Task currentTask)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageThree()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageTwo()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.Finish(bool bUserDelegateExecuted)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task<System.__Canon>.TrySetException(object exceptionObject)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<Microsoft.CodeAnalysis.Remote.RemoteHostClient.Session>.SetException(System.Exception exception)	Unknown
 	Microsoft.CodeAnalysis.Workspaces.dll!Microsoft.CodeAnalysis.Remote.RemoteHostClient.CreateServiceSessionAsync(string serviceName, Microsoft.CodeAnalysis.Solution solution, object callbackTarget, System.Threading.CancellationToken cancellationToken)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(object stateMachine)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.OutputAsyncCausalityEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, ref System.Threading.Tasks.Task currentTask)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageThree()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageTwo()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.Finish(bool bUserDelegateExecuted)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task<System.__Canon>.TrySetException(object exceptionObject)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<Microsoft.CodeAnalysis.Remote.RemoteHostClient.Session>.SetException(System.Exception exception)	Unknown
 	Microsoft.VisualStudio.LanguageServices.Next.dll!Microsoft.VisualStudio.LanguageServices.Remote.ServiceHubRemoteHostClient.CreateServiceSessionAsync(string serviceName, Microsoft.CodeAnalysis.Execution.PinnedRemotableDataScope snapshot, object callbackTarget, System.Threading.CancellationToken cancellationToken)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(object stateMachine)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.OutputAsyncCausalityEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, ref System.Threading.Tasks.Task currentTask)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageThree()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageTwo()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.Finish(bool bUserDelegateExecuted)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task<System.__Canon>.TrySetException(object exceptionObject)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<Microsoft.VisualStudio.LanguageServices.Remote.JsonRpcSession>.SetException(System.Exception exception)	Unknown
 	Microsoft.VisualStudio.LanguageServices.Next.dll!Microsoft.VisualStudio.LanguageServices.Remote.JsonRpcSession.CreateAsync(Microsoft.CodeAnalysis.Execution.PinnedRemotableDataScope snapshot, System.IO.Stream snapshotStream, object callbackTarget, System.IO.Stream serviceStream, System.Threading.CancellationToken cancellationToken)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(object stateMachine)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.OutputAsyncCausalityEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, ref System.Threading.Tasks.Task currentTask)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageThree()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageTwo()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.Finish(bool bUserDelegateExecuted)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task<System.Threading.Tasks.VoidTaskResult>.TrySetException(object exceptionObject)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Threading.Tasks.VoidTaskResult>.SetException(System.Exception exception)	Unknown
 	Microsoft.VisualStudio.LanguageServices.Next.dll!Microsoft.VisualStudio.LanguageServices.Remote.JsonRpcSession.InitializeAsync()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(object stateMachine)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.OutputAsyncCausalityEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, ref System.Threading.Tasks.Task currentTask)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageThree()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageTwo()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.Finish(bool bUserDelegateExecuted)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task<System.Threading.Tasks.VoidTaskResult>.TrySetException(object exceptionObject)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.Threading.Tasks.VoidTaskResult>.SetException(System.Exception exception)	Unknown
 	Microsoft.VisualStudio.LanguageServices.Next.dll!Microsoft.VisualStudio.LanguageServices.Remote.JsonRpcClient.InvokeAsync(string targetName, object[] arguments)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(object stateMachine)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.OutputAsyncCausalityEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, ref System.Threading.Tasks.Task currentTask)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageThree()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageTwo()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.Finish(bool bUserDelegateExecuted)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task<System.__Canon>.TrySetException(object exceptionObject)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<object>.SetException(System.Exception exception)	Unknown
 	StreamJsonRpc.dll!StreamJsonRpc.JsonRpc.InvokeCoreAsync<object>(int? id, string targetName, System.Collections.Generic.IReadOnlyList<object> arguments, System.Threading.CancellationToken cancellationToken)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.InvokeMoveNext(object stateMachine)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.MoveNextRunner.Run()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.OutputAsyncCausalityEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.TaskAwaiter.OutputWaitEtwEvents.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncMethodBuilderCore.ContinuationWrapper.Invoke()	Unknown
 	mscorlib.dll!System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action action, bool allowInlining, ref System.Threading.Tasks.Task currentTask)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishContinuations()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageThree()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.FinishStageTwo()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.Finish(bool bUserDelegateExecuted)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task<System.__Canon>.TrySetException(object exceptionObject)	Unknown
 	mscorlib.dll!System.Threading.Tasks.TaskCompletionSource<object>.TrySetException(System.Exception exception)	Unknown
 	StreamJsonRpc.dll!StreamJsonRpc.JsonRpc.InvokeCoreAsync.AnonymousMethod__0(StreamJsonRpc.JsonRpcMessage response)	Unknown
 	StreamJsonRpc.dll!StreamJsonRpc.JsonRpc.HandleRpcAsync(string json)	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start<StreamJsonRpc.JsonRpc.<HandleRpcAsync>d__62>(ref StreamJsonRpc.JsonRpc.<HandleRpcAsync>d__62 stateMachine)	Unknown
 	StreamJsonRpc.dll!StreamJsonRpc.JsonRpc.HandleRpcAsync(string json)	Unknown
 	StreamJsonRpc.dll!StreamJsonRpc.JsonRpc.ReadAndHandleRequestsAsync.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start<StreamJsonRpc.JsonRpc.(ref StreamJsonRpc.JsonRpc.<>c__DisplayClass61_0.<<ReadAndHandleRequestsAsync>b__0>d stateMachine)	Unknown
 	StreamJsonRpc.dll!StreamJsonRpc.JsonRpc.ReadAndHandleRequestsAsync.AnonymousMethod__0()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task<System.Threading.Tasks.Task>.InnerInvoke()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.Execute()	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.ExecutionContextCallback(object obj)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.ExecuteWithThreadLocal(ref System.Threading.Tasks.Task currentTaskSlot)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.ExecuteEntry(bool bPreventDoubleExecution)	Unknown
 	mscorlib.dll!System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()	Unknown
 	mscorlib.dll!System.Threading.ThreadPoolWorkQueue.Dispatch()	Unknown
 	mscorlib.dll!System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()	Unknown
@Pilchie
Copy link
Member

Pilchie commented Feb 2, 2017

Well, that's an unfortunately useless stack :-( Have you got a crash dump from when this happens that you can upload somewhere?

@Pilchie Pilchie self-assigned this Feb 2, 2017
@vasily-kirichenko
Copy link
Author

Where can I find it? I can reproduce it any time.

@Pilchie
Copy link
Member

Pilchie commented Feb 2, 2017

You'll have to attach and save it from VS, or else if you always want Windows to save dumps when devenv.exe crashes, you can set:

You can ask Watson to collect full dumps and save them locally by setting some reg keys.  See http://msdn.microsoft.com/en-us/library/windows/desktop/bb513638(v=vs.85).aspx.

I think if you set:

HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\devenv.exe\DumpFolder to a folder on your machine,
HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\devenv.exe\DumpCount to the list of dumps to keep
HKLM\Software\Microsoft\Windows\Windows Error Reporting\LocalDumps\devenv.exe\DumpType to a Dword with the value 2 to keep full dumps.

You should see a full dump appear the next time this happens.

@vladima
Copy link
Contributor

vladima commented Feb 2, 2017

I think setting procdump to write dump when process terminates or as a post mortem debugger should also work

@vasily-kirichenko
Copy link
Author

This is what procdump logged:

...
[10:37:11] Exception: E0434F4D.Microsoft.CSharp.RuntimeBinder.RuntimeBinderException ("'Newtonsoft.Json.Linq.JObject' does not contain a definition for 'stack'")
[10:37:11] Exception: E0434F4D.Microsoft.CSharp.RuntimeBinder.RuntimeBinderException ("Cannot implicitly convert type 'Newtonsoft.Json.Linq.JValue' to 'string'. An explicit conversion exists (are you missing a cast?)")
[10:37:11] Exception: E0434F4D.System.ArgumentException ("The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))")
[10:37:11] Exception: E0434F4D.System.ArgumentException ("The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))")
[10:37:11] Exception: E0434F4D.System.ArgumentException ("The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))")
[10:37:11] Exception: E0434F4D.Microsoft.CSharp.RuntimeBinder.RuntimeBinderException ("'Newtonsoft.Json.Linq.JObject' does not contain a definition for 'code'")
[10:37:11] Exception: E0434F4D.Microsoft.CSharp.RuntimeBinder.RuntimeBinderException ("Cannot implicitly convert type 'Newtonsoft.Json.Linq.JValue' to 'string'. An explicit conversion exists (are you missing a cast?)")
[10:37:11] Exception: E0434F4D.StreamJsonRpc.RemoteInvocationException ("Value cannot be null.
   at System.Threading.Monitor.ReliableEnter(Object obj, Boolean& lockTaken)
   at Microsoft.CodeAnalysis.Remote.SnapshotService.Initialize(Int32 sessionId, Byte[] solutionChecksum)")
[10:37:11] Exception: E0434F4D.StreamJsonRpc.RemoteInvocationException ("Value cannot be null.
   at System.Threading.Monitor.ReliableEnter(Object obj, Boolean& lockTaken)
   at Microsoft.CodeAnalysis.Remote.SnapshotService.Initialize(Int32 sessionId, Byte[] solutionChecksum)")
[10:37:11] Exception: E0434F4D.StreamJsonRpc.RemoteInvocationException ("Value cannot be null.
   at System.Threading.Monitor.ReliableEnter(Object obj, Boolean& lockTaken)
   at Microsoft.CodeAnalysis.Remote.SnapshotService.Initialize(Int32 sessionId, Byte[] solutionChecksum)")
[10:37:11] Exception: E0434F4D.StreamJsonRpc.RemoteInvocationException ("Value cannot be null.
   at System.Threading.Monitor.ReliableEnter(Object obj, Boolean& lockTaken)
   at Microsoft.CodeAnalysis.Remote.SnapshotService.Initialize(Int32 sessionId, Byte[] solutionChecksum)")
[10:37:11] Exception: E0434F4D.StreamJsonRpc.RemoteInvocationException ("Value cannot be null.
   at System.Threading.Monitor.ReliableEnter(Object obj, Boolean& lockTaken)
   at Microsoft.CodeAnalysis.Remote.SnapshotService.Initialize(Int32 sessionId, Byte[] solutionChecksum)")
[10:37:11] Exception: E0434F4D.StreamJsonRpc.RemoteInvocationException ("Value cannot be null.
   at System.Threading.Monitor.ReliableEnter(Object obj, Boolean& lockTaken)
   at Microsoft.CodeAnalysis.Remote.SnapshotService.Initialize(Int32 sessionId, Byte[] solutionChecksum)")
[10:37:11] Exception: E0434F4D.StreamJsonRpc.RemoteInvocationException ("Value cannot be null.
   at System.Threading.Monitor.ReliableEnter(Object obj, Boolean& lockTaken)
   at Microsoft.CodeAnalysis.Remote.SnapshotService.Initialize(Int32 sessionId, Byte[] solutionChecksum)")
[10:37:12] Exception: E0434F4D.StreamJsonRpc.RemoteInvocationException ("Value cannot be null.
   at System.Threading.Monitor.ReliableEnter(Object obj, Boolean& lockTaken)
   at Microsoft.CodeAnalysis.Remote.SnapshotService.Initialize(Int32 sessionId, Byte[] solutionChecksum)")
[10:37:12] Exception: E0434F4D.StreamJsonRpc.RemoteInvocationException ("Value cannot be null.
   at System.Threading.Monitor.ReliableEnter(Object obj, Boolean& lockTaken)
   at Microsoft.CodeAnalysis.Remote.SnapshotService.Initialize(Int32 sessionId, Byte[] solutionChecksum)")
[10:37:12] Exception: E0434F4D.BREAKPOINT
[10:37:12] The process has exited.
[10:37:12] Dump count not reached.

@vasily-kirichenko
Copy link
Author

Dump created via Task Manager https://drive.google.com/open?id=0B8HLQUKik9VtOUU4TzlhZnl6VkU

@vasily-kirichenko
Copy link
Author

It always crashes now, after updating to RC3. I cannot do anything in it.

@vasily-kirichenko
Copy link
Author

Another one https://drive.google.com/open?id=0B8HLQUKik9VtOUU4TzlhZnl6VkU, it was auto created after I added the registry keys.

@Pilchie
Copy link
Member

Pilchie commented Feb 3, 2017

@heejaechang The internal exception that we're throwing on is:

Value cannot be null.
   at System.Threading.Monitor.ReliableEnter(Object obj, Boolean& lockTaken)
   at Microsoft.CodeAnalysis.Remote.SnapshotService.Initialize(Int32 sessionId, Byte[] solutionChecksum)

Which seems to be here, but I don't see how _gate could be null. Any ideas?

@Pilchie
Copy link
Member

Pilchie commented Feb 3, 2017

@vasily-kirichenko Looks like that is actually the same link twice. Also, the taskmgr dump is 64-bit which makes it hard to look at managed code in. In future, if you could start C:\Windows\SysWow64\taskmgr.exe to capture dumps of devenv.exe it's a lot easier to investigate (SOS.dll doesn't work for 64-bit dumps of 32-bit processes:-( )

@heejaechang
Copy link
Contributor

@Pilchie hmmm.. that is weird. that seems something can't happen.

@Pilchie Pilchie added Bug Tenet-Reliability Customer telemetry indicates that the product is failing in a crash/hang/dataloss manner. labels Feb 3, 2017
@Pilchie Pilchie added this to the 2.0 (RTM) milestone Feb 3, 2017
@vladima
Copy link
Contributor

vladima commented Feb 3, 2017

I don't have access to the actual source but in the constructor of ServiceHubServiceBase we leak this where _gate is still null. Can it be the case that JsonRpc will invoke Initialize that will result in this exception?

@Pilchie
Copy link
Member

Pilchie commented Feb 3, 2017

@vladima Nice catch - that sounds plausible. @heejaechang can you take a look?

@vasily-kirichenko
Copy link
Author

@heejaechang
Copy link
Contributor

@vladima could be, but that seems a bit weird that service hub return stream before the service is fully initialized.

@AArnott is it possible what @vladima said can happen?

@Pilchie
Copy link
Member

Pilchie commented Feb 3, 2017

A better stack from the new dump:

0:057> !PrintException /d 46bd0f00
Exception object: 46bd0f00
Exception type:   StreamJsonRpc.RemoteInvocationException
Message:          Value cannot be null.
   at System.Threading.Monitor.ReliableEnter(Object obj, Boolean& lockTaken)
   at Microsoft.CodeAnalysis.Remote.SnapshotService.Initialize(Int32 sessionId, Byte[] solutionChecksum)
InnerException:   <none>
StackTrace (generated):
    SP       IP       Function
    2C3FDF9C 717BFFB1 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x5d
    2C3FDFAC 717BCA43 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3b
    2C3FDFB8 717BC9EA mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(System.Threading.Tasks.Task)+0x1a
    2C3FDFBC 0EC43E9F StreamJsonRpc_ni!StreamJsonRpc.JsonRpc+<InvokeCoreAsync>d__56`1[[System.__Canon, mscorlib]].MoveNext()+0x637
    2C3FDCC0 717BFFB1 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x5d
    2C3FDCD0 717BCA43 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3b
    2C3FDCDC 235AE36F Microsoft_VisualStudio_LanguageServices_Next_ni!Microsoft.VisualStudio.LanguageServices.Remote.JsonRpcClient+<InvokeAsync>d__3.MoveNext()+0x10b
    2C3FD9DC 717BFFB1 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x5d
    2C3FD9EC 717BCA43 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3b
    2C3FD9F8 235AEB95 Microsoft_VisualStudio_LanguageServices_Next_ni!Microsoft.VisualStudio.LanguageServices.Remote.JsonRpcSession+<InitializeAsync>d__7.MoveNext()+0x131
    2C3FD708 717BFFB1 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x5d
    2C3FD718 717BCA43 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3b
    2C3FD724 235AE9F6 Microsoft_VisualStudio_LanguageServices_Next_ni!Microsoft.VisualStudio.LanguageServices.Remote.JsonRpcSession+<CreateAsync>d__5.MoveNext()+0xf6
    2C3FD3FC 717BFFB1 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x5d
    2C3FD40C 717BCA43 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3b
    2C3FD418 235AFD91 Microsoft_VisualStudio_LanguageServices_Next_ni!Microsoft.VisualStudio.LanguageServices.Remote.ServiceHubRemoteHostClient+<CreateServiceSessionAsync>d__7.MoveNext()+0x25d
    2C3FD100 717BFFB1 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x5d
    2C3FD110 717BCA43 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3b
    2C3FD11C 2065A78B Microsoft_CodeAnalysis_Workspaces_ni!Microsoft.CodeAnalysis.Remote.RemoteHostClient+<CreateServiceSessionAsync>d__6.MoveNext()+0x1cf
    2C3FCDB8 717BFFB1 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x5d
    2C3FCDC8 717BCA43 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3b
    2C3FCDD4 165B16AB Microsoft_VisualStudio_LanguageServices_ni!Microsoft.VisualStudio.LanguageServices.Remote.RemoteHostClientServiceFactory+SolutionChecksumUpdater+<SynchronizePrimaryWorkspaceAsync>d__14.MoveNext()+0x2cb
    2C3FCAC8 717BFFB1 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x5d
    2C3FCAD8 717BCA43 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3b
    2C3FCAE4 165B124D Microsoft_VisualStudio_LanguageServices_ni!Microsoft.VisualStudio.LanguageServices.Remote.RemoteHostClientServiceFactory+SolutionChecksumUpdater+<ExecuteAsync>d__8.MoveNext()+0x255
    2C3FC7D4 717BFFB1 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)+0x5d
    2C3FC7E4 717BCA43 mscorlib_ni!System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)+0x3b
    2C3FC7F0 219AD8ED Microsoft_CodeAnalysis_Features_ni!Microsoft.CodeAnalysis.SolutionCrawler.IdleProcessor+<ProcessAsync>d__12.MoveNext()+0x19d

StackTraceString: <none>
HResult: 80131500
There are nested exceptions on this thread. Run with -nested for details

@heejaechang
Copy link
Contributor

@vasily-kirichenko is this repeatedly repro-able? if so, can I get repro step to dig in?

@vladima
Copy link
Contributor

vladima commented Feb 3, 2017

it is hard to tell without looking at the source code but can it be that JsonRpc.Attach will start listening to incoming requests and will receive and dispatch one to a semi-constructed instance since this has leaked before constructor of SnapshotService is completed?

@AArnott can it be the case?

@vasily-kirichenko
Copy link
Author

vasily-kirichenko commented Feb 3, 2017

@heejaechang it reproduces on my machine at work only. It's quite messy: it's survived VS 2017 preview 5, RC, RC2 and now RC3. I cannot reproduce it at home, on a clean windows + RC3 installation.
(the machine at work is behind a proxy, if it's related)

@heejaechang
Copy link
Contributor

@vasily-kirichenko thank you for helping us on this issue.

@heejaechang
Copy link
Contributor

@vladima @AArnott I am working with Kiran to confirm that VS only get Stream back once SnapshotService is fully constructed. which makes the above issue not possible to happen. it can't be thread-sync issue as well since I am using lock that should put memory barrier to sync all read/write between threads.

@heejaechang
Copy link
Contributor

so, I have been trying to repro this by requesting snapshot service concurrently to servicehub 4000 times. and this doesn't repro.

without actual repro step. it seems very hard to figure out. looks like only thing I can do now is adding some code in service hub service side for us to have better dump.

@heejaechang
Copy link
Contributor

here is response I got from Kiran
...
I looked at the code and talked with the team and confirmed that the service constructor is NOT guaranteed to be completed before the client’s RequestService API completes because it isn’t really possible for us to know that. However, as I mentioned before you as a service author control when to call JsonRpc.Attach method which is what starts pulling RPC requests off the stream. And so, the guidance here is that you should call JsonRpc.Attach method at places like at the end of your constructor or if you have hierarchy of types (like you do) then it should be at the end of the outermost constructor in the hierarchy to ensure the RPC target object is ready to receive the RPC requests.
...

for me, that seems a bug. but regardless of that talk, I will guard us from this issue.

@heejaechang
Copy link
Contributor

@srivatsn @MattGertz @natidea does this meet RTW?

@MattGertz
Copy link
Contributor

@heejaechang Would be nice to bring -- if we had some idea as to how many people were hitting it and were likely to hit going forward.

@heejaechang
Copy link
Contributor

@MattGertz
Copy link
Contributor

@heejaechang @Pilchie If this is ready (signoffs and validation) on Saturday, and someone was on tap to do the Roslyn integration, we could get it in theory into the current deliverable via the Sunday afternoon build. I can't see the hits (for some reason, I lost permission, just got auto-approved again but permissions will take time to propagate), so if you have more details that would be good.

Otherwise, this will wait until final release.

@vasily-kirichenko
Copy link
Author

I confirm that the bug is gone in RC4. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Analyzers Bug Needs Shiproom Approval Tenet-Reliability Customer telemetry indicates that the product is failing in a crash/hang/dataloss manner.
Projects
None yet
Development

No branches or pull requests

5 participants