(8.1.15) Intermittent IllegalArgumentExceptions on integer bindings in Designer

Hey folks,

We recently upgraded a gateway from 7.9.6 to 8.1.15 and began to encounter thrown exceptions around the program. These exceptions are thrown in the designer, but not in the client. These components were not throwing errors before upgrading.

Behavior:

  • Upon opening some vision screens in designer, receive thrown exception seen below.
    • Tied to integer bindings. None of the bindings in question are bound to a float, despite the warnings.
  • Issue resolves immediately, displays correct value, and screen works as expected.
  • Closing and reopening may trigger the same exception. It may also not trigger the error again.

As of yet, it is seemingly random whether the issue recurs on the same component multiple times. Occasionally, opening a window that had never displayed the issue will trigger the error.

Understandably, IA support is having a tough time nailing down the issue. Thinking others may be encountering it as well. It seems to be consistent with the behavior detailed in this thread. Anyone have any thoughts?

Exception:

Error setting property to '0.0' for binding on Flex Recipe Viewer.Root Container.Press 1.Time 11.intValue
Exception: Error setting property to '0.0' for binding on
Flex Recipe Viewer.Root Container.Press 1.Time 11.intValue
    caused by IllegalArgumentException
Ignition v8.1.15 (b2022030114)
Java: Azul Systems, Inc. 11.0.14.1

Console Output:

7:31:32.355 [AWT-EventQueue-0] ERROR com.inductiveautomation.ignition.client.util.gui.ErrorUtil - null
java.lang.Exception: Error setting property to '0.0' for binding on
Flex Recipe Viewer.Root Container.Press 1.Time 11.intValue
    at com.inductiveautomation.factorypmi.application.binding.AbstractPropertyAdapter.updateTarget(AbstractPropertyAdapter.java:333)
    at com.inductiveautomation.factorypmi.application.binding.SimpleBoundPropertyAdapter.updateTarget(SimpleBoundPropertyAdapter.java:170)
    at com.inductiveautomation.factorypmi.application.binding.SimpleBoundPropertyAdapter.startup(SimpleBoundPropertyAdapter.java:78)
    at com.inductiveautomation.factorypmi.application.binding.DefaultInteractionController.startupBindings(DefaultInteractionController.java:355)
    at com.inductiveautomation.factorypmi.application.binding.DefaultInteractionController.startupAdapters(DefaultInteractionController.java:360)
    at com.inductiveautomation.factorypmi.application.FPMIWindow.startup(FPMIWindow.java:344)
    at com.inductiveautomation.factorypmi.designer.workspace.WindowWorkspace$DesigntimeWindowOpener.openWindow(WindowWorkspace.java:3782)
    at com.inductiveautomation.factorypmi.designer.workspace.WindowWorkspace.openWindow(WindowWorkspace.java:1521)
    at com.inductiveautomation.factorypmi.designer.model.navtree.WindowNode.open(WindowNode.java:250)
    at com.inductiveautomation.ignition.designer.navtree.model.AbstractResourceNavTreeNode.onDoubleClick(AbstractResourceNavTreeNode.java:361)
    at com.inductiveautomation.ignition.designer.navtree.NavTreePanel$MouseListener.lambda$mousePressed$0(NavTreePanel.java:687)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(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.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: null
    at jdk.internal.reflect.GeneratedMethodAccessor139.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.base/java.lang.reflect.Method.invoke(Unknown Source)
    at com.inductiveautomation.factorypmi.application.binding.AbstractPropertyAdapter.updateTarget(AbstractPropertyAdapter.java:326)
    ... 23 common frames omitted