Find/Replace not working - Ignition v7.7.4

Find/Replace is not working for me with Ignition v7.7.4. It had been working fine on this machine with 7.7.1. It seemed with 7.7.4 at first some simple searches were occasionally working, but now no searches are working whether all Windows are selected or not.

Cancel button does not work and after I Close the Find/Replace and come back to it, the top button sometimes still says Cancel rather than Find.

This is displayed in the Output Console in [color=#FF0040]red [/color]after attempting a Find:

Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError: java/util/function/BiConsumer at com.inductiveautomation.factorypmi.designer.search.ComponentCursor.<init>(ComponentCursor.java:74) at com.inductiveautomation.factorypmi.designer.search.WindowCursor.next(WindowCursor.java:69) at com.inductiveautomation.ignition.designer.findreplace.SearchObjectAggregator.advance(SearchObjectAggregator.java:116) at com.inductiveautomation.ignition.designer.findreplace.SearchObjectAggregator.next(SearchObjectAggregator.java:98) at com.inductiveautomation.ignition.designer.findreplace.SearchObjectAggregator.hasNext(SearchObjectAggregator.java:74) at com.inductiveautomation.ignition.designer.findreplace.SearchReplaceDialog$SearchTask.initialize(SearchReplaceDialog.java:918) at com.inductiveautomation.ignition.designer.findreplace.SearchReplaceDialog.executeSearch(SearchReplaceDialog.java:390) at com.inductiveautomation.ignition.designer.findreplace.SearchReplaceDialog$3.actionPerformed(SearchReplaceDialog.java:187) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$200(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) Caused by: java.lang.ClassNotFoundException: java.util.function.BiConsumer at java.net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 44 more

I believe we’ve fixed this for 7.7.5.

As a workaround, if you launch the designer using Java 8 it should work.

Hi Kevin,

I think the designer is using Java 8 based on the segment below from ignition.conf, is there some other way to confirm the Java version being used? Otherwise I should be able to install the latest 7.7.5 RC.

#********************************************************************

Wrapper Java Properties

#********************************************************************

Java Application

Locate the java binary on the system PATH:

wrapper.java.command=C:/Program Files/Java/jre1.8.0_20/bin/java.exe

Specify a specific java binary:

#set.JAVA_HOME=/java/path
#wrapper.java.command=C:/Program Files/Java/jre1.8.0_20/bin/java.exe

The config file only dictates what version of Java the gateway runs. The Designer and Client will launch using whatever the default version installed on the computer launching it is.

In the designer, go to Help > About Ignition Vision and you’ll find the Java version down at the bottom.

The “About Ignition Designer” lists the Java Version as 1.7.0_67. However, the “CurrentVersion” for the JRE in the registry says “1.8”. Also, if I issue a “java -showversion” form a command prompt it returns java version “1.8.0_45”. I am not running anything in a VM, this is all information form the base server (Ignition Gateway server) that I remote to.

Also, when another integrator logs in to the same Ignition Gateway server with his Windows login and opens the same Ignition project, he displays “About Ignition Designer” and it show Java 8 (1.8.x - I forgot what the full version was).

So it seems that the Java version the designer is running is hooked to some other Java version that is specific to my user. Do you know what this might be and how it can be resolved to also use Java 8 when I run the designer?

Thanks,
Bob

I think you can choose which version of Java gets priority in the Java Control Panel entry.

Thanks Kevin. All set now with designer running Java 8 and Find/Replace is working well.