Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exception when using Java 10 #307

Closed
raniejade opened this issue Jul 27, 2018 · 11 comments
Closed

Exception when using Java 10 #307

raniejade opened this issue Jul 27, 2018 · 11 comments
Milestone

Comments

@raniejade
Copy link
Contributor

The kotlin plugin failed to load, error looks like Java 10ish. I'm confused, the IDE should be running the bundled jdk right?

Building against: 2018.2, kotlin 1.2.51 and Java 10.

Plugin 'org.jetbrains.kotlin' failed to initialize and will be disabled.  Please restart IntelliJ IDEA.

java.lang.NoClassDefFoundError: com/sun/jdi/ObjectCollectedException
    at com.intellij.debugger.settings.DebuggerSettings.loadState(DebuggerSettings.java:124)
    at com.intellij.debugger.settings.DebuggerSettings.loadState(DebuggerSettings.java:28)
    at com.intellij.configurationStore.ComponentStoreImpl.doInitComponent(ComponentStoreImpl.kt:356)
    at com.intellij.configurationStore.ComponentStoreImpl.initComponent(ComponentStoreImpl.kt:312)
    at com.intellij.configurationStore.ComponentStoreImpl.initPersistenceStateComponent(ComponentStoreImpl.kt:115)
    at com.intellij.configurationStore.ComponentStoreImpl.initComponent(ComponentStoreImpl.kt:90)
    at com.intellij.configurationStore.ComponentStoreWithExtraComponents.initComponent(ComponentStoreWithExtraComponents.kt:15)
    at com.intellij.openapi.components.impl.PlatformComponentManagerImpl.initializeComponent(PlatformComponentManagerImpl.java:54)
    at com.intellij.openapi.components.impl.ServiceManagerImpl$MyComponentAdapter.getComponentInstance(ServiceManagerImpl.java:212)
    at com.intellij.util.pico.DefaultPicoContainer.getLocalInstance(DefaultPicoContainer.java:247)
    at com.intellij.util.pico.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:214)
    at com.intellij.openapi.components.ServiceManager.doGetService(ServiceManager.java:47)
    at com.intellij.openapi.components.ServiceManager.getService(ServiceManager.java:26)
    at com.intellij.debugger.settings.DebuggerSettings.getInstance(DebuggerSettings.java:97)
    at org.jetbrains.kotlin.idea.debugger.filter.DebuggerFiltersUtilKt.addKotlinStdlibDebugFilterIfNeeded(DebuggerFiltersUtil.kt:27)
    at org.jetbrains.kotlin.idea.JvmPluginStartupComponent.initComponent(JvmPluginStartupComponent.java:41)
    at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter.getComponentInstance(ComponentManagerImpl.java:488)
    at com.intellij.openapi.components.impl.ComponentManagerImpl.createComponents(ComponentManagerImpl.java:107)
    at com.intellij.openapi.application.impl.ApplicationImpl.lambda$createComponents$9(ApplicationImpl.java:442)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:157)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:580)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:144)
    at com.intellij.openapi.application.impl.ApplicationImpl.createComponents(ApplicationImpl.java:449)
    at com.intellij.openapi.components.impl.ComponentManagerImpl.init(ComponentManagerImpl.java:91)
    at com.intellij.openapi.application.impl.ApplicationImpl.load(ApplicationImpl.java:401)
    at com.intellij.openapi.application.impl.ApplicationImpl.load(ApplicationImpl.java:387)
    at com.intellij.idea.IdeaApplication.run(IdeaApplication.java:206)
    at com.intellij.idea.IdeaApplication.lambda$initApplication$0(IdeaApplication.java:72)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
    at java.awt.EventQueue.access$500(EventQueue.java:98)
    at java.awt.EventQueue$3.run(EventQueue.java:715)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:361)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.ClassNotFoundException: com.sun.jdi.ObjectCollectedException
    at com.intellij.util.lang.UrlClassLoader.findClass(UrlClassLoader.java:224)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 45 more
@zolotov
Copy link
Member

zolotov commented Jul 31, 2018

Have you compiled the plugin with Java 10?

@raniejade
Copy link
Contributor Author

I'm using Java 10 when compiling, it's all kotlin code btw and the target is set to 1.8.

@zolotov
Copy link
Member

zolotov commented Jul 31, 2018

Does disabling instrumenting code help?

@raniejade
Copy link
Contributor Author

Disabled instrumentation still no luck. Different but related error now:

Plugin Error: Plugin 'org.jetbrains.kotlin' failed to initialize and will be disabled.  Please restart IntelliJ IDEA.

