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

Timeline on next release #859

Open
ritchiecarroll opened this issue Jul 14, 2020 · 18 comments
Open

Timeline on next release #859

ritchiecarroll opened this issue Jul 14, 2020 · 18 comments

Comments

@ritchiecarroll
Copy link

Right now code built with C# 8.0 / .NET Core 3.1 always gives the following error for code I've tried (tried all versions and a manual compile from source):

System.InvalidOperationException: No design time or full build available

FYI, I am in the process of developing a tool that will take Go code and convert it to C#: go2cs

dotnet-try would be perfect for this by doing head-to-head comparisons of original Go code and converted C# code:

HeadToHead

@ritchiecarroll
Copy link
Author

ritchiecarroll commented Jul 15, 2020

Extra info, if I try dotnet-try --verbose verify I get the following:

Unhandled exception: Clockwise.BudgetExceededException: Budget of 30 seconds exceeded.

Could this be related to the fact that the projects I am compiling have dependent project assemblies? FYI, projects seem to compile OK and run fine from command line.

Seems related to this: #781

@jonsequitur
Copy link
Contributor

Interesting. I haven't seen that but it's definitely not necessary to budget execution time for verify.

@pccai
Copy link

pccai commented Jul 28, 2020

My problem(setup version: dotnet-hosting-3.1.6-win.exe):

Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware|An unhandled exception has occurred while executing the request. System.InvalidOperationException: No design time or full build available.

@jonsequitur
Copy link
Contributor

@pccai This looks like a separate problem. Would you mind opening a separate issue for it and including the results of dotnet-try --version and dotnet --info?

Thanks.

@jonsequitur
Copy link
Contributor

Could this be related to the fact that the projects I am compiling have dependent project assemblies?

@ritchiecarroll Does it work for you without the project-to-project dependencies? For example, can you run dotnet try demo successfully?

@pccai
Copy link

pccai commented Jul 28, 2020

@jonsequitur

C:\Users\Administrator>dotnet-try --version
1.0.19553.4+001b36724d769e844a53b22e3833a23caed3dc68

C:\Users\Administrator>dotnet --info
.NET Core SDK(反映任何 global.json):
Version: 3.1.302
Commit: 41faccf259

运行时环境:
OS Name: Windows
OS Version: 10.0.14393
OS Platform: Windows
RID: win10-x64
Base Path: C:\Program Files\dotnet\sdk\3.1.302\

Host (useful for support):
Version: 3.1.6
Commit: 3acd9b0cd1

.NET Core SDKs installed:
3.1.301 [C:\Program Files\dotnet\sdk]
3.1.302 [C:\Program Files\dotnet\sdk]

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

To install additional .NET Core runtimes or SDKs:
https://aka.ms/dotnet-download

tks.

@pccai
Copy link

pccai commented Jul 28, 2020

dotnet try demo cannot running:
image

F12 show:
{"message":"An unhandled exception occurred.","exception":"System.AggregateException: One or more errors occurred. (Unsupported log file format. Latest supported version is 7, the log file has version 9.)\r\n ---> System.NotSupportedException: Unsupported log file format. Latest supported version is 7, the log file has version 9.\r\n at Microsoft.Build.Logging.StructuredLogger.BinLogReader.Replay(Stream stream) in C:\MSBuildStructuredLog\src\StructuredLogger\BinaryLogger\BinLogReader.cs:line 53\r\n at Microsoft.Build.Logging.StructuredLogger.BinLogReader.Replay(String sourceFilePath) in C:\MSBuildStructuredLog\src\StructuredLogger\BinaryLogger\BinLogReader.cs:line 37\r\n at Buildalyzer.AnalyzerManager.Analyze(String binLogPath, IEnumerable1 buildLoggers)\r\n at WorkspaceServer.Packaging.Package.LoadDesignTimeBuildFromBuildLogFile(Package package, FileSystemInfo binLog)\r\n --- End of inner exception stack trace ---\r\n at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)\r\n at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)\r\n at System.Threading.Tasks.Task.Wait()\r\n at WorkspaceServer.Packaging.Package.TryLoadDesignTimeBuildFromBuildLog()\r\n at WorkspaceServer.Packaging.Package..ctor(String name, IPackageInitializer initializer, DirectoryInfo directory, IScheduler buildThrottleScheduler)\r\n at WorkspaceServer.Packaging.RebuildablePackage..ctor(String name, IPackageInitializer initializer, DirectoryInfo directory, IScheduler buildThrottleScheduler)\r\n at WorkspaceServer.Packaging.PackageBuilder.GetPackage(Budget budget)\r\n at WorkspaceServer.PackageRegistry.<>c__DisplayClass10_0.<<GetPackageFromPackageBuilder>b__0>d.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at WorkspaceServer.PackageRegistry.Get[T](String packageName, Budget budget)\r\n at WorkspaceServer.Servers.Roslyn.RoslynWorkspaceServer.GetDiagnostics(WorkspaceRequest request, Budget budget)\r\n at WorkspaceServer.Servers.WorkspaceServerMultiplexer.GetDiagnostics(WorkspaceRequest request, Budget budget)\r\n at MLS.Agent.Controllers.LanguageServicesController.Diagnostics(WorkspaceRequest request, String timeoutInMilliseconds) in F:\\workspace\\_work\\1\\s\\MLS.Agent\\Controllers\\LanguageServicesController.cs:line 131\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)"}

