When using kotlin `2.0.10-RC`, `2.0.20-Beta2` or `...
# webassembly
b
When using kotlin
2.0.10-RC
,
2.0.20-Beta2
or
2.1.0-dev1552
the task
:composeApp:compileDevelopmentExecutableKotlinWasmJs
fails with`ArgumentException: Only IrBlockBody is supported` but it works with kotlin
2.0.20-Beta2-48
there is very little information - see stacktrace in thread. Note: I can't use kotlin 2.0.0 due to compose-multiplatform 1.7.0-xxx
Copy code
java.lang.IllegalArgumentException: Only IrBlockBody is supported
	at org.jetbrains.kotlin.backend.wasm.ir2wasm.DeclarationGenerator.visitFunction(DeclarationGenerator.kt:161)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitSimpleFunction(IrElementVisitorVoid.kt:144)
	at org.jetbrains.kotlin.backend.wasm.ir2wasm.DeclarationGenerator.visitSimpleFunction(DeclarationGenerator.kt:30)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitSimpleFunction(IrElementVisitorVoid.kt:140)
	at org.jetbrains.kotlin.backend.wasm.ir2wasm.DeclarationGenerator.visitSimpleFunction(DeclarationGenerator.kt:30)
	at org.jetbrains.kotlin.backend.wasm.ir2wasm.DeclarationGenerator.visitSimpleFunction(DeclarationGenerator.kt:30)
	at org.jetbrains.kotlin.ir.declarations.IrSimpleFunction.accept(IrSimpleFunction.kt:39)
	at org.jetbrains.kotlin.ir.visitors.IrVisitorsKt.acceptVoid(IrVisitors.kt:11)
	at org.jetbrains.kotlin.backend.wasm.ir2wasm.DeclarationGenerator.visitClass(DeclarationGenerator.kt:403)
	at org.jetbrains.kotlin.ir.visitors.IrElementVisitorVoid$DefaultImpls.visitClass(IrElementVisitorVoid.kt:44)
	at org.jetbrains.kotlin.backend.wasm.ir2wasm.DeclarationGenerator.visitClass(DeclarationGenerator.kt:30)
	at org.jetbrains.kotlin.backend.wasm.ir2wasm.DeclarationGenerator.visitClass(DeclarationGenerator.kt:30)
	at org.jetbrains.kotlin.ir.declarations.IrClass.accept(IrClass.kt:72)
	at org.jetbrains.kotlin.ir.visitors.IrVisitorsKt.acceptVoid(IrVisitors.kt:11)
	at org.jetbrains.kotlin.backend.wasm.ir2wasm.WasmModuleFragmentGenerator.acceptVisitor(WasmModuleFragmentGenerator.kt:65)
	at org.jetbrains.kotlin.backend.wasm.ir2wasm.WasmModuleFragmentGenerator.generateModule(WasmModuleFragmentGenerator.kt:59)
	at org.jetbrains.kotlin.backend.wasm.WasmCompilerKt.compileWasm-uzOlIq4(wasmCompiler.kt:132)
	at org.jetbrains.kotlin.cli.js.K2JsIrCompiler.doExecute(K2JsIrCompiler.kt:433)
	at org.jetbrains.kotlin.cli.js.K2JSCompiler.doExecute(K2JSCompiler.java:70)
	at org.jetbrains.kotlin.cli.js.K2JSCompiler.doExecute(K2JSCompiler.java:33)
	at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:103)
	at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:49)
	at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
	at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1556)
	at jdk.internal.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
	at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source)
	at java.rmi/sun.rmi.transport.Transport$1.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.rmi/sun.rmi.transport.Transport.serviceCall(Unknown Source)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown Source)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
i
Hi, I think this is known issue but anyway could you please to file an issue?
b
Yes, I can but is this sufficient info or should I give something else?
i
If you have a small repro it would be nice (or it reproduced on any compose project?)
b
Indeed, I'll try to make a small project like I did for other issues.
i
Thank you very much!
b
It's very difficult to find what exactly causes this issue - I'm removing things one by one. Would you know a more efficient way forward? (building the project in debug mode doesn't give me any more hints)
b
Well I might have nailed it to kotlinx serialisation
e
Do you use Compose
👍 1
b
Yes indeed, removing kotlinx serialisation and the compilation issue is gone... - I will now try to make a project with the issue
e
Interesting. The last working build in 2.0.10 was 2.0.10-RC-508, and the diff between 508 and 509 looks related to compose https://github.com/JetBrains/kotlin/compare/build-2.0.10-RC-508...build-2.0.10-RC-509
b
thank you color 1