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

  • Hi,
    I am running mango on a raspberry pi ( very well for 8 months ).
    The version is 3.5.6 and have just added a modbus ethernet publisher for a remote PLC. This worked fine for a few days. I then attempted to modify the publisher by adding another point, but did not update the register field (left it on zero) when I saved the publisher.

    The web interface lost connection.
    The top command shows java is at 100%

    Attempted a ma.sh stop and start, and the log file shows

    ERROR 2019-02-28T13:40:58,349 (com.infiniteautomation.modbus.publisher.rt.ModbusIpSlave.receivedException:189) - Publisher Slave Error

    ERROR 2019-02-28T11:16:17,844 (com.serotonin.m2m2.web.dwr.util.ExceptionDetectionFilter.doFilter:38) - DWR invocation exception com.serotonin.modbus4j.sero.ShouldNeverHappenException: Unsupported Regsiter Type: 0

    ERROR 2019-02-28T13:41:37,334 (com.serotonin.m2m2.db.dao.AbstractBasicDao$1.extractData:1043) - IO Exception: "java.io.IOException: org.h2.jdbc.JdbcSQLException: The database has been closed [90098-196]"; "lob: null table: -3 id: 48567" [90031-196]

    Can I connect to the H2 database and delete the publisher ?

    Thanks


  • Hi rob987

    Yes, you can. The Mango/bin/h2-web-console.sh will connect to the H2 database and host a webpage where you can get an SQL console. If you're not working on the Pi, you'll need to add the -webAllowOthers argument as suggested in the script to access it from other hosts. You can find your database credentials in the env.properties file, but the defaults are blank.

    select id, xid, name from publishers;
    delete from publishers where id=[appropriate id from first statement here];

    You could also try to start Mango in safe mode by placing a file at Mango/SAFE and then starting it. This would disable all publishers, data sources, etc at startup.

    But....

    "java.io.IOException: org.h2.jdbc.JdbcSQLException: The database has been closed [90098-196]"; "lob: null table: -3 id: 48567" [90031-196]"

    Seems to me like you may need to restore a database backup, which has two methods described in this thread (3rd post is easiest method): https://forum.infiniteautomation.com/topic/2748/how-to-restore-a-database-backup

    I don't think the issue is related to adding the point. I also find it odd the ERROR outputs you have presented are not in chronological order.


  • Hi,
    Thanks for your prompt reply.
    I restored the database , and all good now. The times on the logs were out, as I just "grep ERROR *ma.log" and cut/paste the interesting ones.

    Thanks again - Its the fastest SCADA support I have seen.