After migrate I’ve had a problem. macOS target ```...
# kotlin-native
a
After migrate I’ve had a problem. macOS target
Copy code
e: Compilation failed: Backend Internal error: Exception during IR lowering
File being compiled: /Users/atomin/Documents/iq/xpoint-sdk/sdk/src/commonMain/kotlin/com/inventale/xpoint/sdk/Checker.kt
The root cause java.lang.AssertionError was thrown at: org.jetbrains.kotlin.ir.overrides.FakeOverrideBuilderStrategy.fakeOverrideMember(IrOverridingUtil.kt:43)

 * Source files: 
 * Compiler version info: Konan: 1.4.30 / Kotlin: 1.4.30
 * Output kind: PROGRAM

e: org.jetbrains.kotlin.backend.common.BackendException: Backend Internal error: Exception during IR lowering
File being compiled: /Users/atomin/Documents/iq/xpoint-sdk/sdk/src/commonMain/kotlin/com/inventale/xpoint/sdk/Checker.kt
The root cause java.lang.AssertionError was thrown at: org.jetbrains.kotlin.ir.overrides.FakeOverrideBuilderStrategy.fakeOverrideMember(IrOverridingUtil.kt:43)
        at org.jetbrains.kotlin.backend.common.CodegenUtil.reportBackendException(CodegenUtil.kt:239)
        at org.jetbrains.kotlin.backend.common.CodegenUtil.reportBackendException$default(CodegenUtil.kt:235)
        at org.jetbrains.kotlin.backend.common.phaser.PerformByIrFilePhase.invoke(PhaseBuilders.kt:124)
...
Caused by: java.lang.AssertionError: Unexpected variance in super type argument: in @0
        at org.jetbrains.kotlin.ir.overrides.FakeOverrideBuilderStrategy.fakeOverrideMember(IrOverridingUtil.kt:43)
        at org.jetbrains.kotlin.ir.overrides.IrOverridingUtil.buildFakeOverridesForClassUsingOverriddenSymbols(IrOverridingUtil.kt:168)
        at org.jetbrains.kotlin.backend.common.ir.IrUtilsKt.addFakeOverrides(IrUtils.kt:487)
        at org.jetbrains.kotlin.backend.common.ir.IrUtilsKt.addFakeOverrides$default(IrUtils.kt:485)
I can’t share project source. How can I fix the problem?
minimal code:
Copy code
private val actionsMap = AtomicReference(mapOf<String, Action>())

private fun getSortedActionList() =
        actionsMap.value.values.sortedWith { a, b -> a.callTime.compareTo(b.callTime) }
e
Looks like a bug. Please report at kotl.in/issue
p
We've seen the same stacktrace when switching to 1.4.30. Our issue was a lambda being assigned in an if-else conditonal. One lambda has a
error(...)
call the other not. This lead to different functional interfaces and the override failed. Kotlin 1.4.30 is really strict about generic types.
a
e
Nice!