Receiving overflow error from a mystery value

I have a screen with a bunch of numeric text fields, dropdowns, etc., where a user can enter data then hit Submit to write the values to a database. There is a dropdown at the very top that changes which “workflow” they are looking at data for. If the user changes this dropdown, it changes the values of all the fields on the screen because the values are bound to datasets that change based on the dropdown’s selectedValue.

If a certain value is selected from the dropdown, about half the time Ignition will give me this error:

[code]java.lang.ClassCastException: Value 9223372036854775807 can not be coerced to integer due to overflow.
at com.inductiveautomation.ignition.common.TypeUtilities.coerce(TypeUtilities.java:904)
at com.inductiveautomation.factorypmi.application.binding.AbstractPropertyAdapter.setQValue(AbstractPropertyAdapter.java:222)
at com.inductiveautomation.factorypmi.application.binding.AbstractPropertyAdapter.updateValue(AbstractPropertyAdapter.java:262)
at com.inductiveautomation.factorypmi.application.binding.ExpressionPropertyAdapter.runExpression(ExpressionPropertyAdapter.java:88)
at com.inductiveautomation.factorypmi.application.binding.ExpressionPropertyAdapter$1.run(ExpressionPropertyAdapter.java:58)
at com.inductiveautomation.ignition.client.util.EDTUtil$ProcessQueue.run(EDTUtil.java:113)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(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$JavaSecurityAccessImpl.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)

Ignition v7.8.4 (b2016082217)
Java: Oracle Corporation 1.8.0_121[/code]

There are no values in any of the fields that are anywhere near as high as 9223372036854775807, and I don’t know why this error doesn’t come up every time I select that dropdown item. There isn’t anything special about it that I can see. It’s also frustrating that the error doesn’t give any hint as to which component caused the issue.

Have you seen this type of error before? Anything I can do to help track it down? Thanks for your time!

I’m not sure that this helps but 9223372036854775807 is the maximum possible value for a signed 64 bit integer. It seems one of your values is somehow larger than this.

When faced with this kind of error I temporarily disable parts of the system until I can identify which control is causing the problem. If you can post your window here I’ll have a look at it for you.

Since ExpressionPropertyAdapter shows up in the backtrace, you can omit any bindings from your search that don’t use an expression.

Just to add something here that might or might not be helpful, I had the same issue in one of my windows and it was driving me crazy. make sure you round the values that are double/float to one or 2 decimal places , that seemed to cause my issue because it did everything from changing all the custom properties to long int and double just to see if it helps to make sure there is a try() anywhere that could possible cause an issue and I still had the darn error, after rounding my numbers boom, damn thing went away lol…

1 Like