https://kotlinlang.org logo
#multiplatform
Title
# multiplatform
z

zalewski.se

02/25/2021, 6:19 PM
So I updated my AS via JetBrains ToolBox to latest canary version which is Arctic Fox 2020.3.1 Canary 8 and it’s crushing on startup because of KMM plugin 🤔 It was working fine on Canary 7 though. Stacktrace in 🧵
👀 2
Copy code
java.util.concurrent.CompletionException: java.lang.NoClassDefFoundError: com/jetbrains/cidr/ToolVersion
    at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
    at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
    at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1739)
    at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:216)
    at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:27)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:195)
    at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:187)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.NoClassDefFoundError: com/jetbrains/cidr/ToolVersion
    at com.jetbrains.cidr.xcode.XcodeInstallation.getVersion(XcodeInstallation.java:174)
    at com.jetbrains.cidr.xcode.XcodeInstallation.isInstalled(XcodeInstallation.java:41)
    at com.jetbrains.cidr.xcode.Xcode.discoverXcodeInstallations(Xcode.java:117)
    at com.jetbrains.cidr.xcode.XcodeSettings.chooseXcodeInstallation(XcodeSettings.java:69)
    at com.jetbrains.cidr.xcode.XcodeBase.<init>(XcodeBase.java:18)
    at com.jetbrains.cidr.xcode.Xcode.<init>(Xcode.java:41)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:47)
    at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClassWithConstructorInjection(ComponentManagerImpl.kt:733)
    at com.intellij.serviceContainer.ServiceComponentAdapter.createAndInitialize(ServiceComponentAdapter.kt:49)
    at com.intellij.serviceContainer.ServiceComponentAdapter.doCreateInstance(ServiceComponentAdapter.kt:37)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:113)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:67)
    at com.intellij.serviceContainer.ComponentManagerImpl.doGetService(ComponentManagerImpl.kt:457)
    at com.intellij.serviceContainer.ComponentManagerImpl.getService(ComponentManagerImpl.kt:440)
    at com.jetbrains.cidr.xcode.XcodeBase.getInstance(XcodeBase.java:23)
    at com.jetbrains.cidr.xcode.XcodeBase.getInstallation(XcodeBase.java:28)
    at com.jetbrains.cidr.xcode.XcodeBase.isInstalled(XcodeBase.java:32)
    at com.jetbrains.cidr.execution.JBDeviceFramework.initComponent(JBDeviceFramework.kt:100)
    at com.jetbrains.cidr.execution.JBDeviceFramework.<init>(JBDeviceFramework.kt:96)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:47)
    at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClassWithConstructorInjection(ComponentManagerImpl.kt:733)
    at com.intellij.serviceContainer.ServiceComponentAdapter.createAndInitialize(ServiceComponentAdapter.kt:49)
    at com.intellij.serviceContainer.ServiceComponentAdapter.doCreateInstance(ServiceComponentAdapter.kt:37)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:113)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:67)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:60)
    at com.intellij.serviceContainer.ComponentManagerImpl$preloadServices$future$1.run(ComponentManagerImpl.kt:890)
    at java.base/java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736)
    ... 11 more
Caused by: java.lang.ClassNotFoundException: com.jetbrains.cidr.ToolVersion PluginClassLoader[PluginDescriptor(name=Kotlin Multiplatform Mobile, id=com.jetbrains.kmm, path=/Users/szalewski/Library/Application Support/Google/AndroidStudioPreview2020.3/plugins/kmm, version=0.2.1(203-1.4.30-release-IJ)-25)] com.intellij.ide.plugins.cl.PluginClassLoader@16b26b9f
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:129)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 47 more

-----
Your JRE: 11.0.8+10-b944.6842174 x86_64 (N/A)
After removing the kmm plugin it’s starting correctly
c

Cicero

02/25/2021, 6:25 PM
I recently needed to download the KMM plugin manually for a more recent version than you can get from the marketplace
😶 1
Yea, it wouldn’t crash my AS but it would just say the plugin was not working properly and that it would be removed in the next restart
a

ak

02/26/2021, 3:20 PM
Copy code
Plugin 'com.jetbrains.kmm' failed to initialize and will be disabled. Please restart Android Studio.