@pccai
Copy link

pccai commented Jul 28, 2020

Other errors:

{"message":"An unhandled exception occurred.","exception":"System.InvalidOperationException: No design time or full build available\r\n at WorkspaceServer.Packaging.Package.CreateRoslynWorkspace()\r\n at WorkspaceServer.Packaging.Package.ProcessFullBuildRequest(Budget budget)\r\n at WorkspaceServer.Packaging.Package.b__54_0(Budget budget)\r\n at WorkspaceServer.Servers.Roslyn.PackageExtensions.GetCompilation(IPackage package, IReadOnlyCollection1 sources, SourceCodeKind sourceCodeKind, IEnumerable1 defaultUsings, Func1 workspaceFactory, Budget budget)\r\n at WorkspaceServer.Servers.Roslyn.RoslynWorkspaceServer.CompileWorker(Workspace workspace, BufferId activeBufferId, Budget budget)\r\n at WorkspaceServer.Servers.Roslyn.RoslynWorkspaceServer.Run(WorkspaceRequest request, Budget budget)\r\n at WorkspaceServer.Servers.WorkspaceServerMultiplexer.Run(WorkspaceRequest request, Budget budget)\r\n at MLS.Agent.Controllers.RunController.Run(WorkspaceRequest request, String timeoutInMilliseconds) in F:\\workspace\\_work\\1\\s\\MLS.Agent\\Controllers\\RunController.cs:line 75\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)"}

@jonsequitur
Copy link
Contributor

@pccai You're using an older version that doesn't work with the latest SDKs. Can you run the following and try again?

> dotnet tool uninstall -g dotnet-try
> dotnet tool install -g Microsoft.dotnet-try

@pccai
Copy link

pccai commented Jul 29, 2020

yes,that my way,but not running:

D:\try>dotnet try --version
1.0.20268.1+e7fd4a8cb0abe91be3125d1f0f021b067432b47b

D:\try>dotnet try demo
Hosting environment: Production
Content root path: C:\Users\Administrator.dotnet\tools.store\microsoft.dotnet-try\1.0.20268.1\microsoft.dotnet-try\1.0.20268.1\tools\netcoreapp3.1\any
Now listening on: https://localhost:59253
Application started. Press Ctrl+C to shut down.

{"message":"An unhandled exception occurred.","exception":"System.AggregateException: One or more errors occurred. (Unsupported log file format. Latest supported version is 7, the log file has version 9.)\r\n ---> System.NotSupportedException: Unsupported log file format. Latest supported version is 7, the log file has version 9.\r\n at Microsoft.Build.Logging.StructuredLogger.BinLogReader.Replay(Stream stream) in C:\MSBuildStructuredLog\src\StructuredLogger\BinaryLogger\BinLogReader.cs:line 53\r\n at Microsoft.Build.Logging.StructuredLogger.BinLogReader.Replay(String sourceFilePath) in C:\MSBuildStructuredLog\src\StructuredLogger\BinaryLogger\BinLogReader.cs:line 37\r\n at Buildalyzer.AnalyzerManager.Analyze(String binLogPath, IEnumerable1 buildLoggers)\r\n at WorkspaceServer.Packaging.Package.LoadDesignTimeBuildFromBuildLogFile(Package package, FileSystemInfo binLog)\r\n --- End of inner exception stack trace ---\r\n at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)\r\n at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)\r\n at System.Threading.Tasks.Task.Wait()\r\n at WorkspaceServer.Packaging.Package.TryLoadDesignTimeBuildFromBuildLog()\r\n at WorkspaceServer.Packaging.Package..ctor(String name, IPackageInitializer initializer, DirectoryInfo directory, IScheduler buildThrottleScheduler)\r\n at WorkspaceServer.Packaging.RebuildablePackage..ctor(String name, IPackageInitializer initializer, DirectoryInfo directory, IScheduler buildThrottleScheduler)\r\n at WorkspaceServer.Packaging.PackageBuilder.GetPackage(Budget budget)\r\n at WorkspaceServer.PackageRegistry.<>c__DisplayClass10_0.<<GetPackageFromPackageBuilder>b__0>d.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at WorkspaceServer.PackageRegistry.Get[T](String packageName, Budget budget)\r\n at WorkspaceServer.Servers.Roslyn.RoslynWorkspaceServer.Run(WorkspaceRequest request, Budget budget)\r\n at WorkspaceServer.Servers.WorkspaceServerMultiplexer.Run(WorkspaceRequest request, Budget budget)\r\n at MLS.Agent.Controllers.RunController.Run(WorkspaceRequest request, String timeoutInMilliseconds) in F:\\workspace\\_work\\1\\s\\MLS.Agent\\Controllers\\RunController.cs:line 75\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask1 actionResultValueTask)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)"}

@ritchiecarroll
Copy link
Author

