dotnet / sdk

Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI
https://dot.net/core
MIT License
2.62k stars 1.04k forks source link

[NETSDKE2E][Regression]With 6.0.422 SDK installed, .Net Host will stop working when creating F# mvc/webapi project. #40503

Closed vdanche closed 3 months ago

vdanche commented 3 months ago
  1. install 6.0.422 SDK on win11-x64
  2. in CLI, dotnet new mvc -lang F# -o fmvc or dotnet new webapi -lang F# -o fwebapi

Expected Result: F# mvc project can be install successfully.

Actual Result: Failed with below error: image Process terminated. Assertion failed. Unbalanced condition at Microsoft.TemplateEngine.Core.Expressions.Cpp.CppStyleEvaluatorDefinition.EvaluateCondition(IReadOnlyList1 tokens, IReadOnlyList1 values) at Microsoft.TemplateEngine.Core.Expressions.Cpp.CppStyleEvaluatorDefinition.Evaluate(IProcessorState processor, Int32& bufferLength, Int32& currentBufferPosition, Boolean& faulted) at Microsoft.TemplateEngine.Core.Operations.Conditional.Impl.EvaluationState.Evaluate(IProcessorState processor, Int32& bufferLength, Int32& currentBufferPosition) at Microsoft.TemplateEngine.Core.Operations.Conditional.Impl.HandleMatch(IProcessorState processor, Int32 bufferLength, Int32& currentBufferPosition, Int32 token, Stream target) at Microsoft.TemplateEngine.Core.Util.ProcessorState.Run() at Microsoft.TemplateEngine.Core.Util.Processor.Run(Stream source, Stream target, Int32 bufferSize, Int32 flushThreshold) at Microsoft.TemplateEngine.Core.Util.Processor.Run(Stream source, Stream target, Int32 bufferSize) at Microsoft.TemplateEngine.Core.Util.Processor.Run(Stream source, Stream target) at Microsoft.TemplateEngine.Core.Util.Orchestrator.ProcessFile(IFile sourceFile, String sourceRel, String targetDir, IGlobalRunSpec spec, IProcessor fallback, IEnumerable1 fileGlobProcessors) at Microsoft.TemplateEngine.Core.Util.Orchestrator.RunInternal(IEngineEnvironmentSettings environmentSettings, IDirectory sourceDir, String targetDir, IGlobalRunSpec spec) at Microsoft.TemplateEngine.Core.Util.Orchestrator.Run(IGlobalRunSpec spec, IDirectory sourceDir, String targetDir) at Microsoft.TemplateEngine.Orchestrator.RunnableProjects.RunnableProjectOrchestrator.Run(IGlobalRunSpec runSpec, IDirectory directoryInfo, String target) at Microsoft.TemplateEngine.Orchestrator.RunnableProjects.RunnableProjectGenerator.CreateAsync(IEngineEnvironmentSettings environmentSettings, IRunnableProjectConfig runnableProjectConfig, IDirectory templateSourceRoot, IParameterSet parameters, String targetDirectory, CancellationToken cancellationToken) at Microsoft.TemplateEngine.Orchestrator.RunnableProjects.RunnableProjectGenerator.CreateAsync(IEngineEnvironmentSettings environmentSettings, ITemplate templateData, IParameterSet parameters, String targetDirectory, CancellationToken cancellationToken) at Microsoft.TemplateEngine.Edge.Template.TemplateCreator.InstantiateAsync(ITemplateInfo templateInfo, String name, String fallbackName, String outputPath, IReadOnlyDictionary2 inputParameters, Boolean forceCreation, String baselineName, Boolean dryRun, CancellationToken cancellationToken) at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) at Microsoft.TemplateEngine.Edge.Template.TemplateCreator.InstantiateAsync(ITemplateInfo templateInfo, String name, String fallbackName, String outputPath, IReadOnlyDictionary2 inputParameters, Boolean forceCreation, String baselineName, Boolean dryRun, CancellationToken cancellationToken) at Microsoft.TemplateEngine.Cli.TemplateInvoker.CreateTemplateAsync(ITemplateInfo template, IReadOnlyDictionary2 parameters, INewCommandInput commandInput) at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) at Microsoft.TemplateEngine.Cli.TemplateInvoker.CreateTemplateAsync(ITemplateInfo template, IReadOnlyDictionary2 parameters, INewCommandInput commandInput) at Microsoft.TemplateEngine.Cli.TemplateInvoker.InvokeTemplate(ITemplateInfo templateToInvoke, IReadOnlyDictionary2 parameters, INewCommandInput commandInput) at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) at Microsoft.TemplateEngine.Cli.TemplateInvoker.InvokeTemplate(ITemplateInfo templateToInvoke, IReadOnlyDictionary2 parameters, INewCommandInput commandInput) at Microsoft.TemplateEngine.Cli.TemplateInvocationCoordinator.CoordinateInvocationAsync(INewCommandInput commandInput, CancellationToken cancellationToken) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.ExecutionContextCallback(Object s) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.MoveNext(Thread threadPoolThread) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.MoveNext() at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining) at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) at System.Threading.Tasks.Task.FinishContinuations() at System.Threading.Tasks.Task1.TrySetResult(TResult result) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.SetExistingTaskResult(Task1 task, TResult result) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.SetResult(TResult result) at Microsoft.TemplateEngine.Cli.TemplateResolution.InstantiateTemplateResolver.ResolveTemplatesAsync(INewCommandInput commandInput, String defaultLanguage, CancellationToken cancellationToken) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.ExecutionContextCallback(Object s) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.MoveNext(Thread threadPoolThread) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.MoveNext() at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining) at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) at System.Threading.Tasks.Task.FinishContinuations() at System.Threading.Tasks.Task1.TrySetResult(TResult result) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.SetExistingTaskResult(Task1 task, TResult result) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.SetResult(TResult result) at Microsoft.TemplateEngine.Cli.TemplateResolution.BaseTemplateResolver.GetTemplateGroupsAsync(CancellationToken cancellationToken) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.ExecutionContextCallback(Object s) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.MoveNext(Thread threadPoolThread) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.MoveNext() at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining) at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) at System.Threading.Tasks.Task.FinishContinuations() at System.Threading.Tasks.Task1.TrySetResult(TResult result) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.SetExistingTaskResult(Task1 task, TResult result) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.SetResult(TResult result) at Microsoft.TemplateEngine.Edge.Settings.TemplatePackageManager.GetTemplatesAsync(CancellationToken cancellationToken) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.ExecutionContextCallback(Object s) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.MoveNext(Thread threadPoolThread) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.MoveNext() at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining) at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) at System.Threading.Tasks.Task.FinishContinuations() at System.Threading.Tasks.Task1.TrySetResult(TResult result) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.SetExistingTaskResult(Task1 task, TResult result) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.SetResult(TResult result) at Microsoft.TemplateEngine.Edge.Settings.TemplatePackageManager.UpdateTemplateCacheAsync(Boolean needsRebuild, CancellationToken cancellationToken) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.ExecutionContextCallback(Object s) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.MoveNext(Thread threadPoolThread) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.MoveNext() at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining) at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) at System.Threading.Tasks.Task.FinishContinuations() at System.Threading.Tasks.Task1.TrySetResult(TResult result) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.SetExistingTaskResult(Task1 task, TResult result) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.SetResult(TResult result) at Microsoft.TemplateEngine.Edge.Settings.TemplatePackageManager.GetTemplatePackagesAsync(Boolean force, CancellationToken cancellationToken) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.ExecutionContextCallback(Object s) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.MoveNext(Thread threadPoolThread) at System.Runtime.CompilerServices.AsyncTaskMethodBuilder1.AsyncStateMachineBox1.MoveNext() at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(IAsyncStateMachineBox box, Boolean allowInlining) at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) at System.Threading.Tasks.Task.FinishContinuations() at System.Threading.Tasks.Task1.TrySetResult(TResult result) at System.Threading.Tasks.UnwrapPromise1.TrySetFromTask(Task task, Boolean lookForOce) at System.Threading.Tasks.UnwrapPromise1.ProcessInnerTask(Task task) at System.Threading.Tasks.UnwrapPromise1.ProcessCompletedOuterTask(Task task) at System.Threading.Tasks.UnwrapPromise1.Invoke(Task completingTask) at System.Threading.Tasks.Task.RunOrQueueCompletionAction(ITaskCompletionAction completionAction, Boolean allowInlining) at System.Threading.Tasks.Task.RunContinuations(Object continuationObject) at System.Threading.Tasks.Task.FinishContinuations() at System.Threading.Tasks.Task.FinishStageThree() at System.Threading.Tasks.Task.FinishStageTwo() at System.Threading.Tasks.Task.FinishSlow(Boolean userDelegateExecute) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(Task& currentTaskSlot, Thread threadPoolThread) at System.Threading.Tasks.Task.ExecuteEntryUnsafe(Thread threadPoolThread) at System.Threading.Tasks.Task.ExecuteFromThreadPool(Thread threadPoolThread) at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart() at System.Threading.Thread.StartCallback()