java.lang.NoClassDefFoundError: com/sun/jdi/Type
        at com.intellij.debugger.settings.DebuggerSettings.loadState(DebuggerSettings.java:124)
        at com.intellij.debugger.settings.DebuggerSettings.loadState(DebuggerSettings.java:28)
        at com.intellij.configurationStore.ComponentStoreImpl.doInitComponent(ComponentStoreImpl.kt:356)
        at com.intellij.configurationStore.ComponentStoreImpl.initComponent(ComponentStoreImpl.kt:312)
        at com.intellij.configurationStore.ComponentStoreImpl.initPersistenceStateComponent(ComponentStoreImpl.kt:115)
        at com.intellij.configurationStore.ComponentStoreImpl.initComponent(ComponentStoreImpl.kt:90)
        at com.intellij.configurationStore.ComponentStoreWithExtraComponents.initComponent(ComponentStoreWithExtraComponents.kt:15)
        at com.intellij.openapi.components.impl.PlatformComponentManagerImpl.initializeComponent(PlatformComponentManagerImpl.java:54)
        at com.intellij.openapi.components.impl.ServiceManagerImpl$MyComponentAdapter.getComponentInstance(ServiceManagerImpl.java:212)
        at com.intellij.util.pico.DefaultPicoContainer.getLocalInstance(DefaultPicoContainer.java:247)
        at com.intellij.util.pico.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:214)
        at com.intellij.openapi.components.ServiceManager.doGetService(ServiceManager.java:47)
        at com.intellij.openapi.components.ServiceManager.getService(ServiceManager.java:26)
        at com.intellij.debugger.settings.DebuggerSettings.getInstance(DebuggerSettings.java:97)
        at org.jetbrains.kotlin.idea.debugger.filter.DebuggerFiltersUtilKt.addKotlinStdlibDebugFilterIfNeeded(DebuggerFiltersUtil.kt:27)
        at org.jetbrains.kotlin.idea.JvmPluginStartupComponent.initComponent(JvmPluginStartupComponent.java:41)
        at com.intellij.openapi.components.impl.ComponentManagerImpl$ComponentConfigComponentAdapter.getComponentInstance(ComponentManagerImpl.java:488)
        at com.intellij.openapi.components.impl.ComponentManagerImpl.createComponents(ComponentManagerImpl.java:107)
        at com.intellij.openapi.application.impl.ApplicationImpl.lambda$createComponents$9(ApplicationImpl.java:442)
        at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:157)
        at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:580)
        at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
        at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
        at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:144)
        at com.intellij.openapi.application.impl.ApplicationImpl.createComponents(ApplicationImpl.java:449)
        at com.intellij.openapi.components.impl.ComponentManagerImpl.init(ComponentManagerImpl.java:91)
        at com.intellij.openapi.application.impl.ApplicationImpl.load(ApplicationImpl.java:401)
        at com.intellij.openapi.application.impl.ApplicationImpl.load(ApplicationImpl.java:387)
        at com.intellij.idea.IdeaApplication.run(IdeaApplication.java:206)
        at com.intellij.idea.IdeaApplication.lambda$initApplication$0(IdeaApplication.java:72)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
        at java.awt.EventQueue.access$500(EventQueue.java:98)
        at java.awt.EventQueue$3.run(EventQueue.java:715)
        at java.awt.EventQueue$3.run(EventQueue.java:709)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
        at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:361)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Caused by: java.lang.ClassNotFoundException: com.sun.jdi.Type
        at com.intellij.util.lang.UrlClassLoader.findClass(UrlClassLoader.java:224)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 45 more

Everything runs ok in Java 8 tho, compilation works in Java 10 but the problem is when running runIde. I'm confused, it should use the bundled JDK right? Instead of the one used to run gradle.

@zolotov
Copy link
Member

zolotov commented Aug 2, 2018

Yes, by default runIde uses bundled JDK to run

@raniejade
Copy link
Contributor Author

I can confirm that the bundled jdk is being used,so I think some parts in IDEA uses the jdk in the environment. The kotlin plugin is not being loaded because of the exception.

@raniejade
Copy link
Contributor Author

tools.jar is definitely on the classpath. As I mentioned, the kotlin plugin is the one who is failing. Exception is related to debugger actions defined by the plugin.

