When trying `useEsModules()` I've got a compiler c...
# javascript
r
When trying
useEsModules()
I've got a compiler crash when using value declared with
@JsModule
(NPE from
JsIrAstSerializer.kt
). Is this a known issue?
a
if you are using
useEsModules()
with per-file granularity, then yes. per-file has issues with projects having serialization
1
a
But the per-module and whole-program, it's unexpected behavior
r
I don't use
kotlinx.serialization
at all. And the granularity option doesn't matter. This is the stacktrace:
Copy code
e: java.lang.NullPointerException
        at org.jetbrains.kotlin.ir.backend.js.utils.serialization.JsIrAstSerializer.append(JsIrAstSerializer.kt:99)
        at org.jetbrains.kotlin.ir.backend.js.utils.serialization.JsIrAstSerializer.appendAll(JsIrAstSerializer.kt:94)
        at org.jetbrains.kotlin.ir.backend.js.utils.serialization.JsIrAstSerializerKt.serializeTo(JsIrAstSerializer.kt:19)
        at org.jetbrains.kotlin.ir.backend.js.ic.SourceFileCacheArtifact.commitBinaryAst(IncrementalCacheArtifact.kt:21)
        at org.jetbrains.kotlin.ir.backend.js.ic.IncrementalCacheArtifact.buildModuleArtifactAndCommitCache(IncrementalCacheArtifact.kt:67)
        at org.jetbrains.kotlin.ir.backend.js.ic.CacheUpdater.commitCacheAndBuildModuleArtifacts(CacheUpdater.kt:622)
        at org.jetbrains.kotlin.ir.backend.js.ic.CacheUpdater.actualizeCaches(CacheUpdater.kt:772)
        at org.jetbrains.kotlin.cli.js.K2JsIrCompiler.prepareIcCaches(K2JsIrCompiler.kt:616)
        at org.jetbrains.kotlin.cli.js.K2JsIrCompiler.doExecute(K2JsIrCompiler.kt:253)
        at org.jetbrains.kotlin.cli.js.K2JSCompiler.doExecute(K2JSCompiler.java:181)
        at org.jetbrains.kotlin.cli.js.K2JSCompiler.doExecute(K2JSCompiler.java:72)
        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.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1523)
        at jdk.internal.reflect.GeneratedMethodAccessor99.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:833)
a
smells like a new youtract ticket to me