sentry-android-gradle-plugin
sentry-android-gradle-plugin copied to clipboard
Support K2 compiler
Problem Statement
K2 Compiler will be stable with the Kotlin 2.0 release, making an issue to track when io.sentry.SentryKotlinCompilerPlugin is compatible with K2.
Solution Brainstorm
No response
Thanks for creating the issue 🙏
Kotlin 2.0.0 compiler merge to kotlin repo announced here: https://twitter.com/kotlin/status/1785238489635684525 more info on migration here: https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-compiler.html
If you receive this or a similar error, please upvote this issue with a 👍 on the first comment - thanks!
> Task :app:compileDebugKotlin FAILED
e: There are some plugins incompatible with language version 2.0:
io.sentry.SentryKotlinCompilerPlugin
Please use language version 1.9 or below
Quick update - this is in progress. Thanks all who upvoted 🙏
Another quick update: You can expect a 4.7.0 release today which adds support for K2!
Release is out: 4.7.0
I tried the new version and got the following error:
java.lang.NoClassDefFoundError: org/jetbrains/kotlin/ir/expressions/IrStatementOrigin$DEFAULT_VALUE
at io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.wrapExpression(JetpackComposeTracingIrExtension.kt:179)
at io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.visitCall(JetpackComposeTracingIrExtension.kt:157)
Full stacktrace
java.lang.NoClassDefFoundError: org/jetbrains/kotlin/ir/expressions/IrStatementOrigin$DEFAULT_VALUE
at io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.wrapExpression(JetpackComposeTracingIrExtension.kt:179)
at io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.visitCall(JetpackComposeTracingIrExtension.kt:157)
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.IrBranch.transformChildren(IrBranch.kt:37)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitBranch(IrElementTransformerVoid.kt:548)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitBranch(IrElementTransformerVoid.kt:553)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitBranch(IrElementTransformerVoid.kt:19)
at org.jetbrains.kotlin.ir.expressions.IrBranch.accept(IrBranch.kt:25)
at org.jetbrains.kotlin.ir.expressions.IrBranch.transform(IrBranch.kt:28)
at org.jetbrains.kotlin.ir.expressions.IrBranch.transform(IrBranch.kt:19)
at org.jetbrains.kotlin.ir.util.TransformKt.transformInPlace(transform.kt:35)
at org.jetbrains.kotlin.ir.expressions.IrWhen.transformChildren(IrWhen.kt:31)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitExpression(IrElementTransformerVoid.kt:166)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitWhen(IrElementTransformerVoid.kt:542)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitWhen(IrElementTransformerVoid.kt:545)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitWhen(IrElementTransformerVoid.kt:19)
at org.jetbrains.kotlin.ir.expressions.IrWhen.accept(IrWhen.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.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:58)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitDeclaration(IrElementTransformerVoid.kt:40)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitFunction(IrElementTransformerVoid.kt:72)
at org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext.visitFunctionNew(IrElementTransformerVoidWithContext.kt:130)
at io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.visitFunctionNew(JetpackComposeTracingIrExtension.kt:134)
at org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext.visitFunction(IrElementTransformerVoidWithContext.kt:83)
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:36)
at org.jetbrains.kotlin.ir.IrElementBase.transform(IrElementBase.kt:24)
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)
at org.jetbrains.kotlin.ir.expressions.IrMemberAccessExpression.transformChildren(IrMemberAccessExpression.kt:68)
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 io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.visitCall(JetpackComposeTracingIrExtension.kt:160)
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:45)
at org.jetbrains.kotlin.ir.expressions.IrMemberAccessExpression.transformChildren(IrMemberAccessExpression.kt:68)
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 io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.visitCall(JetpackComposeTracingIrExtension.kt:160)
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.IrBranch.transformChildren(IrBranch.kt:37)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitBranch(IrElementTransformerVoid.kt:548)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitBranch(IrElementTransformerVoid.kt:553)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitBranch(IrElementTransformerVoid.kt:19)
at org.jetbrains.kotlin.ir.expressions.IrBranch.accept(IrBranch.kt:25)
at org.jetbrains.kotlin.ir.expressions.IrBranch.transform(IrBranch.kt:28)
at org.jetbrains.kotlin.ir.expressions.IrBranch.transform(IrBranch.kt:19)
at org.jetbrains.kotlin.ir.util.TransformKt.transformInPlace(transform.kt:35)
at org.jetbrains.kotlin.ir.expressions.IrWhen.transformChildren(IrWhen.kt:31)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitExpression(IrElementTransformerVoid.kt:166)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitWhen(IrElementTransformerVoid.kt:542)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitWhen(IrElementTransformerVoid.kt:545)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitWhen(IrElementTransformerVoid.kt:19)
at org.jetbrains.kotlin.ir.expressions.IrWhen.accept(IrWhen.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.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:58)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitDeclaration(IrElementTransformerVoid.kt:40)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitFunction(IrElementTransformerVoid.kt:72)
at org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext.visitFunctionNew(IrElementTransformerVoidWithContext.kt:130)
at io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.visitFunctionNew(JetpackComposeTracingIrExtension.kt:134)
at org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext.visitFunction(IrElementTransformerVoidWithContext.kt:83)
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:36)
at org.jetbrains.kotlin.ir.IrElementBase.transform(IrElementBase.kt:24)
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)
at org.jetbrains.kotlin.ir.expressions.IrMemberAccessExpression.transformChildren(IrMemberAccessExpression.kt:68)
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 io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.visitCall(JetpackComposeTracingIrExtension.kt:141)
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:45)
at org.jetbrains.kotlin.ir.expressions.IrMemberAccessExpression.transformChildren(IrMemberAccessExpression.kt:68)
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 io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.visitCall(JetpackComposeTracingIrExtension.kt:141)
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.IrReturn.transformChildren(IrReturn.kt:31)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitExpression(IrElementTransformerVoid.kt:166)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitReturn(IrElementTransformerVoid.kt:460)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitReturn(IrElementTransformerVoid.kt:463)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitReturn(IrElementTransformerVoid.kt:19)
at org.jetbrains.kotlin.ir.expressions.IrReturn.accept(IrReturn.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.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:58)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitDeclaration(IrElementTransformerVoid.kt:40)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitFunction(IrElementTransformerVoid.kt:72)
at org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext.visitFunctionNew(IrElementTransformerVoidWithContext.kt:130)
at io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.visitFunctionNew(JetpackComposeTracingIrExtension.kt:134)
at org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext.visitFunction(IrElementTransformerVoidWithContext.kt:83)
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:36)
at org.jetbrains.kotlin.ir.IrElementBase.transform(IrElementBase.kt:24)
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.backend.common.IrElementTransformerVoidWithContext.visitClassNew(IrElementTransformerVoidWithContext.kt:126)
at org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext.visitClass(IrElementTransformerVoidWithContext.kt:62)
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:24)
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 org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext.visitFileNew(IrElementTransformerVoidWithContext.kt:122)
at org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext.visitFile(IrElementTransformerVoidWithContext.kt:55)
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.IrElementTransformerVoid.visitModuleFragment(IrElementTransformerVoid.kt:108)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitModuleFragment(IrElementTransformerVoid.kt:113)
at org.jetbrains.kotlin.ir.visitors.IrElementTransformerVoid.visitModuleFragment(IrElementTransformerVoid.kt:19)
at org.jetbrains.kotlin.ir.declarations.IrModuleFragment.accept(IrModuleFragment.kt:33)
at org.jetbrains.kotlin.ir.declarations.IrModuleFragment.transform(IrModuleFragment.kt:36)
at io.sentry.compose.JetpackComposeTracingIrExtension.generate(JetpackComposeTracingIrExtension.kt:274)
at org.jetbrains.kotlin.fir.pipeline.ConvertToIrKt.applyIrGenerationExtensions(convertToIr.kt:260)
at org.jetbrains.kotlin.fir.pipeline.ConvertToIrKt.convertToIrAndActualize(convertToIr.kt:139)
at org.jetbrains.kotlin.fir.pipeline.ConvertToIrKt.convertToIrAndActualize$default(convertToIr.kt:65)
at org.jetbrains.kotlin.cli.jvm.compiler.pipeline.JvmCompilerPipelineKt.convertToIrAndActualizeForJvm(jvmCompilerPipeline.kt:193)
at org.jetbrains.kotlin.cli.jvm.compiler.pipeline.JvmCompilerPipelineKt.convertAnalyzedFirToIr(jvmCompilerPipeline.kt:167)
at org.jetbrains.kotlin.cli.jvm.compiler.pipeline.JvmCompilerPipelineKt.compileModulesUsingFrontendIrAndLightTree(jvmCompilerPipeline.kt:138)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:155)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:50)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:104)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:48)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:453)
at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunner.runCompiler(IncrementalJvmCompilerRunner.kt:62)
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.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:676)
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:92)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1661)
at jdk.internal.reflect.GeneratedMethodAccessor80.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:705)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.ClassNotFoundException: org.jetbrains.kotlin.ir.expressions.IrStatementOrigin$DEFAULT_VALUE
at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:592)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)
... 254 more
@dev-gvs Which version of Kotlin are you using for your project? The mentioned missing class still exists in 2.0.0, and we've verified functionality across a few different versions (1.8.x, 1.9.x as well as 2.0.0).
@markushi I'm using 2.0.0, but when I revert back to 1.9.24 it compiles just fine :thinking:
I tried the new version and got the following error:
java.lang.NoClassDefFoundError: org/jetbrains/kotlin/ir/expressions/IrStatementOrigin$DEFAULT_VALUE at io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.wrapExpression(JetpackComposeTracingIrExtension.kt:179) at io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.visitCall(JetpackComposeTracingIrExtension.kt:157)Full stacktrace
same here - kotlin 2.0 and sentry plugin 4.7.0:
java.lang.NoSuchMethodError: 'void org.jetbrains.kotlin.ir.expressions.impl.IrGetObjectValueImpl.<init>(int, int, org.jetbrains.kotlin.ir.types.IrType, org.jetbrains.kotlin.ir.symbols.IrClassSymbol)'
at io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.wrapExpression(JetpackComposeTracingIrExtension.kt:234)
at io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.visitCall(JetpackComposeTracingIrExtension.kt:157)```
I tried the new version and got the following error:
java.lang.NoClassDefFoundError: org/jetbrains/kotlin/ir/expressions/IrStatementOrigin$DEFAULT_VALUE at io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.wrapExpression(JetpackComposeTracingIrExtension.kt:179) at io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.visitCall(JetpackComposeTracingIrExtension.kt:157)Full stacktrace
same here - kotlin 2.0 and sentry plugin 4.7.0:
java.lang.NoSuchMethodError: 'void org.jetbrains.kotlin.ir.expressions.impl.IrGetObjectValueImpl.<init>(int, int, org.jetbrains.kotlin.ir.types.IrType, org.jetbrains.kotlin.ir.symbols.IrClassSymbol)' at io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.wrapExpression(JetpackComposeTracingIrExtension.kt:234) at io.sentry.compose.JetpackComposeTracingIrExtension$generate$transformer$1.visitCall(JetpackComposeTracingIrExtension.kt:157)```
Same here, kotlin 2.0, sentry plugin 4.7.0 😢
Thanks for the quick tests and reports - I reopened this issue, we'll prio this
Yeah there's definitely something wrong here, but at the same time it's odd to see the Jetpack Compose Compiler just working fine when calling the same APIs (e.g. 2.0.0 example here). We'll taker a closer look and keep you all posted!
Quick update: 4.7.1 is out (it may take a few more minutes until it's available via maven), please give it a try and let us know if the issues mentioned above are now fixed.
Worked for me @markushi - compiled without error
Working for me as well 🎉 Thanks ❤️
Thanks everybody for testing and reporting back, that's really helpful and appreciated ❤️