Starting process 'command 'C:\Users\raniejade\.gradle\caches\modules-2\files-2.1\com.jetbrains\jbre\jbrex8u152b1248.8_windows_x64\jre\bin\java.exe''. Working directory: C:\Users\raniejade\.gradle\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2018.2\23c6ef0bbf1c37259081353251774c1afd9d4797\ideaIC-2018.2\bin Command: C:\Users\raniejade\.gradle\caches\modules-2\files-2.1\com.jetbrains\jbre\jbrex8u152b1248.8_windows_x64\jre\bin\java.exe -Didea.classpath.index.enabled=false -Didea.config.path=D:\Workspace\spek\spek-ide-plugin\intellij-idea\build\idea-sandbox\config -Didea.is.internal=true -Didea.platform.prefix=Idea -Didea.plugins.path=D:\Workspace\spek\spek-ide-plugin\intellij-idea\build\idea-sandbox\plugins -Didea.required.plugins.id=org.spekframework -Didea.system.path=D:\Workspace\spek\spek-ide-plugin\intellij-idea\build\idea-sandbox\system -XX:MaxPermSize=250m -Xms256m -Xmx512m -Dfile.encoding=windows-1252 -Duser.country=US -Duser.language=en -Duser.variant -ea -cp C:\Users\raniejade\.gradle\caches\modules-2\files-2.1\com.jetbrains\jbre\jbrex8u152b1248.8_windows_x64\lib\tools.jar;C:\Users\raniejade\.gradle\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2018.2\23c6ef0bbf1c37259081353251774c1afd9d4797\ideaIC-2018.2\lib\idea_rt.jar;C:\Users\raniejade\.gradle\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2018.2\23c6ef0bbf1c37259081353251774c1afd9d4797\ideaIC-2018.2\lib\idea.jar;C:\Users\raniejade\.gradle\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2018.2\23c6ef0bbf1c37259081353251774c1afd9d4797\ideaIC-2018.2\lib\bootstrap.jar;C:\Users\raniejade\.gradle\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2018.2\23c6ef0bbf1c37259081353251774c1afd9d4797\ideaIC-2018.2\lib\extensions.jar;C:\Users\raniejade\.gradle\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2018.2\23c6ef0bbf1c37259081353251774c1afd9d4797\ideaIC-2018.2\lib\util.jar;C:\Users\raniejade\.gradle\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2018.2\23c6ef0bbf1c37259081353251774c1afd9d4797\ideaIC-2018.2\lib\openapi.jar;C:\Users\raniejade\.gradle\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2018.2\23c6ef0bbf1c37259081353251774c1afd9d4797\ideaIC-2018.2\lib\trove4j.jar;C:\Users\raniejade\.gradle\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2018.2\23c6ef0bbf1c37259081353251774c1afd9d4797\ideaIC-2018.2\lib\jdom.jar;C:\Users\raniejade\.gradle\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2018.2\23c6ef0bbf1c37259081353251774c1afd9d4797\ideaIC-2018.2\lib\log4j.jar com.intellij.idea.Main
Successfully started process 'command 'C:\Users\raniejade\.gradle\caches\modules-2\files-2.1\com.jetbrains\jbre\jbrex8u152b1248.8_windows_x64\jre\bin\java.exe''

@raniejade
Copy link
Contributor Author

I think I know the problem. ..\jetbrains\jbre\jbrex8u152b1248.8_windows_x64\lib\tools.jar should be ..\jetbrains\jbre\jbrex8u152b1248.8_windows_x64\jre\lib\tools.jar. Offending line is https://github.com/JetBrains/gradle-intellij-plugin/blob/master/src/main/groovy/org/jetbrains/intellij/tasks/RunIdeTask.groovy#L132. It works On java 8 because of:

        def toolsJar = Jvm.current().toolsJar
        if (toolsJar != null) classpath += project.files(toolsJar)

The ff path is added to the cp when running java 8: ;D:\Program Files\Java\jdk1.8.0_151\lib\tools.jar;. I think we shouldn't rely on the JVM that is used to run gradle.

@zolotov
Copy link
Member

zolotov commented Aug 5, 2018

Nice catch! Thank you for the investigation. I think I'll be able to get into this in a week or so.

Feel free to make a PR, I think I'll be able to review/merge/publish plugin using my phone :)

@raniejade
Copy link
Contributor Author

Sure, I'll work on a PR. :)

zolotov pushed a commit that referenced this issue Aug 14, 2018
Fix tools.jar path for jbre.

Also removed the lines adding the tools.jar of the JVM gradle is run on.

Fixes #307
@zolotov zolotov added this to the 0.3.6 milestone Aug 14, 2018
@zolotov
Copy link
Member

zolotov commented Aug 15, 2018

btw, 0.3.6 was published

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants