Data Source Issue
-
We upgraded Mango to version 3.7.4 on one of our devices back in March and just recently noticed an issue with one of our data sources. We have 3 data sources setup pretty much the same way, however one of them has not been updating point values since the upgrade. In the ma.log we see a lot of entries for the error below.
ERROR 2020-07-16T14:28:54,685 (com.serotonin.m2m2.util.timeout.TimeoutTask.run:61) - Uncaught Task Exception java.lang.NumberFormatException: null at java.math.BigDecimal.<init>(BigDecimal.java:494) ~[?:1.8.0_131] at java.math.BigDecimal.<init>(BigDecimal.java:383) ~[?:1.8.0_131] at java.math.BigDecimal.<init>(BigDecimal.java:806) ~[?:1.8.0_131] at com.serotonin.m2m2.modbus.rt.ModbusDataSourceRT.updatePointValue(ModbusDataSourceRT.java:404) ~[?:?] at com.serotonin.m2m2.modbus.rt.ModbusDataSourceRT.doPoll(ModbusDataSourceRT.java:230) ~[?:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource.doPollNoSync(PollingDataSource.java:228) ~[mango-3.7.4.jar:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource.scheduleTimeoutImpl(PollingDataSource.java:183) ~[mango-3.7.4.jar:?] at com.serotonin.m2m2.rt.dataSource.PollingDataSource$1.scheduleTimeout(PollingDataSource.java:85) ~[mango-3.7.4.jar:?] at com.serotonin.m2m2.util.timeout.TimeoutTask.run(TimeoutTask.java:59) ~[mango-3.7.4.jar:?] at com.serotonin.timer.Task.runTask(Task.java:179) ~[mango-3.7.4.jar:?] at com.serotonin.timer.TaskWrapper.run(TaskWrapper.java:23) ~[mango-3.7.4.jar:?] at com.serotonin.timer.OrderedThreadPoolExecutor$OrderedTaskCollection.run(OrderedThreadPoolExecutor.java:314) ~[mango-3.7.4.jar:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0_131] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131]
I was able to get the points to start updating by going into the bulk editor, selecting all of the points to edit, and then saving them without actually changing anything. So far it seems like the points are all still updating but I would like to find the actual cause of the issue and get it fixed. Has anyone seen this issue and know the fix? Any help would be appreciated.
Thanks!
-
@clor925 I just took a look at the code and it was the
multiplier
setting on the Modbus data point that was corrupted. By saving it you must have fixed the corruption. I can't really say how that happened. That feature has been in this data source since the beginning and I have not seen this happen before. What version of Mango did you upgrade from? -
I believe this box was on 3.4.5 before the upgrade. I had done at least 15 other upgrades from 3.4.5 to 3.7.4 without any issue. It was weird since the issue only happened to one of the data sources. So far it looks like everything is still working correctly.