runtime: With .NET 7 SDK, create razor project failed with error when running PerfView
Repro steps:
- Install .NET 7 SDK:7.0.100-alpha.1.22062.5 from https://aka.ms/dotnet/7.0.1xx/daily/dotnet-sdk-win-x64.exe
- Download PerfView from https://github.com/Microsoft/perfview/blob/master/documentation/Downloading.md
- Start data collection by running. It will ask for elevation (grant it) It should bring up a dialog box that shows that it is collecting data.
PerfView /merge:false collect - Create a new razor project
Expected result: The Razor project should be created successfully.
Actually Result:
The following error occured when creating razor project.

C:\Users\v-wenjj>dotnet new razor -o r1
Fatal error. Internal CLR error. (0x80131506)
at Newtonsoft.Json.Linq.JContainer.ReadContentFrom(Newtonsoft.Json.JsonReader, Newtonsoft.Json.Linq.JsonLoadSettings)
at Newtonsoft.Json.Linq.JContainer.ReadTokenFrom(Newtonsoft.Json.JsonReader, Newtonsoft.Json.Linq.JsonLoadSettings)
at Newtonsoft.Json.Linq.JObject.Load(Newtonsoft.Json.JsonReader, Newtonsoft.Json.Linq.JsonLoadSettings)
at Microsoft.TemplateEngine.JExtensions.ReadObject(Microsoft.TemplateEngine.Abstractions.PhysicalFileSystem.IPhysicalFileSystem, System.String)
at Microsoft.TemplateEngine.Edge.Settings.TemplatePackageManager+<UpdateTemplateCacheAsync>d__22.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Microsoft.TemplateEngine.Edge.Settings.TemplatePackageManager+<UpdateTemplateCacheAsync>d__22, Microsoft.TemplateEngine.Edge, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]](<UpdateTemplateCacheAsync>d__22 ByRef)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Start[[Microsoft.TemplateEngine.Edge.Settings.TemplatePackageManager+<UpdateTemplateCacheAsync>d__22, Microsoft.TemplateEngine.Edge, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]](<UpdateTemplateCacheAsync>d__22 ByRef)
at Microsoft.TemplateEngine.Edge.Settings.TemplatePackageManager.UpdateTemplateCacheAsync(Boolean, System.Threading.CancellationToken)
at Microsoft.TemplateEngine.Edge.Settings.TemplatePackageManager+<GetTemplatesAsync>d__16.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Microsoft.TemplateEngine.Edge.Settings.TemplatePackageManager+<GetTemplatesAsync>d__16, Microsoft.TemplateEngine.Edge, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]](<GetTemplatesAsync>d__16 ByRef)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Start[[Microsoft.TemplateEngine.Edge.Settings.TemplatePackageManager+<GetTemplatesAsync>d__16, Microsoft.TemplateEngine.Edge, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]](<GetTemplatesAsync>d__16 ByRef)
at Microsoft.TemplateEngine.Edge.Settings.TemplatePackageManager.GetTemplatesAsync(System.Threading.CancellationToken)
at Microsoft.TemplateEngine.Cli.TemplateResolution.BaseTemplateResolver+<GetTemplateGroupsAsync>d__10.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Microsoft.TemplateEngine.Cli.TemplateResolution.BaseTemplateResolver+<GetTemplateGroupsAsync>d__10, Microsoft.TemplateEngine.Cli, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]](<GetTemplateGroupsAsync>d__10 ByRef)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Start[[Microsoft.TemplateEngine.Cli.TemplateResolution.BaseTemplateResolver+<GetTemplateGroupsAsync>d__10, Microsoft.TemplateEngine.Cli, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]](<GetTemplateGroupsAsync>d__10 ByRef)
at Microsoft.TemplateEngine.Cli.TemplateResolution.BaseTemplateResolver.GetTemplateGroupsAsync(System.Threading.CancellationToken)
at Microsoft.TemplateEngine.Cli.TemplateResolution.InstantiateTemplateResolver+<ResolveTemplatesAsync>d__8.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Microsoft.TemplateEngine.Cli.TemplateResolution.InstantiateTemplateResolver+<ResolveTemplatesAsync>d__8, Microsoft.TemplateEngine.Cli, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]](<ResolveTemplatesAsync>d__8 ByRef)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Start[[Microsoft.TemplateEngine.Cli.TemplateResolution.InstantiateTemplateResolver+<ResolveTemplatesAsync>d__8, Microsoft.TemplateEngine.Cli, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]](<ResolveTemplatesAsync>d__8 ByRef)
at Microsoft.TemplateEngine.Cli.TemplateResolution.InstantiateTemplateResolver.ResolveTemplatesAsync(Microsoft.TemplateEngine.Cli.CommandParsing.INewCommandInput, System.String, System.Threading.CancellationToken)
at Microsoft.TemplateEngine.Cli.TemplateInvocationCoordinator+<CoordinateInvocationAsync>d__10.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Microsoft.TemplateEngine.Cli.TemplateInvocationCoordinator+<CoordinateInvocationAsync>d__10, Microsoft.TemplateEngine.Cli, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]](<CoordinateInvocationAsync>d__10 ByRef)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[Microsoft.TemplateEngine.Cli.New3CommandStatus, Microsoft.TemplateEngine.Cli, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]].Start[[Microsoft.TemplateEngine.Cli.TemplateInvocationCoordinator+<CoordinateInvocationAsync>d__10, Microsoft.TemplateEngine.Cli, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]](<CoordinateInvocationAsync>d__10 ByRef)
at Microsoft.TemplateEngine.Cli.TemplateInvocationCoordinator.CoordinateInvocationAsync(Microsoft.TemplateEngine.Cli.CommandParsing.INewCommandInput, System.Threading.CancellationToken)
at Microsoft.TemplateEngine.Cli.New3Command+<EnterTemplateManipulationFlowAsync>d__21.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Microsoft.TemplateEngine.Cli.New3Command+<EnterTemplateManipulationFlowAsync>d__21, Microsoft.TemplateEngine.Cli, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]](<EnterTemplateManipulationFlowAsync>d__21 ByRef)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[Microsoft.TemplateEngine.Cli.New3CommandStatus, Microsoft.TemplateEngine.Cli, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]].Start[[Microsoft.TemplateEngine.Cli.New3Command+<EnterTemplateManipulationFlowAsync>d__21, Microsoft.TemplateEngine.Cli, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]](<EnterTemplateManipulationFlowAsync>d__21 ByRef)
at Microsoft.TemplateEngine.Cli.New3Command.EnterTemplateManipulationFlowAsync(Microsoft.TemplateEngine.Cli.CommandParsing.INewCommandInput)
at Microsoft.TemplateEngine.Cli.New3Command+<ExecuteAsync>d__22.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Microsoft.TemplateEngine.Cli.New3Command+<ExecuteAsync>d__22, Microsoft.TemplateEngine.Cli, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]](<ExecuteAsync>d__22 ByRef)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[Microsoft.TemplateEngine.Cli.New3CommandStatus, Microsoft.TemplateEngine.Cli, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]].Start[[Microsoft.TemplateEngine.Cli.New3Command+<ExecuteAsync>d__22, Microsoft.TemplateEngine.Cli, Version=7.0.100.0, Culture=neutral, PublicKeyToken=adb9793829ddae60]](<ExecuteAsync>d__22 ByRef)
at Microsoft.TemplateEngine.Cli.New3Command.ExecuteAsync(Microsoft.TemplateEngine.Cli.CommandParsing.INewCommandInput)
at System.Threading.Tasks.Task`1[[System.__Canon, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].InnerInvoke()
at System.Threading.ExecutionContext.RunFromThreadPoolDispatchLoop(System.Threading.Thread, System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef, System.Threading.Thread)
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool+WorkerThread.WorkerThreadStart()
Dotnet --info: C:\Users\v-wenjj>dotnet --info .NET SDK (reflecting any global.json): Version: 7.0.100-alpha.1.22062.5 Commit: 62d1c5edb1
Runtime Environment: OS Name: Windows OS Version: 10.0.20348 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk\7.0.100-alpha.1.22062.5\
Host (useful for support): Version: 7.0.0-alpha.1.22061.11 Commit: ef7ff07109
.NET SDKs installed: 3.1.416 [C:\Program Files\dotnet\sdk] 6.0.200-preview.22055.15 [C:\Program Files\dotnet\sdk] 7.0.100-alpha.1.22062.5 [C:\Program Files\dotnet\sdk]
.NET runtimes installed: Microsoft.AspNetCore.All 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All] Microsoft.AspNetCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 3.1.21 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 3.1.22 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 5.0.12 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 5.0.13 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 6.0.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 7.0.0-alpha.1.22062.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.NETCore.App 2.1.30 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.21 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.22 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 5.0.12 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 5.0.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 6.0.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 7.0.0-alpha.1.22061.11 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.WindowsDesktop.App 3.1.21 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 3.1.22 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 5.0.12 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 5.0.13 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 6.0.1 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 7.0.0-alpha.1.22061.7 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
To install additional .NET runtimes or SDKs: https://aka.ms/dotnet-download
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 20 (18 by maintainers)
I am relatively surprised
COMPlus_EnableEventLogis needed at all (cc: @dotnet/dotnet-diag). I doubt any test uses LTTNG and event pipe should automatically. LTTNG is also relatively expensive… I’d say runtests should have this disabled by default and the flag should be a positive ( --enableEventLogging -> eventLogging = 1 ->COMPlus_EnableEventLog=1) to make it pay for play.Based on @cshung’s suggestion I have investigated why we’re globally turning on the potentially expensive option
ShouldTrackSurvivorsForProfilerOrEtwthat is making the runtime tests vulnerable to the GC bug tracked in this issue. I have landed in this place:https://github.com/dotnet/runtime/blob/1043f003c2b6e404014845e42d25513cebe2b9d9/src/tests/run.sh#L219
I’m not sure how to go on from here - @hoyosjs, do you have any suggestions? At a first glance I would speculate that we only need this logic for those tests that actually exercise event logging, for others it’s mere busywork at the expense of more complicated GC. I’m also guessing that the specific nature of this particular setting is what ultimately makes r2r_extra pipelines pass on Windows but fail left and right on both Linux and OSX.
Thanks
Tomas