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

update Ionide.LanguageServerProtocol #954

Merged
merged 4 commits into from
Jul 10, 2022
Merged

Conversation

baronfel
Copy link
Contributor

No description provided.

@Booksbaum
Copy link
Contributor

(#955 (comment))

About the update to 6.0.3xx - I've done it incidentally in #954, but I think something has changed such that the tests are deadlocking - my best guess is that there's a new diagnostic or something that's invalidating one of the few remaining unbounded Waits we have in the test harness.

dotnet paket update --group Main should make tests work again


Stuck test was: FSAC.lsp.Ionide WorkspaceLoader.Rename Tests.Across projects.Rename from usage across projects

Reason:
Project loading failed because:

[...]
The "ProcessFrameworkReferences" task failed unexpectedly.
System.IO.FileLoadException: Could not load file or assembly 'NuGet.Frameworks, Version=6.2.1.2, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. Could not find or load a specific file. (0x80131621)
File name: 'NuGet.Frameworks, Version=6.2.1.2, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
 ---> System.IO.FileLoadException: Could not load file or assembly 'NuGet.Frameworks, Version=6.2.1.2, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.
   at System.Runtime.Loader.AssemblyLoadContext.LoadFromPath(IntPtr ptrNativeAssemblyLoadContext, String ilPath, String niPath, ObjectHandleOnStack retAssembly)
   at System.Runtime.Loader.AssemblyLoadContext.LoadFromAssemblyPath(String assemblyPath)
   at Microsoft.Build.Shared.MSBuildLoadContext.Load(AssemblyName assemblyName)
   at System.Runtime.Loader.AssemblyLoadContext.ResolveUsingLoad(AssemblyName assemblyName)
   at System.Runtime.Loader.AssemblyLoadContext.Resolve(IntPtr gchManagedAssemblyLoadContext, AssemblyName assemblyName)
   at System.Linq.Enumerable.WhereEnumerableIterator`1.ToList()
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   at Microsoft.NET.Build.Tasks.ProcessFrameworkReferences.ExecuteCore()
   at Microsoft.NET.Build.Tasks.TaskBase.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask)
Done executing task "ProcessFrameworkReferences" -- FAILED.
Done building target "ProcessFrameworkReferences" in project "LibB.fsproj" -- FAILED.
Done building project "LibB.fsproj" -- FAILED.
Build FAILED.

(Enable logging for tests, then run test with dotnet run --project ./test/FsAutoComplete.Tests.Lsp -- --run "FSAC.lsp.Ionide WorkspaceLoader.Rename Tests.Across projects.Rename from usage across projects". Error message is somewhere at the end of a huge string in a [LSP] Workspace Notify log message)

And stuck:
We just wait for project loading to finish, but do not check if it was successful or not.
We then open a document (textDocument/DidOpen notification) and wait for its diags (textDocument/publishDiagnostics notification) -- which there are none because of project failure (and no direct error message when opening doc on client: notification without direct return value) -> we're waiting forever

@baronfel baronfel merged commit 22ab86d into ionide:main Jul 10, 2022
@baronfel baronfel deleted the update-lsp branch July 10, 2022 20:37
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

Successfully merging this pull request may close these issues.

2 participants