VSCode language server won't start

Hi all :slight_smile:

The VSCode language server won’t start for me. I’m using Windows 10, julia-1.7.0-beta3, VSCode-1.58 and VSCode extention juliainsider-1.3.13. I get the following error

┌ Error: Some Julia code in the VS Code extension crashed
└ @ Main c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\error_handler.jl:15
ERROR: MethodError: no method matching isinmanifest(::Pkg.Types.Manifest, ::Base.UUID)
Closest candidates are:
  isinmanifest(!Matched::Pkg.Types.Context, ::Base.UUID) at c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\utils.jl:95
  isinmanifest(!Matched::Dict{Base.UUID, Pkg.Types.PackageEntry}, ::Base.UUID) at c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\utils.jl:96
Stacktrace:
 [1] load_package_from_cache_into_store!(ssi::SymbolServerInstance, uuid::Base.UUID, manifest::Pkg.Types.Manifest, store::Dict{Symbol, SymbolServer.ModuleStore})
   @ SymbolServer c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\SymbolServer.jl:169
 [2] load_project_packages_into_store!(ssi::SymbolServerInstance, environment_path::String, store::Dict{Symbol, SymbolServer.ModuleStore})
   @ SymbolServer c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\SymbolServer.jl:159
 [3] getstore(ssi::SymbolServerInstance, environment_path::String, progress_callback::LanguageServer.var"#93#95"{LanguageServerInstance}, error_handler::var"#3#4"; download::Bool)
   @ SymbolServer c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\SymbolServer.jl:117
 [4] getstore(ssi::SymbolServerInstance, environment_path::String, progress_callback::Function, error_handler::Function)
   @ SymbolServer c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\SymbolServer.jl:27
 [5] macro expansion
   @ c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\LanguageServer\src\languageserverinstance.jl:176 [inlined]
 [6] (::LanguageServer.var"#92#94"{LanguageServerInstance})()
   @ LanguageServer .\task.jl:411
[Info  - 12:28:14 AM] Connection to server got closed. Server will restart.
┌ Error: Some Julia code in the VS Code extension crashed
└ @ Main c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\error_handler.jl:15
ERROR: MethodError: no method matching isinmanifest(::Pkg.Types.Manifest, ::Base.UUID)
Closest candidates are:
  isinmanifest(!Matched::Pkg.Types.Context, ::Base.UUID) at c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\utils.jl:95
  isinmanifest(!Matched::Dict{Base.UUID, Pkg.Types.PackageEntry}, ::Base.UUID) at c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\utils.jl:96
Stacktrace:
 [1] load_package_from_cache_into_store!(ssi::SymbolServerInstance, uuid::Base.UUID, manifest::Pkg.Types.Manifest, store::Dict{Symbol, SymbolServer.ModuleStore})
   @ SymbolServer c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\SymbolServer.jl:169
 [2] load_project_packages_into_store!(ssi::SymbolServerInstance, environment_path::String, store::Dict{Symbol, SymbolServer.ModuleStore})
   @ SymbolServer c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\SymbolServer.jl:159
 [3] getstore(ssi::SymbolServerInstance, environment_path::String, progress_callback::LanguageServer.var"#93#95"{LanguageServerInstance}, error_handler::var"#3#4"; download::Bool)
   @ SymbolServer c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\SymbolServer.jl:117
 [4] getstore(ssi::SymbolServerInstance, environment_path::String, progress_callback::Function, error_handler::Function)
   @ SymbolServer c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\SymbolServer.jl:27
 [5] macro expansion
   @ c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\LanguageServer\src\languageserverinstance.jl:176 [inlined]
 [6] (::LanguageServer.var"#92#94"{LanguageServerInstance})()
   @ LanguageServer .\task.jl:411
[Info  - 12:28:37 AM] Connection to server got closed. Server will restart.
┌ Error: Some Julia code in the VS Code extension crashed
└ @ Main c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\error_handler.jl:15
ERROR: MethodError: no method matching isinmanifest(::Pkg.Types.Manifest, ::Base.UUID)
Closest candidates are:
  isinmanifest(!Matched::Pkg.Types.Context, ::Base.UUID) at c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\utils.jl:95
  isinmanifest(!Matched::Dict{Base.UUID, Pkg.Types.PackageEntry}, ::Base.UUID) at c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\utils.jl:96
