runtime: With .NET 7 SDK, create razor project failed with error when running PerfView

Repro steps:

  1. 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
  2. Download PerfView from https://github.com/Microsoft/perfview/blob/master/documentation/Downloading.md
  3. 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
  4. Create a new razor project

Expected result: The Razor project should be created successfully.

Actually Result: The following error occured when creating razor project. image

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)

Most upvoted comments

I am relatively surprised COMPlus_EnableEventLog is 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 ShouldTrackSurvivorsForProfilerOrEtw that 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