Publisher Slave Error
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 ?
phildunlap last edited by phildunlap
Yes, you can. The
Mango/bin/h2-web-console.shwill 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/SAFEand then starting it. This would disable all publishers, data sources, etc at startup.
"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.
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.