Stacktrace:
 [1] load_package_from_cache_into_store!(ssi::SymbolServerInstance, uuid::Base.UUID, manifest::Pkg.Types.Manifest, store::Dict{Symbol, SymbolServer.ModuleStore})
   @ SymbolServer c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\SymbolServer.jl:169
 [2] load_project_packages_into_store!(ssi::SymbolServerInstance, environment_path::String, store::Dict{Symbol, SymbolServer.ModuleStore})
   @ SymbolServer c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\SymbolServer.jl:159
 [3] getstore(ssi::SymbolServerInstance, environment_path::String, progress_callback::LanguageServer.var"#93#95"{LanguageServerInstance}, error_handler::var"#3#4"; download::Bool)
   @ SymbolServer c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\SymbolServer.jl:117
 [4] getstore(ssi::SymbolServerInstance, environment_path::String, progress_callback::Function, error_handler::Function)
   @ SymbolServer c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\SymbolServer\src\SymbolServer.jl:27
 [5] macro expansion
   @ c:\Users\<user>\.vscode\extensions\julialang.language-julia-insider-1.3.13\scripts\packages\LanguageServer\src\languageserverinstance.jl:176 [inlined]
 [6] (::LanguageServer.var"#92#94"{LanguageServerInstance})()
   @ LanguageServer .\task.jl:411
[Error - 12:29:01 AM] Connection to server got closed. Server will not be restarted.

We don’t support 1.7 yet.

Oh ty!

1 Like

Hi,

not trying to necropost, but I don’t think this problem is limited to 1.7.
I just freshly installed julia 1.6.2 (didn’t even notive the new patch release unitl language server didn’t start) with the current stable releases of VSCode (1.85.2) and the Julia Extension (1.2.7). Julia outputs:

julia> versioninfo()
Julia Version 1.6.2
Commit 1b93d53fc4 (2021-07-14 15:36 UTC)
Platform Info:
  OS: Windows (x86_64-w64-mingw32)      
  CPU: Intel(R) Core(TM) i7-5600U CPU @ 2.60GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.1 (ORCJIT, broadwell)
Environment:
  JULIA_EDITOR = code
  JULIA_NUM_THREADS = 4

And the language server extension also crashes:

[ Info: Starting the Julia Language Server
[ Info: Symbol server store is at 'c:\Users\Max\AppData\Roaming\Code\User\globalStorage\julialang.language-julia\symbolstorev5'.
┌ Error: Some Julia code in the VS Code extension crashed
└ @ Main c:\Users\Max\.vscode\extensions\julialang.language-julia-1.2.7\scripts\error_handler.jl:15
ERROR: MethodError: no method matching isinmanifest(::Pkg.Types.Manifest, ::Base.UUID)
Closest candidates are:
  isinmanifest(!Matched::Pkg.Types.Context, ::Base.UUID) at c:\Users\Max\.vscode\extensions\julialang.language-julia-1.2.7\scripts\packages\SymbolServer\src\utils.jl:95
  isinmanifest(!Matched::Dict{Base.UUID, Pkg.Types.PackageEntry}, ::Base.UUID) at c:\Users\Max\.vscode\extensions\julialang.language-julia-1.2.7\scripts\packages\SymbolServer\src\utils.jl:96
Stacktrace:
 [1] load_package_from_cache_into_store!(ssi::SymbolServerInstance, uuid::Base.UUID, manifest::Pkg.Types.Manifest, store::Dict{Symbol, SymbolServer.ModuleStore})
   @ SymbolServer c:\Users\Max\.vscode\extensions\julialang.language-julia-1.2.7\scripts\packages\SymbolServer\src\SymbolServer.jl:169
 [2] load_project_packages_into_store!(ssi::SymbolServerInstance, environment_path::String, store::Dict{Symbol, SymbolServer.ModuleStore})
   @ SymbolServer c:\Users\Max\.vscode\extensions\julialang.language-julia-1.2.7\scripts\packages\SymbolServer\src\SymbolServer.jl:159
 [3] getstore(ssi::SymbolServerInstance, environment_path::String, progress_callback::LanguageServer.var"#93#95"{LanguageServerInstance}, error_handler::var"#3#4"; download::Bool)
   @ SymbolServer c:\Users\Max\.vscode\extensions\julialang.language-julia-1.2.7\scripts\packages\SymbolServer\src\SymbolServer.jl:117
 [4] getstore(ssi::SymbolServerInstance, environment_path::String, progress_callback::Function, error_handler::Function)
   @ SymbolServer c:\Users\Max\.vscode\extensions\julialang.language-julia-1.2.7\scripts\packages\SymbolServer\src\SymbolServer.jl:27
 [5] macro expansion
   @ c:\Users\Max\.vscode\extensions\julialang.language-julia-1.2.7\scripts\packages\LanguageServer\src\languageserverinstance.jl:176 [inlined]
 [6] (::LanguageServer.var"#92#94"{LanguageServerInstance})()
   @ LanguageServer .\task.jl:411
[Info  - 17:16:01] Connection to server got closed. Server will restart.

From my end this look like this was introduced by this PR where a stricter type enforcement for the Manifest was introduced in Pkg.jl. Before it used const Manifest = Dict{UUID,PackageEntry} but now has a new type simply called Manifest. This was then backported into 1.6.2 here I guess.

I think going back to julia 1.6.1 would solve this issue for now.

3 Likes

This should be fixed now in the latest vscode julia extension build, for 1.6.2 and up

1 Like

Great! Thanks!