kcl icon indicating copy to clipboard operation
kcl copied to clipboard

Language server compilation error and no syntax highlighting in vscode when code is valid on Windows

Open markphillips100 opened this issue 9 months ago • 12 comments

1. Minimal reproduce step (Required)

I've added a minimal repro sample here that triggers error popups in VSCode along with no syntax highlighting, even though the code is valid (I think).

It "feels" like the server has a problem with the filter statement but this could be just a false observation on my part.

Whenever the issue arises and I make some change to rectify, I always have to restart VSCode to test if the server is okay again.

2. What did you expect to see? (Required)

Syntax highlighting should work even if there is a compilation error and indicate what the error is to the user.

If I comment the code in resources/contributorAssignees.k and restart VSCode, main.k shows the following expected highlighting and no errors from language server.

image

3. What did you see instead (Required)

I see errors under the kcl language server output window:

[Info  - 7:47:28 PM] on did open file: AbsPathBuf("d:\\Dev\\github\\kcl-test\\main.k")
thread '<unnamed>' panicked at sema\src\core\global_state.rs:514:66:
called `Option::unwrap()` on a `None` value
[Info  - 7:47:29 PM] Compile failed: "Compile failed: Any { .. }"
[Error - 7:47:29 PM] Request textDocument/documentSymbol failed.
  Message: Internal bug: Path d:\Dev\github\kcl-test\main.k analysisDatabase not found, maybe compile failed
  Code: -32603 
[Error - 7:47:29 PM] Request textDocument/semanticTokens/full failed.
  Message: Internal bug: Path d:\Dev\github\kcl-test\main.k analysisDatabase not found, maybe compile failed
  Code: -32603 

main.k shows no coloured highlighting.

image

4. What is your KCL components version? (Required)

kcl --version: 0.8.6 kcl-language-server: 0.8.5 VSCode extension "KCL" by kcl_extension_publisher v0.1.6 VSCode v1.88.1 Windows 11

markphillips100 avatar Apr 27 '24 10:04 markphillips100

Thank you for your feedback. There are indeed bugs in version 0.8.5 of the language server, which have been fixed. We will release version 0.8.6 later.

cc @He1pa

Peefy avatar Apr 27 '24 18:04 Peefy

Closed by https://github.com/kcl-lang/kcl/pull/1247 and released kcl-language-server v0.8.6

Peefy avatar Apr 30 '24 22:04 Peefy