dotnet --info .NET SDK (reflecting any global.json): Version: 6.0.422 Commit: 9efa2d1b46

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

global.json file: Not found

Host: Version: 6.0.30 Architecture: x64 Commit: 97d8f4cade

.NET SDKs installed: 6.0.422 [C:\Program Files\dotnet\sdk]

.NET runtimes installed: Microsoft.AspNetCore.App 6.0.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.NETCore.App 6.0.30 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.WindowsDesktop.App 6.0.30 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Download .NET: https://aka.ms/dotnet-download

Learn about .NET Runtimes and SDKs: https://aka.ms/dotnet/runtimes-sdk-info

dotnet-issue-labeler[bot] commented 3 months ago

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

vdanche commented 3 months ago

1.This issue not repro on 6.0.421 SDK

  1. This issue not repro using CLI with specify f net6.0 on VAL VS 17.4/17.6/17.8/17.9/17.10(May update) image
v-ainigao commented 3 months ago

This issue also repro's on ARM64OS. build: .net6.0.422SDK image image

v-xiaofchen commented 3 months ago

This issue also repro's on MAC and Linux. image image

vdanche commented 3 months ago

@marcpopMSFT @MiYanni This issue not repro on C# webapi/mvc project and F# web project, only repro on F# webapi/mvc.

v-ainigao commented 3 months ago

This issue has been fixed on MAC/Linux/windows-x64 and arm64 with .net6.0.422SDK new builds. image image image