Menu

Cannot Run Scrips in FreePlane 1.6.11 running Java 9.0.1

2018-01-10
2018-02-13
  • Mark Crocker

    Mark Crocker - 2018-01-10

    Scripts work fine in FreePlane 1.6.11 on Windows 10 running Java 1.8.0_115 (and several previous updates of 1.8.0). However running under Java 9.0.1 produces an error dialog with the text:

    Error executing the script:
    null

    and produced the following stack trace in the logs:

    Jan 10, 2018 2:57:20 PM org.freeplane.core.util.LogUtils warn
    WARNING: ExecuteScriptAction failed:
    java.security.PrivilegedActionException: java.lang.IllegalArgumentException
    at org.freeplane.plugin.script.GroovyScript$1.run(GroovyScript.java:175)
    at org.freeplane.plugin.script.GroovyScript$1.run(GroovyScript.java:168)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at org.freeplane.plugin.script.GroovyScript.trustedCompileAndCache(GroovyScript.java:168)
    at org.freeplane.plugin.script.GroovyScript.execute(GroovyScript.java:136)
    at org.freeplane.plugin.script.ExecuteScriptAction.actionPerformed(ExecuteScriptAction.java:92)
    at org.freeplane.core.ui.AccelerateableAction.actionPerformed(AccelerateableAction.java:91)
    at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at java.desktop/javax.swing.AbstractButton.doClick(Unknown Source)
    at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
    at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
    at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
    at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
    at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.desktop/java.awt.Component.processEvent(Unknown Source)
    at java.desktop/java.awt.Container.processEvent(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.desktop/java.awt.EventQueue.access$500(Unknown Source)
    at java.desktop/java.awt.EventQueue$3.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$3.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
    Caused by: java.lang.IllegalArgumentException
    at net.bytebuddy.jar.asm.ClassReader.<init>(Unknown Source)
    at net.bytebuddy.jar.asm.ClassReader.<init>(Unknown Source)
    at net.bytebuddy.pool.TypePool$Default.parse(TypePool.java:1033)
    at net.bytebuddy.pool.TypePool$Default.doDescribe(TypePool.java:1019)
    at net.bytebuddy.pool.TypePool$AbstractBase.describe(TypePool.java:347)
    at net.bytebuddy.pool.TypePool$AbstractBase$Hierarchical.describe(TypePool.java:406)
    at net.bytebuddy.pool.TypePool$Default$LazyTypeDescription$TokenizedGenericType.toErasure(TypePool.java:5957)
    at net.bytebuddy.pool.TypePool$Default$LazyTypeDescription$GenericTypeToken$Resolution$Raw$RawAnnotatedType.of(TypePool.java:3625)
    at net.bytebuddy.pool.TypePool$Default$LazyTypeDescription$GenericTypeToken$Resolution$Raw.resolveFieldType(TypePool.java:3517)
    at net.bytebuddy.pool.TypePool$Default$LazyTypeDescription$LazyFieldDescription.getType(TypePool.java:6264)
    at net.bytebuddy.description.field.FieldDescription$AbstractBase.asToken(FieldDescription.java:143)
    at net.bytebuddy.description.field.FieldDescription$AbstractBase.asToken(FieldDescription.java:87)
    at net.bytebuddy.description.field.FieldList$AbstractBase.asTokenList(FieldList.java:47)
    at net.bytebuddy.dynamic.scaffold.InstrumentedType$Factory$Default$1.represent(InstrumentedType.java:222)
    at net.bytebuddy.ByteBuddy.rebase(ByteBuddy.java:799)
    at net.bytebuddy.ByteBuddy.rebase(ByteBuddy.java:784)
    at org.freeplane.securegroovy.GroovyPatcher.apply(GroovyPatcher.java:23)
    at org.freeplane.plugin.script.GroovyScript.compileAndCache(GroovyScript.java:189)
    at org.freeplane.plugin.script.GroovyScript.access$000(GroovyScript.java:47)
    at org.freeplane.plugin.script.GroovyScript$1.run(GroovyScript.java:173)
    ... 45 more

     
  • Dimitry Polivaev

    Thank you for the report. One of the dependencies was not compatible with Java 9. Now I have updated it, so that all upcoming 1.6.13 and further versions should work with Java 9 well.

     
  • Mark Crocker

    Mark Crocker - 2018-02-08

    Excellent. Thanks! I'll test it out once 1.6.13 becomes available.