I encountered this bug the other day and want to document it. I click on a button that is using the built-in "Set Tag Value" feature to set a tag's value, and the tag is not being written to and there is no error reported in the console or gateway logs. This error occurs when using the "Find And Replace" feature to update the tag path in "Set Tag Value". You can reproduce this bug by creating a button, creating a tag, setting the tag path in "Set Tag Value" to write to that tag, then using CTRL + F to search and replace the path to point to a different tag. When using CTRL + F to change the tag path it updates in the "Set Tag Value" tab but it does not update in the script editor. If the unchanged path in the script editor does not exist anywhere in the project, the button will not write to any tag; if the unchanged path is in the project then it will continue to write to that tag instead of the one it was changed to using CTRL + F. In the former case where the path does not exist, it still does not produce any errors in the console or gateway logs when the button is clicked. There IS an error created in the console log after the user clicks "Replace" to change the tag path and it is
java.lang.NoSuchMethodException: com.inductiveautomation.factorypmi.designer.eventhandling.TagSetBuilder.generateScriptFromInfo(java.util.Map, javax.swing.JComponent, com.inductiveautomation.factorypmi.application.binding.BindingRoot)
at java.base/java.lang.Class.getMethod(Unknown Source)
at com.inductiveautomation.factorypmi.designer.search.searchobjects.AbstractScriptBuilderInfoSearchObject.setText(AbstractScriptBuilderInfoSearchObject.java:60)
at com.inductiveautomation.ignition.designer.findreplace.SearchReplaceDialog.replace(SearchReplaceDialog.java:547)
at com.inductiveautomation.ignition.designer.findreplace.SearchReplaceDialog.lambda$initControlPanel$3(SearchReplaceDialog.java:327)
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.plaf.basic.BasicButtonListener.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$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.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
at java.desktop/java.awt.EventQueue$5.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)
After that, there is no indication of what has happened.
To fix this bug, I simply go into the script editor of the button and manually update the tag path instead of using CTRL + F to make the change.