Got internal compiler error (stack trace is in thr...
# compiler
p
Got internal compiler error (stack trace is in thread). Please advice what can be the cause to be able to narrow problem. Kotlin 2.1.0-RC Compose 1.7.1
Copy code
kotlin.NotImplementedError: An operation is not implemented: Unknown file
	at org.jetbrains.kotlin.ir.util.IrUtilsKt.getFile(IrUtils.kt:628)
	at androidx.compose.compiler.plugins.kotlin.lower.InferenceFunctionDeclaration.toScheme(ComposableTargetAnnotationsTransformer.kt:652)
	at androidx.compose.compiler.plugins.kotlin.lower.InferenceFunctionDeclaration.toDeclaredScheme(ComposableTargetAnnotationsTransformer.kt:643)
	at androidx.compose.compiler.plugins.kotlin.lower.InferenceFunction.toDeclaredScheme$default(ComposableTargetAnnotationsTransformer.kt:586)
	at androidx.compose.compiler.plugins.kotlin.lower.ComposableTargetAnnotationsTransformer$infer$1.declaredSchemaOf(ComposableTargetAnnotationsTransformer.kt:118)
	at androidx.compose.compiler.plugins.kotlin.lower.ComposableTargetAnnotationsTransformer$infer$1.declaredSchemaOf(ComposableTargetAnnotationsTransformer.kt:115)
	at androidx.compose.compiler.plugins.kotlin.inference.ApplierInferencer.toLazyScheme$lambda$3$declaredSchemeOf(ApplierInferencer.kt:187)
	at androidx.compose.compiler.plugins.kotlin.inference.ApplierInferencer.toLazyScheme(ApplierInferencer.kt:203)
	at androidx.compose.compiler.plugins.kotlin.inference.ApplierInferencer.toLazyScheme$default(ApplierInferencer.kt:183)
	at androidx.compose.compiler.plugins.kotlin.inference.ApplierInferencer.restartable$schemeOf(ApplierInferencer.kt:318)
	at androidx.compose.compiler.plugins.kotlin.inference.ApplierInferencer.restartable$callBindingsOf(ApplierInferencer.kt:349)
	at androidx.compose.compiler.plugins.kotlin.inference.ApplierInferencer.access$restartable$callBindingsOf(ApplierInferencer.kt:167)
	at androidx.compose.compiler.plugins.kotlin.inference.ApplierInferencer$restartable$1.invoke(ApplierInferencer.kt:354)
	at androidx.compose.compiler.plugins.kotlin.inference.ApplierInferencer$restartable$1.invoke(ApplierInferencer.kt:354)
	at androidx.compose.compiler.plugins.kotlin.inference.ApplierInferencer.visitCall$lambda$14(ApplierInferencer.kt:394)
	at androidx.compose.compiler.plugins.kotlin.inference.ApplierInferencer.restartable(ApplierInferencer.kt:354)
	at androidx.compose.compiler.plugins.kotlin.inference.ApplierInferencer.visitCall(ApplierInferencer.kt:392)
	at androidx.compose.compiler.plugins.kotlin.lower.ComposableTargetAnnotationsTransformer.visitCall(ComposableTargetAnnotationsTransformer.kt:325)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitCall(IrElementTransformerVoid.kt:299)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitCall(IrElementTransformerVoid.kt:19)
	at org.jetbrains.kotlin.ir.expressions.IrCall.accept(IrCall.kt:24)
	at org.jetbrains.kotlin.ir.expressions.IrExpression.transform(IrExpression.kt:24)
	at org.jetbrains.kotlin.ir.expressions.IrExpression.transform(IrExpression.kt:20)
	at org.jetbrains.kotlin.ir.util.TransformKt.transformInPlace(transform.kt:35)
	at org.jetbrains.kotlin.ir.expressions.IrContainerExpression.transformChildren(IrContainerExpression.kt:26)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitExpression(IrElementTransformerVoid.kt:166)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitContainerExpression(IrElementTransformerVoid.kt:242)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitBlock(IrElementTransformerVoid.kt:248)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitBlock(IrElementTransformerVoid.kt:251)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitBlock(IrElementTransformerVoid.kt:19)
	at org.jetbrains.kotlin.ir.expressions.IrBlock.accept(IrBlock.kt:18)
	at org.jetbrains.kotlin.ir.expressions.IrExpression.transform(IrExpression.kt:24)
	at org.jetbrains.kotlin.ir.expressions.IrExpression.transform(IrExpression.kt:20)
	at org.jetbrains.kotlin.ir.util.TransformKt.transformInPlace(transform.kt:35)
	at org.jetbrains.kotlin.ir.expressions.IrBlockBody.transformChildren(IrBlockBody.kt:27)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitBody(IrElementTransformerVoid.kt:174)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitBlockBody(IrElementTransformerVoid.kt:188)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitBlockBody(IrElementTransformerVoid.kt:191)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitBlockBody(IrElementTransformerVoid.kt:19)
	at org.jetbrains.kotlin.ir.expressions.IrBlockBody.accept(IrBlockBody.kt:20)
	at org.jetbrains.kotlin.ir.expressions.IrBody.transform(IrBody.kt:20)
	at org.jetbrains.kotlin.ir.declarations.IrFunction.transformChildren(IrFunction.kt:65)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitDeclaration(IrElementTransformerVoid.kt:40)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitFunction(IrElementTransformerVoid.kt:72)
	at androidx.compose.compiler.plugins.kotlin.lower.ComposableTargetAnnotationsTransformer.visitFunction(ComposableTargetAnnotationsTransformer.kt:217)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitSimpleFunction(IrElementTransformerVoid.kt:128)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitSimpleFunction(IrElementTransformerVoid.kt:131)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitSimpleFunction(IrElementTransformerVoid.kt:19)
	at org.jetbrains.kotlin.ir.declarations.IrSimpleFunction.accept(IrSimpleFunction.kt:39)
	at org.jetbrains.kotlin.ir.IrElementBase.transform(IrElementBase.kt:33)
	at org.jetbrains.kotlin.ir.expressions.IrFunctionExpression.transformChildren(IrFunctionExpression.kt:31)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitExpression(IrElementTransformerVoid.kt:166)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitFunctionExpression(IrElementTransformerVoid.kt:424)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitFunctionExpression(IrElementTransformerVoid.kt:427)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitFunctionExpression(IrElementTransformerVoid.kt:19)
	at org.jetbrains.kotlin.ir.expressions.IrFunctionExpression.accept(IrFunctionExpression.kt:24)
	at org.jetbrains.kotlin.ir.expressions.IrExpression.transform(IrExpression.kt:24)
	at org.jetbrains.kotlin.ir.expressions.IrExpression.transform(IrExpression.kt:20)
	at org.jetbrains.kotlin.ir.util.TransformKt.transformInPlace(transform.kt:45)
Copy code
at org.jetbrains.kotlin.ir.expressions.IrMemberAccessExpression.transformChildren(IrMemberAccessExpression.kt:69)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitExpression(IrElementTransformerVoid.kt:166)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitDeclarationReference(IrElementTransformerVoid.kt:194)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitMemberAccess(IrElementTransformerVoid.kt:200)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitFunctionAccess(IrElementTransformerVoid.kt:206)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitCall(IrElementTransformerVoid.kt:296)
	at androidx.compose.compiler.plugins.kotlin.lower.ComposableTargetAnnotationsTransformer.visitCall(ComposableTargetAnnotationsTransformer.kt:267)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitCall(IrElementTransformerVoid.kt:299)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitCall(IrElementTransformerVoid.kt:19)
	at org.jetbrains.kotlin.ir.expressions.IrCall.accept(IrCall.kt:24)
	at org.jetbrains.kotlin.ir.expressions.IrExpression.transform(IrExpression.kt:24)
	at org.jetbrains.kotlin.ir.expressions.IrExpressionBody.transformChildren(IrExpressionBody.kt:31)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitBody(IrElementTransformerVoid.kt:174)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitExpressionBody(IrElementTransformerVoid.kt:182)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitExpressionBody(IrElementTransformerVoid.kt:185)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitExpressionBody(IrElementTransformerVoid.kt:19)
	at org.jetbrains.kotlin.ir.expressions.IrExpressionBody.accept(IrExpressionBody.kt:21)
	at org.jetbrains.kotlin.ir.expressions.IrExpressionBody.transform(IrExpressionBody.kt:24)
	at org.jetbrains.kotlin.ir.declarations.IrField.transformChildren(IrField.kt:47)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitDeclaration(IrElementTransformerVoid.kt:40)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitField(IrElementTransformerVoid.kt:96)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitField(IrElementTransformerVoid.kt:99)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitField(IrElementTransformerVoid.kt:19)
	at org.jetbrains.kotlin.ir.declarations.IrField.accept(IrField.kt:40)
	at org.jetbrains.kotlin.ir.IrElementBase.transform(IrElementBase.kt:33)
	at org.jetbrains.kotlin.ir.declarations.IrProperty.transformChildren(IrProperty.kt:54)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitDeclaration(IrElementTransformerVoid.kt:40)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitProperty(IrElementTransformerVoid.kt:116)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitProperty(IrElementTransformerVoid.kt:119)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitProperty(IrElementTransformerVoid.kt:19)
	at org.jetbrains.kotlin.ir.declarations.IrProperty.accept(IrProperty.kt:45)
	at org.jetbrains.kotlin.ir.IrElementBase.transform(IrElementBase.kt:33)
	at org.jetbrains.kotlin.ir.util.TransformKt.transformInPlace(transform.kt:35)
	at org.jetbrains.kotlin.ir.declarations.IrClass.transformChildren(IrClass.kt:82)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitDeclaration(IrElementTransformerVoid.kt:40)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitClass(IrElementTransformerVoid.kt:54)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitClass(IrElementTransformerVoid.kt:57)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitClass(IrElementTransformerVoid.kt:19)
	at org.jetbrains.kotlin.ir.declarations.IrClass.accept(IrClass.kt:72)
	at org.jetbrains.kotlin.ir.IrElementBase.transform(IrElementBase.kt:33)
	at org.jetbrains.kotlin.ir.util.TransformKt.transformInPlace(transform.kt:35)
	at org.jetbrains.kotlin.ir.declarations.IrFile.transformChildren(IrFile.kt:38)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitPackageFragment(IrElementTransformerVoid.kt:146)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitFile(IrElementTransformerVoid.kt:160)
	at androidx.compose.compiler.plugins.kotlin.lower.ComposableTargetAnnotationsTransformer.visitFile(ComposableTargetAnnotationsTransformer.kt:193)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitFile(IrElementTransformerVoid.kt:163)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitFile(IrElementTransformerVoid.kt:19)
	at org.jetbrains.kotlin.ir.declarations.IrFile.accept(IrFile.kt:28)
	at org.jetbrains.kotlin.ir.declarations.IrFile.transform(IrFile.kt:31)
	at org.jetbrains.kotlin.ir.declarations.IrFile.transform(IrFile.kt:20)
	at org.jetbrains.kotlin.ir.util.TransformKt.transformInPlace(transform.kt:35)
	at org.jetbrains.kotlin.ir.declarations.IrModuleFragment.transformChildren(IrModuleFragment.kt:43)
	at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoidKt.transformChildrenVoid(IrElementTransformerVoid.kt:565)
	at androidx.compose.compiler.plugins.kotlin.lower.ComposableTargetAnnotationsTransformer.lower(ComposableTargetAnnotationsTransformer.kt:186)
	at androidx.compose.compiler.plugins.kotlin.ComposeIrGenerationExtension.generate(ComposeIrGenerationExtension.kt:180)
	at org.jetbrains.kotlin.fir.pipeline.ConvertToIrKt.applyIrGenerationExtensions(convertToIr.kt:472)
	at org.jetbrains.kotlin.fir.pipeline.Fir2IrPipeline.runActualizationPipeline(convertToIr.kt:241)
	at org.jetbrains.kotlin.fir.pipeline.Fir2IrPipeline.convertToIrAndActualize(convertToIr.kt:130)
	at org.jetbrains.kotlin.fir.pipeline.ConvertToIrKt.convertToIrAndActualize(convertToIr.kt:100)
	at org.jetbrains.kotlin.cli.js.klib.JsCompilerPipelineKt.transformFirToIr(jsCompilerPipeline.kt:233)
	at org.jetbrains.kotlin.cli.js.K2JSCompiler.processSourceModuleWithK2(K2JSCompiler.kt:695)
	at org.jetbrains.kotlin.cli.js.K2JSCompiler.produceSourceModule(K2JSCompiler.kt:560)
	at org.jetbrains.kotlin.cli.js.K2JSCompiler.doExecute(K2JSCompiler.kt:345)
	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.incremental.IncrementalJsCompilerRunner.runCompiler(IncrementalJsCompilerRunner.kt:199)
	at org.jetbrains.kotlin.incremental.IncrementalJsCompilerRunner.runCompiler(IncrementalJsCompilerRunner.kt:74)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.doCompile(IncrementalCompilerRunner.kt:506)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl(IncrementalCompilerRunner.kt:423)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileNonIncrementally(IncrementalCompilerRunner.kt:301)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:129)
	at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile$default(IncrementalCompilerRunner.kt:113)
	at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execJsIncrementalCompiler(CompileServiceImpl.kt:608)
	at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execJsIncrementalCompiler(CompileServiceImpl.kt:91)
	at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1757)
y
Seems to be a compose bug where they're calling
getFile
on something they shouldn't. Looking around, I found this which suggests it's an issue with default values in a composable interface method.
p
Indeed the point was with default arguments in interfaces. Thanks for info!