Could this be related to the fact that the projects I am compiling have dependent project assemblies?

@ritchiecarroll Does it work for you without the project-to-project dependencies? For example, can you run dotnet try demo successfully?

It does not

@jonsequitur
Copy link
Contributor

@pccai You might also try cleaning out out the build outputs. The .binlog file looks like it's still there from the older version.

@jonsequitur
Copy link
Contributor

@ritchiecarroll If you do a dotnet build of your backing project, how long does it take to complete?

@ritchiecarroll
Copy link
Author

ritchiecarroll commented Jul 30, 2020

@ritchiecarroll If you do a dotnet build of your backing project, how long does it take to complete?

Just moments... 8 seconds?

Ran test on a sample:

Time Elapsed 00:00:06.06

@ritchiecarroll
Copy link
Author

If useful, here's the full unhandled exception:

Unhandled exception: Clockwise.BudgetExceededException: Budget of 30 seconds exceeded.
   at Clockwise.BudgetExtensions.<>c__DisplayClass0_0.<CancelIfExceeds>b__0()
   at Clockwise.TaskExtensions.CancelAfter(Task task, CancellationToken cancellationToken, Action ifCancelled)
   at Clockwise.BudgetExtensions.CancelIfExceeds(Task task, Budget budget, Action ifCancelled)
   at WorkspaceServer.Packaging.Package.ProcessFullBuildRequest(Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Packaging\Package.cs:line 349
   at WorkspaceServer.Packaging.Package.<SetupWorkspaceCreationFromBuildChannel>b__54_0(Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Packaging\Package.cs:line 307
   at WorkspaceServer.Servers.Roslyn.PackageExtensions.GetCompilation(IPackage package, IReadOnlyCollection`1 sources, SourceCodeKind sourceCodeKind, IEnumerable`1 defaultUsings, Func`1 workspaceFactory, Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Servers\Roslyn\PackageExtensions.cs:line 186
   at WorkspaceServer.Servers.Roslyn.RoslynWorkspaceServer.CompileWorker(Workspace workspace, BufferId activeBufferId, Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Servers\Roslyn\RoslynWorkspaceServer.cs:line 415
   at WorkspaceServer.Servers.Roslyn.RoslynWorkspaceServer.Compile(WorkspaceRequest request, Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Servers\Roslyn\RoslynWorkspaceServer.cs:line 193
   at WorkspaceServer.Servers.WorkspaceServerMultiplexer.Compile(WorkspaceRequest request, Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Servers\WorkspaceServerMultiplexer.cs:line 26
   at MLS.Agent.CommandLine.VerifyCommand.<>c__DisplayClass0_0.<<Do>g__ReportCompileResults|3>d.MoveNext() in F:\workspace\_work\1\s\MLS.Agent\CommandLine\VerifyCommand.cs:line 193
--- End of stack trace from previous location where exception was thrown ---
   at MLS.Agent.CommandLine.VerifyCommand.Do(VerifyOptions verifyOptions, IConsole console, StartupOptions startupOptions) in F:\workspace\_work\1\s\MLS.Agent\CommandLine\VerifyCommand.cs:line 88
   at System.CommandLine.Invocation.CommandHandler.GetResultCodeAsync(Object value, InvocationContext context)
   at System.CommandLine.Invocation.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseErrorReporting>b__20_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at MLS.Agent.CommandLine.CommandLineParser.<>c__DisplayClass7_0.<<Create>b__4>d.MoveNext() in F:\workspace\_work\1\s\MLS.Agent\CommandLine\CommandLineParser.cs:line 165
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass15_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass24_0.<<UseVersionOption>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__21_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseParseDirective>b__19_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseDebugDirective>b__11_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__10_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass13_0.<<UseExceptionHandler>b__0>d.MoveNext()

@ritchiecarroll
Copy link
Author

ritchiecarroll commented Jul 30, 2020

@jonsequitur

Here you go!!

This works:

'''cs --region source --source-file ./main.package.cs
'''

This does not:

'''cs --region source --source-file ./main_package.cs
'''

Only difference is an underscore in main project file name??!!

Doesn't like underscores I guess...

@ritchiecarroll
Copy link
Author

ritchiecarroll commented Jul 30, 2020

FYI - more complex examples that reference other project-level assemblies still fail with:

2020-07-30T19:40:09.8422992Z [MLS.Agent.Middleware.ExceptionFilter]  ❌ System.InvalidOperationException: No design time or full build available
   at WorkspaceServer.Packaging.Package.CreateRoslynWorkspace() in F:\workspace\_work\1\s\WorkspaceServer\Packaging\Package.cs:line 372
   at WorkspaceServer.Packaging.Package.ProcessFullBuildRequest(Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Packaging\Package.cs:line 351
   at WorkspaceServer.Packaging.Package.<SetupWorkspaceCreationFromBuildChannel>b__54_0(Budget budget) in F:\workspace\_work\1\s\WorkspaceServer\Packaging\Package.cs:line 309

However... These project assemblies also contain underscores in their names... If the issue is related.

@jonsequitur
Copy link
Contributor

Wow, great find! Thanks for your persistence on this.

I opened #869 to track this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants