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

No declarations or definitions can be resolved #495

Open
GrantFleming opened this issue Sep 16, 2023 · 6 comments
Open

No declarations or definitions can be resolved #495

GrantFleming opened this issue Sep 16, 2023 · 6 comments

Comments

@GrantFleming
Copy link

GrantFleming commented Sep 16, 2023

I have VSCode setup on Windows remoting into WSL.

I have the fwcd extension installed, as well as Gradle for Java + others.

When I download a fresh gradle project from, say, spring initializr - I get some declaration/definition support immediately (I can go-to-definition of @SpringBootApplication for example) and the extension appears to work more-or-less like expected.

However on closing the project - it never works correctly again. Anytime I reopen the project, it either shows no errors, but I cannot go to any definition that is not local to the file I'm working on, or it cannot find any reference at all.

image

I do notice a big ol' stack trace in the Kotlin language server logs, but I'm unsure what the root cause of the compilation error is here.

I suspect that when I don't see the unresoved reference errors, but cannot go-to-definition as the definition is not found, this may be a different error and can open seperately.

Fresh startup logs from the Kotlin language server:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Sep 16, 2023 9:34:04 AM org.eclipse.lsp4j.jsonrpc.services.GenericEndpoint lambda$recursiveFindRpcMethods$2
SEVERE: A delegate object is null, jsonrpc methods of 'public default org.eclipse.lsp4j.services.NotebookDocumentService org.eclipse.lsp4j.services.LanguageServer.getNotebookDocumentService()' are ignored
[Info  - 9:34:05 AM] main      Adding script definitions [null]
[Info  - 9:34:05 AM] main      Kotlin Language Server: Version 1.3.5
[Error - 9:34:05 AM] main      A delegate object is null, jsonrpc methods of 'public default org.eclipse.lsp4j.services.NotebookDocumentService org.eclipse.lsp4j.services.LanguageServer.getNotebookDocumentService()' are ignored
[Info  - 9:34:05 AM] main      Connected to client
[Info  - 9:34:05 AM] async0    Adding workspace folder myscaryproject
[Info  - 9:34:05 AM] async0    Adding .../myscaryproject/MyscaryprojectApplicationTests.kt, .../myscaryproject/MyscaryprojectApplication.kt under /home/grant/myscaryproject to source path
[Info  - 9:34:05 AM] async0    Searching for dependencies and Java sources in workspace root /home/grant/myscaryproject
[Info  - 9:34:05 AM] async0    Classpath has not changed. Fetching from cache
[Info  - 9:34:05 AM] async0    Adding 55 files to class path
[Info  - 9:34:05 AM] async0    Update build script path
[Info  - 9:34:05 AM] async0    Build script classpath has not changed. Fetching from cache
[Info  - 9:34:05 AM] async0    Adding [/home/grant/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.8.22/636bf8b320e7627482771bbac9ed7246773c02bd/kotlin-stdlib-1.8.22.jar] to build script class path
[Info  - 9:34:05 AM] async0    Reinstantiating compiler
[Info  - 9:34:05 AM] async0    Adding script definitions [null]
[Info  - 9:34:05 AM] async0    Adding script definitions [null]
[Info  - 9:34:05 AM] client    Updated configuration: {"kotlin":{"java":{"home":"/usr/lib/jvm/java-17-openjdk-amd64"},"languageServer":{"enabled":true,"path":"","transport":"stdio","port":0,"debugAttach":{"enabled":false,"port":5005,"autoSuspend":false}},"trace":{"server":"off"},"compiler":{"jvm":{"target":"17"}},"linting":{"debounceTime":250},"indexing":{"enabled":true},"completion":{"snippets":{"enabled":true}},"debugAdapter":{"enabled":true,"path":""},"debounceTime":250,"externalSources":{"useKlsScheme":true,"autoConvertToKotlin":false},"snippetsEnabled":true}}
[Info  - 9:34:05 AM] async3    Find symbols in .../myscaryproject/MyscaryprojectApplication.kt
[Info  - 9:34:06 AM] async3    Finished in 216 ms
[Info  - 9:34:06 AM] async3    Ranged semantic tokens in .../myscaryproject/MyscaryprojectApplication.kt
[Info  - 9:34:07 AM] async4    Updating symbol index...
[Info  - 9:34:07 AM] async4    Updated symbol index in 28 ms! (2 symbol(s))
[Info  - 9:34:07 AM] async4    Updating symbol index...
[Info  - 9:34:07 AM] async4    Updated symbol index in 0 ms! (3 symbol(s))
[Info  - 9:34:07 AM] async4    Updating symbol index...
[Info  - 9:34:07 AM] async4    Updated symbol index in 0 ms! (5 symbol(s))
[Info  - 9:34:07 AM] async3    Found 35 tokens
[Info  - 9:34:07 AM] async3    Finished in 1554 ms
[Info  - 9:34:07 AM] async3    Full semantic tokens in .../myscaryproject/MyscaryprojectApplication.kt
[Info  - 9:34:07 AM] async3    Found 35 tokens
[Info  - 9:34:07 AM] async3    Finished in 3 ms
[Error - 9:34:07 AM] org.jetbrains.kotlin.backend.common.BackendException: Backend Internal error: Exception during file facade code generation
File being compiled: mock:////home/grant/myscaryproject/src/test/kotlin/com/example/myscaryproject/MyscaryprojectApplicationTests.kt
The root cause java.lang.IllegalStateException was thrown at: org.jetbrains.kotlin.codegen.state.KotlinTypeMapper$typeMappingConfiguration$1.processErrorType(KotlinTypeMapper.kt:124)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.backend.common.CodegenUtil.reportBackendException(CodegenUtil.kt:241)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.PackageCodegenImpl.generate(PackageCodegenImpl.java:78)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.DefaultCodegenFactory.generatePackage(CodegenFactory.kt:143)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.DefaultCodegenFactory.invokeLowerings(CodegenFactory.kt:122)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.CodegenFactory.generateModule(CodegenFactory.kt:44)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.KotlinCodegenFacade.compileCorrectFiles(KotlinCodegenFacade.java:45)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.KotlinCodegenFacade.compileCorrectFiles(KotlinCodegenFacade.java:54)
[Error - 9:34:07 AM] 	at org.javacs.kt.compiler.Compiler.generateCode(Compiler.kt:580)
[Error - 9:34:07 AM] 	at org.javacs.kt.SourcePath.save(SourcePath.kt:277)
[Error - 9:34:07 AM] 	at org.javacs.kt.SourcePath.saveAllFiles(SourcePath.kt:289)
[Error - 9:34:07 AM] 	at org.javacs.kt.KotlinTextDocumentService$lintAll$1.invoke(KotlinTextDocumentService.kt:270)
[Error - 9:34:07 AM] 	at org.javacs.kt.KotlinTextDocumentService$lintAll$1.invoke(KotlinTextDocumentService.kt:268)
[Error - 9:34:07 AM] 	at org.javacs.kt.util.Debouncer.submitImmediately$lambda$1(Debouncer.kt:27)
[Error - 9:34:07 AM] 	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
[Error - 9:34:07 AM] 	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[Error - 9:34:07 AM] 	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
[Error - 9:34:07 AM] 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[Error - 9:34:07 AM] 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[Error - 9:34:07 AM] 	at java.base/java.lang.Thread.run(Thread.java:833)
[Error - 9:34:07 AM] Caused by: java.lang.IllegalStateException: Error type encountered: [Error type: Unresolved type for SpringBootTest] (ErrorType).
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.state.KotlinTypeMapper$typeMappingConfiguration$1.processErrorType(KotlinTypeMapper.kt:124)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.load.kotlin.DescriptorBasedTypeSignatureMappingKt.mapType(descriptorBasedTypeSignatureMapping.kt:83)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.state.KotlinTypeMapper.mapType(KotlinTypeMapper.kt:276)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.state.KotlinTypeMapper.mapType$default(KotlinTypeMapper.kt:267)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.state.KotlinTypeMapper.mapType(KotlinTypeMapper.kt)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.AnnotationCodegen.genAnnotation(AnnotationCodegen.java:385)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.AnnotationCodegen.genAnnotations(AnnotationCodegen.java:153)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.AnnotationCodegen.genAnnotations(AnnotationCodegen.java:116)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.ImplementationBodyCodegen.generateDeclaration(ImplementationBodyCodegen.java:248)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.MemberCodegen.generate(MemberCodegen.java:122)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.MemberCodegen.genClassOrObject(MemberCodegen.java:305)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.MemberCodegen.genClassOrObject(MemberCodegen.java:289)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.PackageCodegenImpl.generateClassesAndObjectsInFile(PackageCodegenImpl.java:119)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.PackageCodegenImpl.generateFile(PackageCodegenImpl.java:138)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.PackageCodegenImpl.generate(PackageCodegenImpl.java:70)
[Error - 9:34:07 AM] 	... 17 more
[Error - 9:34:07 AM] org.jetbrains.kotlin.backend.common.BackendException: Backend Internal error: Exception during file facade code generation
File being compiled: mock:////home/grant/myscaryproject/src/main/kotlin/com/example/myscaryproject/MyscaryprojectApplication.kt
The root cause java.lang.IllegalStateException was thrown at: org.jetbrains.kotlin.codegen.state.KotlinTypeMapper$typeMappingConfiguration$1.processErrorType(KotlinTypeMapper.kt:124)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.backend.common.CodegenUtil.reportBackendException(CodegenUtil.kt:241)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.PackageCodegenImpl.generate(PackageCodegenImpl.java:78)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.DefaultCodegenFactory.generatePackage(CodegenFactory.kt:143)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.DefaultCodegenFactory.invokeLowerings(CodegenFactory.kt:122)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.CodegenFactory.generateModule(CodegenFactory.kt:44)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.KotlinCodegenFacade.compileCorrectFiles(KotlinCodegenFacade.java:45)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.KotlinCodegenFacade.compileCorrectFiles(KotlinCodegenFacade.java:54)
[Error - 9:34:07 AM] 	at org.javacs.kt.compiler.Compiler.generateCode(Compiler.kt:580)
[Error - 9:34:07 AM] 	at org.javacs.kt.SourcePath.save(SourcePath.kt:277)
[Error - 9:34:07 AM] 	at org.javacs.kt.SourcePath.saveAllFiles(SourcePath.kt:289)
[Error - 9:34:07 AM] 	at org.javacs.kt.KotlinTextDocumentService$lintAll$1.invoke(KotlinTextDocumentService.kt:270)
[Error - 9:34:07 AM] 	at org.javacs.kt.KotlinTextDocumentService$lintAll$1.invoke(KotlinTextDocumentService.kt:268)
[Error - 9:34:07 AM] 	at org.javacs.kt.util.Debouncer.submitImmediately$lambda$1(Debouncer.kt:27)
[Error - 9:34:07 AM] 	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
[Error - 9:34:07 AM] 	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[Error - 9:34:07 AM] 	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
[Error - 9:34:07 AM] 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[Error - 9:34:07 AM] 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[Error - 9:34:07 AM] 	at java.base/java.lang.Thread.run(Thread.java:833)
[Error - 9:34:07 AM] Caused by: java.lang.IllegalStateException: Error type encountered: [Error type: Unresolved type for SpringBootApplication] (ErrorType).
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.state.KotlinTypeMapper$typeMappingConfiguration$1.processErrorType(KotlinTypeMapper.kt:124)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.load.kotlin.DescriptorBasedTypeSignatureMappingKt.mapType(descriptorBasedTypeSignatureMapping.kt:83)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.state.KotlinTypeMapper.mapType(KotlinTypeMapper.kt:276)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.state.KotlinTypeMapper.mapType$default(KotlinTypeMapper.kt:267)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.state.KotlinTypeMapper.mapType(KotlinTypeMapper.kt)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.AnnotationCodegen.genAnnotation(AnnotationCodegen.java:385)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.AnnotationCodegen.genAnnotations(AnnotationCodegen.java:153)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.AnnotationCodegen.genAnnotations(AnnotationCodegen.java:116)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.ImplementationBodyCodegen.generateDeclaration(ImplementationBodyCodegen.java:248)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.MemberCodegen.generate(MemberCodegen.java:122)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.MemberCodegen.genClassOrObject(MemberCodegen.java:305)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.MemberCodegen.genClassOrObject(MemberCodegen.java:289)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.PackageCodegenImpl.generateClassesAndObjectsInFile(PackageCodegenImpl.java:119)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.PackageCodegenImpl.generateFile(PackageCodegenImpl.java:138)
[Error - 9:34:07 AM] 	at org.jetbrains.kotlin.codegen.PackageCodegenImpl.generate(PackageCodegenImpl.java:70)
[Error - 9:34:07 AM] 	... 17 more
[Info  - 9:34:07 AM] debounce0 Linting .../myscaryproject/MyscaryprojectApplication.kt
[Info  - 9:34:07 AM] async4    Updating full symbol index...
[Info  - 9:34:07 AM] debounce0 Reported 7 diagnostics in .../myscaryproject/MyscaryprojectApplication.kt
@MagnusMG
Copy link

