I started to see `java.lang.IllegalStateException:...
# javascript
r
I started to see
java.lang.IllegalStateException: Provide file symbol
exception from the incremental compilation on Kotlin 2.1.0. I think it's very similar to this old, unresolved issue: https://youtrack.jetbrains.com/issue/KT-53106/KJS-IR-IllegalStateException-Provide-file-symbol-in-IdSignatureDeserializer-with-Kotlin-1.7.10
My stack trace:
Copy code
> Task :compileDevelopmentExecutableKotlinJs FAILED
e: java.lang.IllegalStateException: Provide file symbol
        at org.jetbrains.kotlin.backend.common.serialization.IdSignatureDeserializer.deserializeFileIdSignature(IdSignatureDeserializer.kt)
        at org.jetbrains.kotlin.backend.common.serialization.IdSignatureDeserializer.deserializeSignatureData(IdSignatureDeserializer.kt:106)
        at org.jetbrains.kotlin.backend.common.serialization.IdSignatureDeserializer.deserializeIdSignature(IdSignatureDeserializer.kt:34)
        at org.jetbrains.kotlin.backend.common.serialization.IdSignatureDeserializer.deserializeCompositeIdSignature(IdSignatureDeserializer.kt:83)
        at org.jetbrains.kotlin.backend.common.serialization.IdSignatureDeserializer.deserializeSignatureData(IdSignatureDeserializer.kt:104)
        at org.jetbrains.kotlin.backend.common.serialization.IdSignatureDeserializer.deserializeIdSignature(IdSignatureDeserializer.kt:34)
        at org.jetbrains.kotlin.ir.backend.js.ic.IdSignatureSerialization$FileIdSignatureSerialization.deserializeIdSignature(IdSignatureSerialization.kt:73)
        at org.jetbrains.kotlin.ir.backend.js.ic.IncrementalCache.fetchFilesWithStubbedSymbols(IncrementalCache.kt:192)
        at org.jetbrains.kotlin.ir.backend.js.ic.IncrementalCache.filesWithStubbedSignatures_delegate$lambda$2(IncrementalCache.kt:47)
        at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:83)
        at org.jetbrains.kotlin.ir.backend.js.ic.IncrementalCache.getFilesWithStubbedSignatures(IncrementalCache.kt:46)
        at org.jetbrains.kotlin.ir.backend.js.ic.IncrementalCache.collectFilesWithStubbedSignatures(IncrementalCache.kt:178)
        at org.jetbrains.kotlin.ir.backend.js.ic.CacheUpdater$CacheUpdaterInternal.collectStubbedSignatures(CacheUpdater.kt:305)
        at org.jetbrains.kotlin.ir.backend.js.ic.CacheUpdater.loadIrForDirtyFilesAndInitCompiler(CacheUpdater.kt:725)
        at org.jetbrains.kotlin.ir.backend.js.ic.CacheUpdater.loadIrAndMakeIrFragmentGenerators(CacheUpdater.kt:799)
        at org.jetbrains.kotlin.ir.backend.js.ic.CacheUpdater.actualizeCaches(CacheUpdater.kt:835)
        at org.jetbrains.kotlin.cli.js.K2JSCompiler.prepareIcCaches(K2JSCompiler.kt:799)
        at org.jetbrains.kotlin.cli.js.K2JSCompiler.doExecute(K2JSCompiler.kt:328)
        at org.jetbrains.kotlin.cli.js.K2JSCompiler.doExecute(K2JSCompiler.kt:105)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:102)
        at org.jetbrains.kotlin.cli.common.CLICompiler.exec(CLICompiler.kt:316)
        at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1554)
e
Better to open a new issue imo.
r
I'll open new issue but I'm still investigating the problem and it looks strange. I can reproduce it easily in a simple fullstack project with Spring backend. But I can't reproduce it in an identical K/JS project with Ktor backend (with the same K/JS sources) or with a simple K/JS project.
It seems stupid, but the problem only appears when I apply
io.spring.dependency-management
gradle plugin to my project. How can this plugin affect Kotlin/JS incremental compilation??? 🙃