Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8292526

IGV can't run without javascript engine

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not an Issue
    • Icon: P4 P4
    • None
    • 20
    • hotspot
    • generic
    • generic

      IdealGraphVisualizer(IGV) README says that
      1. The tool is built on top of the NetBeans Platform, and requires a JDK version between 11 and 17 (the JDKs supported by the current NetBeans Platform).
      2. To build and run IGV on a different JDK than the system default, set first the
      `JAVA_HOME` to the appropriate directory. The same JDK version should be used for building and running IGV.

      Project XML enforces this using 'maven-enforcer-plugin'.
                            <id>enforce-java</id>
                                  <goals>
                                      <goal>enforce</goal>
                                  </goals>
                                  <configuration>
                                      <rules>
                                          <requireJavaVersion>
                                            <version>[11,18)</version>
                                            <message>IGV requires a JDK version between 11 and 17</message>
                                          </requireJavaVersion>
                                      </rules>
                                  </configuration>


      however, it's not completely true. We will run into problem when IGV tries to load filters, which are written in javascript.

      I believe this is caused by JDK-8241749, so we can't run with jdk15+.

      [INFO] WARNING: Cannot find Filter component. It will not be located properly in the window system.
      [INFO] SEVERE [global]
      [INFO] java.lang.NullPointerException: Cannot invoke "javax.script.ScriptEngine.eval(String)" because "this.engine" is null
      [INFO] at com.sun.hotspot.igv.filterwindow.FilterTopComponent.<init>(FilterTopComponent.java:350)
      [INFO] at com.sun.hotspot.igv.filterwindow.FilterTopComponent.getDefault(FilterTopComponent.java:548)
      [INFO] at com.sun.hotspot.igv.filterwindow.FilterTopComponent.findInstance(FilterTopComponent.java:560)
      [INFO] at com.sun.hotspot.igv.filterwindow.FilterChainProviderImplementation.getFilterChain(FilterChainProviderImplementation.java:39)
      [INFO] at com.sun.hotspot.igv.view.EditorTopComponent.<init>(EditorTopComponent.java:178)
      [INFO] at com.sun.hotspot.igv.view.GraphViewerImplementation.view(GraphViewerImplementation.java:71)
      [INFO] at com.sun.hotspot.igv.coordinator.actions.GraphOpenCookie.open(GraphOpenCookie.java:42)
      [INFO] at org.openide.actions.OpenAction.performAction(OpenAction.java:59)
      [INFO] at org.openide.util.actions.NodeAction$DelegateAction$1.run(NodeAction.java:561)
      [INFO] at org.openide.util.actions.ActionInvoker$1.run(ActionInvoker.java:70)
      [INFO] at org.openide.util.actions.ActionInvoker.doPerformAction(ActionInvoker.java:91)
      [INFO] at org.openide.util.actions.ActionInvoker.invokeAction(ActionInvoker.java:74)
      [INFO] at org.openide.util.actions.NodeAction$DelegateAction.actionPerformed(NodeAction.java:558)
      [INFO] at org.openide.explorer.view.TreeView$PopupSupport.mouseClicked(TreeView.java:1608)
      [INFO] at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:278)
      [INFO] at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:277)
      [INFO] at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:277)
      [INFO] at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:277)
      [INFO] at java.desktop/java.awt.Component.processMouseEvent(Component.java:6617)
      [INFO] at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
      [INFO] at java.desktop/java.awt.Component.processEvent(Component.java:6379)
      [INFO] at java.desktop/java.awt.Container.processEvent(Container.java:2263)
      [INFO] at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4990)
      [INFO] at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
      [INFO] at java.desktop/java.awt.Component.dispatchEvent(Component.java:4822)
      [INFO] at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4919)
      [INFO] at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4557)
      [INFO] at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4489)
      [INFO] at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
      [INFO] at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2769)
      [INFO] at java.desktop/java.awt.Component.dispatchEvent(Component.java:4822)
      [INFO] at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
      [INFO] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
      [INFO] at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
      [INFO] at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
      [INFO] at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
      [INFO] at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
      [INFO] at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
      [INFO] at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
      [INFO] at java.base/java.security.AccessController.doPrivileged(AccessController.java:391)
      [INFO] at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
      [INFO] at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
      [INFO] at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136)
      [INFO] [catch] at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
      [INFO] at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
      [INFO] at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
      [INFO] at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
      [INFO] at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
      [INFO] at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

            Unassigned Unassigned
            xliu Xin Liu
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: