pimodbus-master.service failed
Posted: 27 May 2020, 15:24
Dear all,
we are using the virtual modbus RTU master with a RevPi Core 3+. I have three different modbus devices. One of them has failed like two or three times in the past. As far as I can see it so far, if a modbus device is not reacting anymore, i.e., the slave address is not responding, the modbus RTU master will not start.
To get around this problem I though about changing the configuration of pictory automatically. That has worked okayish, in so far as I can run my script which changes the config, reboot, and then the modbus master works as intended.
However, I have to reboot, which is annoying. I noticed the following lines in the journalctl:
"Feb 20 17:02:10 RevPiXXXXX piModbusMaster[1093]: No modbus actions for device
Feb 20 17:02:10 RevPiXXXXX piModbusMaster[1093]: Scheduler initialization failed
Feb 20 17:02:10 RevPiXXXXX piModbusMaster[1093]: *** Error in `/usr/sbin/piModbusMaster': double free or corruption (out): 0x764004a0 ***
Feb 20 17:02:10 RevPiXXXXX systemd[1]: pimodbus-master.service: Main process exited, code=killed, status=6/ABRT
Feb 20 17:02:10 RevPiXXXXX systemd[1]: pimodbus-master.service: Unit entered failed state.
Feb 20 17:02:10 RevPiXXXXX systemd[1]: pimodbus-master.service: Failed with result 'signal'.
"
I understand that the pimodbus-master.service crashed. Is there a way of restarting that? Is the service configured to restart only upon boot? Where are the service files so I can change them to restart upon crash?
As our system has to be resilient, I need to be able to control that modbus master completely, otherwise in the worst case our system is useless until a technician arrives.
Best, Robert
we are using the virtual modbus RTU master with a RevPi Core 3+. I have three different modbus devices. One of them has failed like two or three times in the past. As far as I can see it so far, if a modbus device is not reacting anymore, i.e., the slave address is not responding, the modbus RTU master will not start.
To get around this problem I though about changing the configuration of pictory automatically. That has worked okayish, in so far as I can run my script which changes the config, reboot, and then the modbus master works as intended.
However, I have to reboot, which is annoying. I noticed the following lines in the journalctl:
"Feb 20 17:02:10 RevPiXXXXX piModbusMaster[1093]: No modbus actions for device
Feb 20 17:02:10 RevPiXXXXX piModbusMaster[1093]: Scheduler initialization failed
Feb 20 17:02:10 RevPiXXXXX piModbusMaster[1093]: *** Error in `/usr/sbin/piModbusMaster': double free or corruption (out): 0x764004a0 ***
Feb 20 17:02:10 RevPiXXXXX systemd[1]: pimodbus-master.service: Main process exited, code=killed, status=6/ABRT
Feb 20 17:02:10 RevPiXXXXX systemd[1]: pimodbus-master.service: Unit entered failed state.
Feb 20 17:02:10 RevPiXXXXX systemd[1]: pimodbus-master.service: Failed with result 'signal'.
"
I understand that the pimodbus-master.service crashed. Is there a way of restarting that? Is the service configured to restart only upon boot? Where are the service files so I can change them to restart upon crash?
As our system has to be resilient, I need to be able to control that modbus master completely, otherwise in the worst case our system is useless until a technician arrives.
Best, Robert