6

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)
BSMP
  • 4,596
  • 8
  • 33
  • 44
librasteve
  • 6,832
  • 8
  • 30

1 Answers1

9

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.

Jonathan Worthington
  • 29,104
  • 2
  • 97
  • 136
  • I have upgraded to Comma 2022.02 (Build #CP-213.5744.3, built on February 28, 2022) - that resolved this issue and now works well. This is managed under File > Project Structure > Project Settings > Project SDK > Add Raku SDK > /path-to-your-raku-install/bin/... You have to select the "bin" directory that contains the 'perl6', 'raku' and 'rakudo' commands - on my machine this is ~/rakudo/rakudo-moar-2021.10-01-macos-arm64-clang/bin/rakudo. [For the Package Manager setting you need to select the 'zef' command file itself.] thanks @jnthn – librasteve Mar 23 '22 at 07:49