rakucommaide

Raku Comma IDE on MacOS won't start


I made some progress from this previous question, No matching VM found when running Comma IDE on macOS, but have run into a new error:

Internal error. Please refer to http://jb.gg/ide/critical-startup-errors

java.lang.ExceptionInInitializerError
    at com.intellij.ide.IdeEventQueue.<clinit>(IdeEventQueue.java:80)
    at com.intellij.idea.StartupUtil.replaceSystemEventQueue(StartupUtil.java:749)
    at com.intellij.idea.StartupUtil.patchSystem(StartupUtil.java:733)
    at com.intellij.idea.ApplicationLoader.executeInitAppInEdt(ApplicationLoader.kt:59)
    at com.intellij.idea.ApplicationLoader.access$executeInitAppInEdt(ApplicationLoader.kt:1)
    at com.intellij.idea.ApplicationLoader$initApplication$1$1.run(ApplicationLoader.kt:366)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:316)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field protected java.lang.Runnable java.awt.event.InvocationEvent.runnable accessible: module java.desktop does not "opens java.awt.event" to unnamed module @5fdea98c
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:357)
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:297)
    at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:177)
    at java.base/java.lang.reflect.Field.setAccessible(Field.java:171)
    at com.intellij.util.ReflectionUtil.findFieldInHierarchy(ReflectionUtil.java:153)
    at com.intellij.util.ReflectionUtil.findAssignableField(ReflectionUtil.java:141)
    at com.intellij.openapi.application.impl.InvocationUtil.findRunnableField(InvocationUtil.java:49)
    at com.intellij.openapi.application.impl.InvocationUtil.<clinit>(InvocationUtil.java:24)
    ... 19 more

-----
JRE 16+36-2231 x86_64 by Oracle Corporation
/Library/Java/JavaVirtualMachines/jdk-16.jdk/Contents/Home

This is macOS Catalina Intel 10.15.7, latest CommaIDE for macOS:

java version "16" 2021-03-16
Java(TM) SE Runtime Environment (build 16+36-2231)
Java HotSpot(TM) 64-Bit Server VM (build 16+36-2231, mixed mode, sharing)

Solution

  • java version "16" 2021-03-16

    Comma needs that to be major version 11 (because the underlying IntelliJ platform also requires that). The Corretto 11 distribution is probably a good bet.

    To avoid folks having to worry about all of this, Comma also bundles its own private JRE. Unfortunately, some recent releases had a problem with that bundling on Mac. It was already rectified in Comma Complete 2021.03 (the commercial version), and the fix will appear in the free Comma Community in 2021.04.