java.lang.NoClassDefFoundError: com/jetbrains/cidr/execution/debugger/backend/lldb/LLDBDriverConfiguration
    at java.base/java.lang.ClassLoader.defineClass1(Native Method)
    at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017)
    at com.intellij.util.lang.UrlClassLoader._defineClass(UrlClassLoader.java:404)
    at com.intellij.util.lang.UrlClassLoader.defineClass(UrlClassLoader.java:389)
    at com.intellij.util.lang.UrlClassLoader._findClass(UrlClassLoader.java:350)
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClassInsideSelf(PluginClassLoader.java:315)
    at com.intellij.ide.plugins.cl.PluginClassLoader.tryLoadingClass(PluginClassLoader.java:238)
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:127)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    at com.jetbrains.kmm.ios.ProjectWorkspace.<init>(ProjectWorkspace.kt:40)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at com.intellij.serviceContainer.ConstructorInjectionKt.instantiateUsingPicoContainer(constructorInjection.kt:52)
    at com.intellij.serviceContainer.ComponentManagerImpl.instantiateClassWithConstructorInjection(ComponentManagerImpl.kt:733)
    at com.intellij.serviceContainer.MyComponentAdapter.doCreateInstance(MyComponentAdapter.kt:35)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstanceUncached(BaseComponentAdapter.kt:113)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstance(BaseComponentAdapter.kt:67)
    at com.intellij.serviceContainer.BaseComponentAdapter.getInstance$default(BaseComponentAdapter.kt:60)
    at com.intellij.serviceContainer.ComponentManagerImpl.createComponents(ComponentManagerImpl.kt:304)
    at com.intellij.openapi.project.impl.ProjectExImpl.init(ProjectExImpl.kt:177)
    at com.intellij.openapi.project.impl.ProjectManagerImpl.initProject(ProjectManagerImpl.java:173)
    at com.intellij.openapi.project.impl.ProjectManagerExImpl.prepareProject(ProjectManagerExImpl.kt:240)
    at com.intellij.openapi.project.impl.ProjectManagerExImpl.access$prepareProject(ProjectManagerExImpl.kt:51)
    at com.intellij.openapi.project.impl.ProjectManagerExImpl$openProject$$inlined$runInAutoSaveDisabledMode$lambda$1.invoke(ProjectManagerExImpl.kt:103)
    at com.intellij.openapi.project.impl.ProjectManagerExImpl$openProject$$inlined$runInAutoSaveDisabledMode$lambda$1.invoke(ProjectManagerExImpl.kt:51)
    at com.intellij.openapi.project.impl.ProjectUiFrameAllocator$run$progressTask$1.run(ProjectFrameAllocator.kt:86)
    at com.intellij.openapi.progress.impl.ProgressRunner.lambda$new$0(ProgressRunner.java:79)
    at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$3(ProgressRunner.java:235)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:178)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:658)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:610)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:65)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:165)
    at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:235)
    at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:668)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:665)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:665)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.ClassNotFoundException: com.jetbrains.cidr.execution.debugger.backend.lldb.LLDBDriverConfiguration PluginClassLoader[PluginDescriptor(name=Kotlin Multiplatform Mobile, id=com.jetbrains.kmm, path=/Users/anthonykiniyalocts/Library/Application Support/Google/AndroidStudioPreview2020.3/plugins/kmm, version=0.2.1(203-1.4.30-release-IJ)-25)] com.intellij.ide.plugins.cl.PluginClassLoader@203fd6ad
    at com.intellij.ide.plugins.cl.PluginClassLoader.loadClass(PluginClassLoader.java:129)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
    ... 44 more
Seeing the same thing on my end. The actual exception seems to be:
So something with the
LLDBDriverConfiguration
within the plugin.
Have you filed a bug on youtrack?
k

kevindmoore

02/27/2021, 10:22 PM
I attempted to open my project in Intellij after getting the same error but now the problem is even worse
a

ak

03/01/2021, 2:43 PM
I am also still unable to open my project. Jetbrains chimed in on that issue thread and said a new release of the plugin will be available the middle of this week: https://youtrack.jetbrains.com/issue/KT-45162#focus=Comments-27-4723797.0-0
s

sushma nayak

03/03/2021, 7:12 AM
Is there a workaround for this? How to get compose running on KMM applications?
z

zalewski.se

03/03/2021, 7:15 AM
@sushma nayak It’s about KMM plugin, just remove it and then start AS. I don’t see how compose is related here so it’s probably wrong thread to ask
k

Konstantin Tskhovrebov

03/03/2021, 10:42 AM
Today we are planning to release version compatible with latest canary 🤓
👍 4
a

ak

03/03/2021, 3:54 PM
Awesome! Thanks @Konstantin Tskhovrebov and the rest of jetbrains! Appreciate the work