Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.

Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website

  • 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.