@Peefy is this supposed to be fixed in kcl-language-server v0.8.6? I just bumped kcl to v0.8.7 and kcl-language-server to v0.8.6 and still seeing the same issue with my test repo (pull latest as I removed a file from the "language-error" branch.

markphillips100 avatar May 01 '24 01:05 markphillips100

cc @He1pa Can you help investigate it on the Windows platform. The code repo is here. https://github.com/markphillips100/kcllsp-test

I was unable to successfully reproduce the issue.

Peefy avatar May 01 '24 03:05 Peefy

Just FYI @Peefy @He1pa , I got hold of a macbook briefly and tried my test repo and also my real compositions repo under the same conditions. No problem on the mac so appears this may be a windows OS only thing.

markphillips100 avatar May 05 '24 00:05 markphillips100

Thank you! @markphillips100 We will fix it soon. ❤

Peefy avatar May 05 '24 00:05 Peefy

Closed by #1283, will release kcl-language-server v0.8.7 soon.

Peefy avatar May 08 '24 09:05 Peefy

Hi @Peefy kcl-language-server v0.8.7 appears to fix the current test repo, however my real code is still throwing errors in the language server - usual "compile failed code: -32603". Something else causing a problem now I suspect.

I'll see if I can narrow it down and update the test repo.

markphillips100 avatar May 09 '24 01:05 markphillips100

Thank you @markphillips100 Could you please give more language server logs?

Peefy avatar May 09 '24 01:05 Peefy

Yep. I'll copy code for one of my compositions into a new test repo, the smallest one that breaks, and reference here when available with logs attached.

markphillips100 avatar May 09 '24 01:05 markphillips100

@Peefy I've added branch error2 and included one of my real compositions. Note, there seems to be a separate issue in regards to some schema complaints around matchControllerRef. You'll see assuming syntax highlighting works for you. I know the code compiles and is used by function-kcl so not sure what the complaint the compiler has here. Anyway, back to the main issue...

What I've observed is that if I close any open files, close VSCode, reopen it and wait a few seconds then select main.k, syntax highlighting appears, and if I select each file in the project it'll show correct highlighting.

If I do the same but open the resources/notification.k file, or any of the files in resources actually, then the language errors start. Here's log output:

[Info  - 12:10:30 PM] on did open file: AbsPathBuf("d:\\Dev\\github\\kcl-test\\resources\\notification.k")
thread '<unnamed>' panicked at sema\src\core\global_state.rs:514:66:
called `Option::unwrap()` on a `None` value
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[Info  - 12:10:32 PM] Compile failed: "Compile failed: Any { .. }"
[Error - 12:10:32 PM] Request textDocument/documentSymbol failed.
  Message: Internal bug: Path d:\Dev\github\kcl-test\resources\notification.k analysisDatabase not found, maybe compile failed
  Code: -32603 
[Error - 12:10:32 PM] Request textDocument/semanticTokens/full failed.
  Message: Internal bug: Path d:\Dev\github\kcl-test\resources\notification.k analysisDatabase not found, maybe compile failed
  Code: -32603 
[Error - 12:10:34 PM] Request textDocument/semanticTokens/full failed.
  Message: Internal bug: Path d:\Dev\github\kcl-test\resources\notification.k analysisDatabase not found, maybe compile failed
  Code: -32603 
[Error - 12:10:35 PM] Request textDocument/semanticTokens/full failed.
  Message: Internal bug: Path d:\Dev\github\kcl-test\resources\notification.k analysisDatabase not found, maybe compile failed
  Code: -32603 
[Error - 12:10:36 PM] Request textDocument/semanticTokens/full failed.
  Message: Internal bug: Path d:\Dev\github\kcl-test\resources\notification.k analysisDatabase not found, maybe compile failed
  Code: -32603 

markphillips100 avatar May 09 '24 02:05 markphillips100

cc @He1pa Can you help investigate this issue?

Peefy avatar May 09 '24 02:05 Peefy

Closed by #1301 and release kcl-language-server v0.9.0-alpha.1

Peefy avatar May 14 '24 08:05 Peefy

@Peefy I'll give it go tomorrow and give you feedback.

markphillips100 avatar May 14 '24 08:05 markphillips100

@Peefy all looks great in all my kcl composition code on windows, so thank you and @He1pa

markphillips100 avatar May 14 '24 22:05 markphillips100

@Peefy I've added branch error2 and included one of my real compositions. Note, there seems to be a separate issue in regards to some schema complaints around matchControllerRef. You'll see assuming syntax highlighting works for you. I know the code compiles and is used by function-kcl so not sure what the complaint the compiler has here. Anyway, back to the main issue...

What I've observed is that if I close any open files, close VSCode, reopen it and wait a few seconds then select main.k, syntax highlighting appears, and if I select each file in the project it'll show correct highlighting.

If I do the same but open the resources/notification.k file, or any of the files in resources actually, then the language errors start. Here's log output:

[Info  - 12:10:30 PM] on did open file: AbsPathBuf("d:\\Dev\\github\\kcl-test\\resources\\notification.k")
thread '<unnamed>' panicked at sema\src\core\global_state.rs:514:66:
called `Option::unwrap()` on a `None` value
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[Info  - 12:10:32 PM] Compile failed: "Compile failed: Any { .. }"
[Error - 12:10:32 PM] Request textDocument/documentSymbol failed.
  Message: Internal bug: Path d:\Dev\github\kcl-test\resources\notification.k analysisDatabase not found, maybe compile failed
  Code: -32603 
[Error - 12:10:32 PM] Request textDocument/semanticTokens/full failed.
  Message: Internal bug: Path d:\Dev\github\kcl-test\resources\notification.k analysisDatabase not found, maybe compile failed
  Code: -32603 
[Error - 12:10:34 PM] Request textDocument/semanticTokens/full failed.
  Message: Internal bug: Path d:\Dev\github\kcl-test\resources\notification.k analysisDatabase not found, maybe compile failed
  Code: -32603 
[Error - 12:10:35 PM] Request textDocument/semanticTokens/full failed.
  Message: Internal bug: Path d:\Dev\github\kcl-test\resources\notification.k analysisDatabase not found, maybe compile failed
  Code: -32603 
[Error - 12:10:36 PM] Request textDocument/semanticTokens/full failed.
  Message: Internal bug: Path d:\Dev\github\kcl-test\resources\notification.k analysisDatabase not found, maybe compile failed
  Code: -32603 

I also fixed the issue you mentioned which falsely report error about schema config

He1pa avatar May 16 '24 06:05 He1pa

Yes thank you. I did notice that was working now too. Great work

markphillips100 avatar May 16 '24 07:05 markphillips100