I get the same problem, but I'm on macos. My project compiles fine when I run gradle build. I have tried both the automatically downloaded language server and a local build from Github.

@themkat
Copy link
Collaborator

themkat commented Nov 27, 2023

@MagnusMG , would you like to share some logs? Would help a lot when debugging causes for the issues 🙂

My guess based upon this and my earlier experiences makes me think that the recently introduced caching solution (#337 ) have some bugs. Some projects have been behaving weirdly, and I've had to delete the symbol database to get it working again. This is usually found in the root of your project, called kls_database.db. Might be a temporary workaround for someone experiencing weird issues like this.

@MagnusMG
Copy link

Absolutely. I put the log here.

I'm afraid I cannot find the file kls_database.db.

@themkat
Copy link
Collaborator

themkat commented Nov 28, 2023

Seems like VSCode saves the files in a special workspace directory, example on my Mac: Library/Application\ Support/Code/User/workspaceStorage/184e57edab10e06220a4a0d28a068565/fwcd.kotlin/kls_database.db. Think it is somewhere inside APPDATA or whatever on Windows. Might not be the issue, but always good for the person googling in the future to get some suggestions 😛 (or if any of you want to fiddle with deleting these files as a workaround).

@MagnusMG
Copy link

I found the file kls_database.db and deleted it. (Well, I deleted the entire folder workSpaceStorage). Still the same problem.

I noticed that I don't have any problems in other, similar projects. So it is nothing particular with my VSCode setup, but just this project. I'll create a new project fresh from gradle init, copy my source files into it, and see if I can get it to work.

@MagnusMG
Copy link

MagnusMG commented Dec 3, 2023

I created a new folder, ran gradle init, and then copied the source code files from the old folder into the new one, and the gradle.build files, and then it all worked fine. I would be great to know more precisely what went wrong, but this workaround is much better than nothing.

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