After updating to 1.3.31 my builds started failing on linkTestDebugExecutableIos task. Tracked the issue down to unit tests referencing an enum class nested in another class. Check the Foo and FooTests classes in the reproducible zip attached. If you comment out the tests the project builds successfully.
> Task :greeting:linkTestDebugExecutableIos
e: Compilation failed: Could not find serialized descriptor for index: -8498428572239168977 org.greeting,Foo.Bar.SPORTS,<init>
* Source files: CalculatorTest.kt, FooTests.kt
* Compiler version info: Konan: 1.2.1 / Kotlin: 1.3.31
* Output kind: PROGRAM
e: java.lang.IllegalStateException: Could not find serialized descriptor for index: -8498428572239168977 org.greeting,Foo.Bar.SPORTS,<init>
at org.jetbrains.kotlin.backend.konan.serialization.DescriptorReferenceDeserializer.deserializeDescriptorReference(DeserializeDescriptorReference.kt:125)
at org.jetbrains.kotlin.backend.konan.serialization.KotlinIrLinker$IrDeserializerForModule.deserializeDescriptorReference(KotlinIrLinker.kt:194)
at org.jetbrains.kotlin.backend.konan.serialization.KotlinIrLinker$IrDeserializerForModule.deserializeIrSymbolData(KotlinIrLinker.kt:166)
at org.jetbrains.kotlin.backend.konan.serialization.KotlinIrLinker$IrDeserializerForModule.deserializeIrSymbol(KotlinIrLinker.kt:144)
at org.jetbrains.kotlin.backend.konan.serialization.IrModuleDeserializer.deserializeIrConstructor(IrModuleDeserializer.kt:955)
at org.jetbrains.kotlin.backend.konan.serialization.IrModuleDeserializer.deserializeDeclaration(IrModuleDeserializer.kt:1120)
at org.jetbrains.kotlin.backend.konan.serialization.IrModuleDeserializer.deserializeIrClass(IrModuleDeserializer.kt:801)
at org.jetbrains.kotlin.backend.konan.serialization.IrModuleDeserializer.deserializeDeclaration(IrModuleDeserializer.kt:1124)
at org.jetbrains.kotlin.backend.konan.serialization.IrModuleDeserializer.deserializeIrEnumEntry(IrModuleDeserializer.kt:914)
at org.jetbrains.kotlin.backend.konan.serialization.IrModuleDeserializer.deserializeDeclaration(IrModuleDeserializer.kt:1138)
at org.jetbrains.kotlin.backend.konan.serialization.IrModuleDeserializer.deserializeIrClass(IrModuleDeserializer.kt:801)
at org.jetbrains.kotlin.backend.konan.serialization.IrModuleDeserializer.deserializeDeclaration(IrModuleDeserializer.kt:1124)
at org.jetbrains.kotlin.backend.konan.serialization.IrModuleDeserializer.deserializeIrClass(IrModuleDeserializer.kt:801)
at org.jetbrains.kotlin.backend.konan.serialization.IrModuleDeserializer.deserializeDeclaration(IrModuleDeserializer.kt:1124)
at org.jetbrains.kotlin.backend.konan.serialization.KotlinIrLinker.deserializeTopLevelDeclaration(KotlinIrLinker.kt:293)
at org.jetbrains.kotlin.backend.konan.serialization.KotlinIrLinker.deserializeAllReachableTopLevels(KotlinIrLinker.kt:325)
at org.jetbrains.kotlin.backend.konan.serialization.KotlinIrLinker.findDeserializedDeclarationForDescriptor(KotlinIrLinker.kt:355)
at org.jetbrains.kotlin.backend.konan.serialization.KotlinIrLinker.findDeserializedDeclaration(KotlinIrLinker.kt:362)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator$generateClassStub$1.invoke(DeclarationStubGenerator.kt:198)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator$generateClassStub$1.invoke(DeclarationStubGenerator.kt:35)
at org.jetbrains.kotlin.ir.util.SymbolTable.declareClass(SymbolTable.kt:554)
at org.jetbrains.kotlin.ir.util.SymbolTable.declareClass$default(SymbolTable.kt:236)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator.generateClassStub$ir_tree(DeclarationStubGenerator.kt:195)
at org.jetbrains.kotlin.ir.util.ExternalDependenciesGenerator$DependencyGenerationTask.run(ExternalDependenciesGenerator.kt:44)
at org.jetbrains.kotlin.ir.util.ExternalDependenciesGenerator.generateUnboundSymbolsAsDependencies(ExternalDependenciesGenerator.kt:36)
at org.jetbrains.kotlin.psi2ir.generators.ModuleGenerator.generateUnboundSymbolsAsDependencies(ModuleGenerator.kt:48)
at org.jetbrains.kotlin.psi2ir.Psi2IrTranslator.generateModuleFragment(Psi2IrTranslator.kt:61)
at org.jetbrains.kotlin.backend.konan.ToplevelPhasesKt$psiToIrPhase$1.invoke(ToplevelPhases.kt:98)
at org.jetbrains.kotlin.backend.konan.ToplevelPhasesKt$psiToIrPhase$1.invoke(ToplevelPhases.kt)
at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$namedOpUnitPhase$1.invoke(PhaseBuilders.kt:58)
at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$namedOpUnitPhase$1.invoke(PhaseBuilders.kt:56)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper$runBody$1.invoke(CompilerPhase.kt:91)
at org.jetbrains.kotlin.backend.common.phaser.CompilerPhaseKt.downlevel(CompilerPhase.kt:18)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.runBody(CompilerPhase.kt:90)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.invoke(CompilerPhase.kt:73)
at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$then$1.invoke(PhaseBuilders.kt:15)
at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$then$1.invoke(PhaseBuilders.kt:14)
at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$then$1.invoke(PhaseBuilders.kt:14)
at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$then$1.invoke(PhaseBuilders.kt:14)
at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$then$1.invoke(PhaseBuilders.kt:14)
at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$then$1.invoke(PhaseBuilders.kt:14)
at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$then$1.invoke(PhaseBuilders.kt:14)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper$runBody$1.invoke(CompilerPhase.kt:91)
at org.jetbrains.kotlin.backend.common.phaser.CompilerPhaseKt.downlevel(CompilerPhase.kt:18)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.runBody(CompilerPhase.kt:90)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.invoke(CompilerPhase.kt:73)
at org.jetbrains.kotlin.backend.common.phaser.CompilerPhaseKt.invokeToplevel(CompilerPhase.kt:33)
at org.jetbrains.kotlin.backend.konan.KonanDriverKt.runTopLevelPhases(KonanDriver.kt:30)
at org.jetbrains.kotlin.cli.bc.K2Native.doExecute(K2Native.kt:78)
at org.jetbrains.kotlin.cli.bc.K2Native.doExecute(K2Native.kt:35)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:84)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:42)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:103)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:81)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:49)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit(CLITool.kt:214)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMain(CLITool.kt:206)
at org.jetbrains.kotlin.cli.bc.K2Native$Companion$main$1.invoke(K2Native.kt:217)
at org.jetbrains.kotlin.cli.bc.K2Native$Companion$main$1.invoke(K2Native.kt:208)
at org.jetbrains.kotlin.konan.util.UtilKt.profileIf(Util.kt:39)
at org.jetbrains.kotlin.konan.util.UtilKt.profile(Util.kt:33)
at org.jetbrains.kotlin.cli.bc.K2Native$Companion.main(K2Native.kt:210)
at org.jetbrains.kotlin.cli.bc.K2NativeKt.main(K2Native.kt:296)
at org.jetbrains.kotlin.cli.utilities.MainKt.main(main.kt:16)
> Task :greeting:linkTestDebugExecutableIos FAILED
Same issue, on 1.3.31, seems to also be related to a nested enum, after moving from 1.3.21 to 1.3.31. Although, on my side, it's the mingwX64 that's broken, whereas the iOS X64, Arm64 and Arm32 are building just fine.
I have a similar build failure when I add kotlinx.coroutines 1.2.1 to current version of the objc sample from this repository:
sourceSets {
objcMain {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core-native:1.2.1")
}
}
}
It seems to be related to the "moving fast" policy regarding backwards and forward compatibility of Kotlin/Native. The sample was running on 1.3.40-dev-2451 which is not the version kotlinx.coroutines 1.2.1 has been compiled against. As soon as I made it use 1.3.31 by editing root gradle.properties file, I could compile successfully, and Coroutines rock on macOS!
Are you using a library that may have been compiled with an older version of Kotlin?
Unfortunately, same IntelliJ (2019.1.2), same Kotlin version (1.3.31), including Gradle plugin and Kotlin-serialization, for the mpp library I'm building. The issue is happening with one enum from this library when trying to compile on mingw. Not sure that it can have an impact, but kotlinx-serialization and Kotlin-coroutines are built for 1.3.30 and are declared as dependencies of the mpp library...
Reproduced with 1.3.50 too:
Reproduced in travis via clean build here: https://travis-ci.org/korlibs/korau/jobs/609810082#L509
> Task :korau:linkDebugTestLinuxX64
e: Compilation failed: Could not find serialized descriptor for index: -4899686781878184055 com.soywiz.korau.format.mp3,MiniMp3,cfunc
* Source files: AllTargetsSupportMp3.kt, AudioStreamGeneratorTest.kt, AudioToneTest.kt, AudioFormatTest.kt, DecodeTest.kt, SoftMp3DecoderTest.kt, NativeAudioStreamNativeLinuxTest.kt, NativeMp3DecoderTest.kt, NativeOggVorbisDecoderFormatTest.kt, PlaySoundNativeTest.kt
* Compiler version info: Konan: 1.3.50 / Kotlin: 1.3.50
* Output kind: PROGRAM
e: java.lang.IllegalStateException: Could not find serialized descriptor for index: -4899686781878184055 com.soywiz.korau.format.mp3,MiniMp3,cfunc
at org.jetbrains.kotlin.backend.common.serialization.DescriptorReferenceDeserializer.deserializeDescriptorReference(DeserializeDescriptorReference.kt:171)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrDeserializerForModule.deserializeDescriptorReference(KotlinIrLinker.kt:208)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrDeserializerForModule.deserializeIrSymbolData(KotlinIrLinker.kt:180)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrDeserializerForModule.deserializeIrSymbol(KotlinIrLinker.kt:158)
at org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializer.deserializeSimpleType(IrModuleDeserializer.kt:102)
at org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializer.deserializeIrTypeData(IrModuleDeserializer.kt:134)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrDeserializerForModule.deserializeIrType(KotlinIrLinker.kt:163)
at org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializer.deserializeIrTypeArgument(IrModuleDeserializer.kt:87)
at org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializer.deserializeSimpleType(IrModuleDeserializer.kt:107)
at org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializer.deserializeIrTypeData(IrModuleDeserializer.kt:134)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrDeserializerForModule.deserializeIrType(KotlinIrLinker.kt:163)
at org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializer$deserializeIrFunction$$inlined$withDeserializedIrFunctionBase$lambda$2.invoke(IrModuleDeserializer.kt:955)
at org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializer$deserializeIrFunction$$inlined$withDeserializedIrFunctionBase$lambda$2.invoke(IrModuleDeserializer.kt:48)
at org.jetbrains.kotlin.ir.util.SymbolTable.declareSimpleFunction(SymbolTable.kt:700)
at org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializer.deserializeIrFunction(IrModuleDeserializer.kt:945)
at org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializer.deserializeIrProperty(IrModuleDeserializer.kt:1120)
at org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializer.deserializeDeclaration(IrModuleDeserializer.kt:1187)
at org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializer.deserializeIrClass(IrModuleDeserializer.kt:913)
at org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializer.deserializeDeclaration(IrModuleDeserializer.kt:1183)
at org.jetbrains.kotlin.backend.common.serialization.IrModuleDeserializer.deserializeDeclaration(IrModuleDeserializer.kt:1209)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker.deserializeTopLevelDeclaration(KotlinIrLinker.kt:311)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker.deserializeAllReachableTopLevels(KotlinIrLinker.kt:368)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker.findDeserializedDeclarationForDescriptor(KotlinIrLinker.kt:398)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker.findDeserializedDeclaration(KotlinIrLinker.kt:405)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator$generateClassStub$1.invoke(DeclarationStubGenerator.kt:206)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator$generateClassStub$1.invoke(DeclarationStubGenerator.kt:34)
at org.jetbrains.kotlin.ir.util.SymbolTable.declareClass(SymbolTable.kt:553)
at org.jetbrains.kotlin.ir.util.SymbolTable.declareClass$default(SymbolTable.kt:229)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator.generateClassStub$ir_tree(DeclarationStubGenerator.kt:205)
at org.jetbrains.kotlin.ir.util.ExternalDependenciesGenerator.generateUnboundSymbolsAsDependencies(ExternalDependenciesGenerator.kt:43)
at org.jetbrains.kotlin.psi2ir.generators.ModuleGenerator.generateUnboundSymbolsAsDependencies(ModuleGenerator.kt:60)
at org.jetbrains.kotlin.psi2ir.generators.ModuleGenerator.generateUnboundSymbolsAsDependencies$default(ModuleGenerator.kt:51)
at org.jetbrains.kotlin.psi2ir.Psi2IrTranslator.generateModuleFragment(Psi2IrTranslator.kt:80)
at org.jetbrains.kotlin.backend.konan.ToplevelPhasesKt$psiToIrPhase$1.invoke(ToplevelPhases.kt:163)
at org.jetbrains.kotlin.backend.konan.ToplevelPhasesKt$psiToIrPhase$1.invoke(ToplevelPhases.kt)
at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$namedOpUnitPhase$1.invoke(PhaseBuilders.kt:115)
at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$namedOpUnitPhase$1.invoke(PhaseBuilders.kt:113)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper$runBody$1.invoke(CompilerPhase.kt:128)
at org.jetbrains.kotlin.backend.common.phaser.CompilerPhaseKt.downlevel(CompilerPhase.kt:24)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.runBody(CompilerPhase.kt:127)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.invoke(CompilerPhase.kt:105)
at org.jetbrains.kotlin.backend.common.phaser.CompositePhase.invoke(PhaseBuilders.kt:28)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper$runBody$1.invoke(CompilerPhase.kt:128)
at org.jetbrains.kotlin.backend.common.phaser.CompilerPhaseKt.downlevel(CompilerPhase.kt:24)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.runBody(CompilerPhase.kt:127)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.invoke(CompilerPhase.kt:105)
at org.jetbrains.kotlin.backend.common.phaser.CompilerPhaseKt.invokeToplevel(CompilerPhase.kt:42)
at org.jetbrains.kotlin.backend.konan.KonanDriverKt.runTopLevelPhases(KonanDriver.kt:27)
at org.jetbrains.kotlin.cli.bc.K2Native.doExecute(K2Native.kt:79)
at org.jetbrains.kotlin.cli.bc.K2Native.doExecute(K2Native.kt:34)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:84)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:42)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:104)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:82)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:50)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit(CLITool.kt:215)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMain(CLITool.kt:207)
at org.jetbrains.kotlin.cli.bc.K2Native$Companion$main$1.invoke(K2Native.kt:223)
at org.jetbrains.kotlin.cli.bc.K2Native$Companion$main$1.invoke(K2Native.kt:220)
at org.jetbrains.kotlin.konan.util.UtilKt.profileIf(Util.kt:26)
at org.jetbrains.kotlin.konan.util.UtilKt.profile(Util.kt:21)
at org.jetbrains.kotlin.cli.bc.K2Native$Companion.main(K2Native.kt:222)
at org.jetbrains.kotlin.cli.bc.K2NativeKt.main(K2Native.kt:304)
at org.jetbrains.kotlin.cli.utilities.MainKt.main(main.kt:16)
> Task :korau:linkDebugTestLinuxX64 FAILED
FAILURE: Build failed with an exception.
Having the same problem on the following:
Kotlin: 1.3.61
Ktor: 1.2.6
Coroutines: 1.3.2-1.3.60
e: java.lang.IllegalStateException: Could not find serialized descriptor for index: -6614713790654178244 kotlinx.coroutines.internal,<root>,SharedImmutable
at org.jetbrains.kotlin.backend.common.serialization.DescriptorReferenceDeserializer.deserializeDescriptorReference(DeserializeDescriptorReference.kt:178)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$IrDeserializerForFile.deserializeDescriptorReference(KotlinIrLinker.kt:349)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$IrDeserializerForFile.deserializeIrSymbolData(KotlinIrLinker.kt:326)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$IrDeserializerForFile.deserializeIrSymbol(KotlinIrLinker.kt:365)
at org.jetbrains.kotlin.backend.common.serialization.IrFileDeserializer.deserializeIrTypeAlias(IrFileDeserializer.kt:1393)
at org.jetbrains.kotlin.backend.common.serialization.IrFileDeserializer.deserializeDeclaration(IrFileDeserializer.kt:1288)
at org.jetbrains.kotlin.backend.common.serialization.IrFileDeserializer.deserializeDeclaration(IrFileDeserializer.kt:1299)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$IrDeserializerForFile.deserializeDeclaration(KotlinIrLinker.kt:171)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$IrDeserializerForFile$deserializeAllFileReachableTopLevel$1.invoke(KotlinIrLinker.kt:408)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$IrDeserializerForFile$deserializeAllFileReachableTopLevel$1.invoke(KotlinIrLinker.kt:150)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$DeserializationState$SimpleDeserializationState.processPendingDeclaration(KotlinIrLinker.kt:113)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$IrDeserializerForFile.deserializeAllFileReachableTopLevel(KotlinIrLinker.kt:407)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$deserializeAllModuleReachableTopLevels$1.invoke(KotlinIrLinker.kt:473)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$deserializeAllModuleReachableTopLevels$1.invoke(KotlinIrLinker.kt:132)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$DeserializationState$ModuleDeserializationState.processPendingDeclaration(KotlinIrLinker.kt:90)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer.deserializeAllModuleReachableTopLevels(KotlinIrLinker.kt:471)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker.deserializeAllReachableTopLevels(KotlinIrLinker.kt:526)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker.findDeserializedDeclarationForDescriptor(KotlinIrLinker.kt:554)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker.getDeclaration(KotlinIrLinker.kt:561)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator.getDeclaration(DeclarationStubGenerator.kt:64)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator.access$getDeclaration(DeclarationStubGenerator.kt:35)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator$generateClassStub$1.invoke(DeclarationStubGenerator.kt:214)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator$generateClassStub$1.invoke(DeclarationStubGenerator.kt:35)
at org.jetbrains.kotlin.ir.util.SymbolTable.declareClass(SymbolTable.kt:571)
at org.jetbrains.kotlin.ir.util.SymbolTable.declareClass$default(SymbolTable.kt:238)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator.generateClassStub$ir_tree(DeclarationStubGenerator.kt:213)
at org.jetbrains.kotlin.ir.util.ExternalDependenciesGenerator.generateUnboundSymbolsAsDependencies(ExternalDependenciesGenerator.kt:56)
at org.jetbrains.kotlin.psi2ir.generators.ModuleGenerator.generateUnboundSymbolsAsDependencies(ModuleGenerator.kt:63)
at org.jetbrains.kotlin.psi2ir.Psi2IrTranslator.generateModuleFragment(Psi2IrTranslator.kt:82)
at org.jetbrains.kotlin.backend.konan.ToplevelPhasesKt$psiToIrPhase$1.invoke(ToplevelPhases.kt:175)
at org.jetbrains.kotlin.backend.konan.ToplevelPhasesKt$psiToIrPhase$1.invoke(ToplevelPhases.kt)
at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$namedOpUnitPhase$1.invoke(PhaseBuilders.kt:115)
at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$namedOpUnitPhase$1.invoke(PhaseBuilders.kt:113)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper$runBody$1.invoke(CompilerPhase.kt:128)
at org.jetbrains.kotlin.backend.common.phaser.CompilerPhaseKt.downlevel(CompilerPhase.kt:24)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.runBody(CompilerPhase.kt:127)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.invoke(CompilerPhase.kt:105)
at org.jetbrains.kotlin.backend.common.phaser.CompositePhase.invoke(PhaseBuilders.kt:28)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper$runBody$1.invoke(CompilerPhase.kt:128)
at org.jetbrains.kotlin.backend.common.phaser.CompilerPhaseKt.downlevel(CompilerPhase.kt:24)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.runBody(CompilerPhase.kt:127)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.invoke(CompilerPhase.kt:105)
at org.jetbrains.kotlin.backend.common.phaser.CompilerPhaseKt.invokeToplevel(CompilerPhase.kt:42)
at org.jetbrains.kotlin.backend.konan.KonanDriverKt.runTopLevelPhases(KonanDriver.kt:27)
at org.jetbrains.kotlin.cli.bc.K2Native.doExecute(K2Native.kt:74)
at org.jetbrains.kotlin.cli.bc.K2Native.doExecute(K2Native.kt:34)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:84)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:42)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:104)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:82)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:50)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit(CLITool.kt:215)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMain(CLITool.kt:207)
at org.jetbrains.kotlin.cli.bc.K2Native$Companion$main$1.invoke(K2Native.kt:225)
at org.jetbrains.kotlin.cli.bc.K2Native$Companion$main$1.invoke(K2Native.kt:222)
at org.jetbrains.kotlin.util.UtilKt.profileIf(Util.kt:27)
at org.jetbrains.kotlin.util.UtilKt.profile(Util.kt:21)
at org.jetbrains.kotlin.cli.bc.K2Native$Companion.main(K2Native.kt:224)
at org.jetbrains.kotlin.cli.bc.K2NativeKt.main(K2Native.kt:304)
at org.jetbrains.kotlin.cli.utilities.MainKt.main(main.kt:16)
But this works when I use the ff versions:
Kotlin: 1.3.50
Ktor: 1.2.5
Coroutines: 1.3.2
``` Compilation failed: Could not find serialized descriptor for index: -9167458290357250762 com.ctech.memoir.ebisu,Ebisu,logSumExp
Same here, can't even compile the libcurl sample:
> Task :cinteropLibcurlHelloworld
e: Compilation failed: Could not find serialized descriptor for index: 5478299480788824642 libcurl,<root>,CURLcode
* Source files: libcurl.kt
* Compiler version info: Konan: 1.3.61 / Kotlin: 1.3.60
* Output kind: LIBRARY
e: java.lang.IllegalStateException: Could not find serialized descriptor for index: 5478299480788824642 libcurl,<root>,CURLcode
at org.jetbrains.kotlin.backend.common.serialization.DescriptorReferenceDeserializer.deserializeDescriptorReference(DeserializeDescriptorReference.kt:178)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$IrDeserializerForFile.deserializeDescriptorReference(KotlinIrLinker.kt:349)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$IrDeserializerForFile.deserializeIrSymbolData(KotlinIrLinker.kt:326)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$IrDeserializerForFile.deserializeIrSymbol(KotlinIrLinker.kt:365)
at org.jetbrains.kotlin.backend.common.serialization.IrFileDeserializer.deserializeTypeAbbreviation(IrFileDeserializer.kt:212)
at org.jetbrains.kotlin.backend.common.serialization.IrFileDeserializer.deserializeSimpleType(IrFileDeserializer.kt:203)
at org.jetbrains.kotlin.backend.common.serialization.IrFileDeserializer.deserializeIrTypeData(IrFileDeserializer.kt:233)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$IrDeserializerForFile.deserializeIrType(KotlinIrLinker.kt:370)
at org.jetbrains.kotlin.backend.common.serialization.IrFileDeserializer$deserializeIrFunction$$inlined$withDeserializedIrFunctionBase$lambda$2.invoke(IrFileDeserializer.kt:1055)
at org.jetbrains.kotlin.backend.common.serialization.IrFileDeserializer$deserializeIrFunction$$inlined$withDeserializedIrFunctionBase$lambda$2.invoke(IrFileDeserializer.kt:130)
at org.jetbrains.kotlin.ir.util.SymbolTable.declareSimpleFunction(SymbolTable.kt:746)
at org.jetbrains.kotlin.backend.common.serialization.IrFileDeserializer.deserializeIrFunction(IrFileDeserializer.kt:1045)
at org.jetbrains.kotlin.backend.common.serialization.IrFileDeserializer.deserializeIrProperty(IrFileDeserializer.kt:1221)
at org.jetbrains.kotlin.backend.common.serialization.IrFileDeserializer.deserializeDeclaration(IrFileDeserializer.kt:1282)
at org.jetbrains.kotlin.backend.common.serialization.IrFileDeserializer.deserializeDeclaration(IrFileDeserializer.kt:1299)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$IrDeserializerForFile.deserializeDeclaration(KotlinIrLinker.kt:171)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$IrDeserializerForFile$deserializeAllFileReachableTopLevel$1.invoke(KotlinIrLinker.kt:408)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$IrDeserializerForFile$deserializeAllFileReachableTopLevel$1.invoke(KotlinIrLinker.kt:150)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$DeserializationState$SimpleDeserializationState.processPendingDeclaration(KotlinIrLinker.kt:113)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$IrDeserializerForFile.deserializeAllFileReachableTopLevel(KotlinIrLinker.kt:407)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$deserializeAllModuleReachableTopLevels$1.invoke(KotlinIrLinker.kt:473)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer$deserializeAllModuleReachableTopLevels$1.invoke(KotlinIrLinker.kt:132)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$DeserializationState$ModuleDeserializationState.processPendingDeclaration(KotlinIrLinker.kt:90)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker$IrModuleDeserializer.deserializeAllModuleReachableTopLevels(KotlinIrLinker.kt:471)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker.deserializeAllReachableTopLevels(KotlinIrLinker.kt:526)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker.findDeserializedDeclarationForDescriptor(KotlinIrLinker.kt:554)
at org.jetbrains.kotlin.backend.common.serialization.KotlinIrLinker.getDeclaration(KotlinIrLinker.kt:561)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator.getDeclaration(DeclarationStubGenerator.kt:64)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator.access$getDeclaration(DeclarationStubGenerator.kt:35)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator$generateClassStub$1.invoke(DeclarationStubGenerator.kt:214)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator$generateClassStub$1.invoke(DeclarationStubGenerator.kt:35)
at org.jetbrains.kotlin.ir.util.SymbolTable.declareClass(SymbolTable.kt:571)
at org.jetbrains.kotlin.ir.util.SymbolTable.declareClass$default(SymbolTable.kt:238)
at org.jetbrains.kotlin.ir.util.DeclarationStubGenerator.generateClassStub$ir_tree(DeclarationStubGenerator.kt:213)
at org.jetbrains.kotlin.ir.util.ExternalDependenciesGenerator.generateUnboundSymbolsAsDependencies(ExternalDependenciesGenerator.kt:56)
at org.jetbrains.kotlin.psi2ir.generators.ModuleGenerator.generateUnboundSymbolsAsDependencies(ModuleGenerator.kt:63)
at org.jetbrains.kotlin.psi2ir.Psi2IrTranslator.generateModuleFragment(Psi2IrTranslator.kt:82)
at org.jetbrains.kotlin.backend.konan.ToplevelPhasesKt$psiToIrPhase$1.invoke(ToplevelPhases.kt:175)
at org.jetbrains.kotlin.backend.konan.ToplevelPhasesKt$psiToIrPhase$1.invoke(ToplevelPhases.kt)
at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$namedOpUnitPhase$1.invoke(PhaseBuilders.kt:115)
at org.jetbrains.kotlin.backend.common.phaser.PhaseBuildersKt$namedOpUnitPhase$1.invoke(PhaseBuilders.kt:113)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper$runBody$1.invoke(CompilerPhase.kt:128)
at org.jetbrains.kotlin.backend.common.phaser.CompilerPhaseKt.downlevel(CompilerPhase.kt:24)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.runBody(CompilerPhase.kt:127)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.invoke(CompilerPhase.kt:105)
at org.jetbrains.kotlin.backend.common.phaser.CompositePhase.invoke(PhaseBuilders.kt:28)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper$runBody$1.invoke(CompilerPhase.kt:128)
at org.jetbrains.kotlin.backend.common.phaser.CompilerPhaseKt.downlevel(CompilerPhase.kt:24)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.runBody(CompilerPhase.kt:127)
at org.jetbrains.kotlin.backend.common.phaser.AbstractNamedPhaseWrapper.invoke(CompilerPhase.kt:105)
at org.jetbrains.kotlin.backend.common.phaser.CompilerPhaseKt.invokeToplevel(CompilerPhase.kt:42)
at org.jetbrains.kotlin.backend.konan.KonanDriverKt.runTopLevelPhases(KonanDriver.kt:27)
at org.jetbrains.kotlin.cli.bc.K2Native.doExecute(K2Native.kt:74)
at org.jetbrains.kotlin.cli.bc.K2Native.doExecute(K2Native.kt:34)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:84)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:42)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:104)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:82)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:50)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMainNoExit(CLITool.kt:215)
at org.jetbrains.kotlin.cli.common.CLITool$Companion.doMain(CLITool.kt:207)
at org.jetbrains.kotlin.cli.bc.K2Native$Companion$main$1.invoke(K2Native.kt:225)
at org.jetbrains.kotlin.cli.bc.K2Native$Companion$main$1.invoke(K2Native.kt:222)
at org.jetbrains.kotlin.util.UtilKt.profileIf(Util.kt:27)
at org.jetbrains.kotlin.util.UtilKt.profile(Util.kt:21)
at org.jetbrains.kotlin.cli.bc.K2Native$Companion.main(K2Native.kt:224)
at org.jetbrains.kotlin.cli.bc.K2NativeKt.main(K2Native.kt:304)
at org.jetbrains.kotlin.cli.utilities.MainKt.main(main.kt:19)
I have discovered a very simple class that reproduces this error, so perhaps it will help trace it down:
open class Foo {
companion object : Foo()
val <T> T.foo: T get() = this
}
Simply add this class to your codebase and you will get this error when building for native (I got it building for iOS). Comment out either line inside the class and the error goes away. If you don't have the companion object extend the outer class the error also goes away. I realize this class looks pointless, but it was distilled down to the minimum thing that causes the error
I would guess some conflict between member extension properties and companion objects that implement the outer class?
@dalewking Thanks! I can confirm that this code makes the compiler crash on 1.3.72, but gets compiled ok on 1.4, so this particular issue is kinda obsolete.
Closing this issue. If you have similar problems with Kotlin 1.4, please create new issues in YouTrack: https://kotl.in/issue
Most helpful comment
Reproduced with 1.3.50 too:
Reproduced in travis via clean build here: https://travis-ci.org/korlibs/korau/jobs/609810082#L509