Mosquitto won't start on boot after raspbian and emonsd update

Hi @jsroques,

Nice work tracking this issue down. I have been unable to replicate the issue. On system (stock emonSD-26Oct17) it does eventually start.

sudo journalctl -u mosquitto
-- Logs begin at Wed 2017-11-08 15:10:19 UTC, end at Wed 2017-11-08 15:11:23 UTC. --
Nov 08 15:10:21 emonpi systemd[1]: Starting Mosquitto MQTT Broker...
Nov 08 15:10:21 emonpi systemd[1]: Started Mosquitto MQTT Broker.
Nov 08 15:10:22 emonpi mosquitto[517]: 1510153822: Error: Unable to open log file /var/log/mosquitto/mosquitto.l
Nov 08 15:10:22 emonpi systemd[1]: mosquitto.service: main process exited, code=exited, status=1/FAILURE
Nov 08 15:10:22 emonpi systemd[1]: Unit mosquitto.service entered failed state.
Nov 08 15:10:22 emonpi systemd[1]: mosquitto.service holdoff time over, scheduling restart.
Nov 08 15:10:22 emonpi systemd[1]: Stopping Mosquitto MQTT Broker...
Nov 08 15:10:22 emonpi systemd[1]: Starting Mosquitto MQTT Broker...
Nov 08 15:10:22 emonpi systemd[1]: Started Mosquitto MQTT Broker.
Nov 08 15:10:22 emonpi mosquitto[622]: 1510153822: Error: Unable to open log file /var/log/mosquitto/mosquitto.l
Nov 08 15:10:22 emonpi systemd[1]: mosquitto.service: main process exited, code=exited, status=1/FAILURE
Nov 08 15:10:22 emonpi systemd[1]: Unit mosquitto.service entered failed state.
Nov 08 15:10:22 emonpi systemd[1]: mosquitto.service holdoff time over, scheduling restart.
Nov 08 15:10:22 emonpi systemd[1]: Stopping Mosquitto MQTT Broker...
Nov 08 15:10:22 emonpi systemd[1]: Starting Mosquitto MQTT Broker...
Nov 08 15:10:22 emonpi systemd[1]: Started Mosquitto MQTT Broker.
Nov 08 15:10:22 emonpi mosquitto[661]: 1510153822: Error: Unable to open log file /var/log/mosquitto/mosquitto.l
Nov 08 15:10:22 emonpi systemd[1]: mosquitto.service: main process exited, code=exited, status=1/FAILURE
Nov 08 15:10:22 emonpi systemd[1]: Unit mosquitto.service entered failed state.
Nov 08 15:10:22 emonpi systemd[1]: mosquitto.service holdoff time over, scheduling restart.
Nov 08 15:10:22 emonpi systemd[1]: Stopping Mosquitto MQTT Broker...
Nov 08 15:10:22 emonpi systemd[1]: Starting Mosquitto MQTT Broker...
Nov 08 15:10:22 emonpi systemd[1]: Started Mosquitto MQTT Broker.
Nov 08 15:10:22 emonpi mosquitto[677]: 1510153822: Error: Unable to open log file /var/log/mosquitto/mosquitto.l
Nov 08 15:10:22 emonpi systemd[1]: mosquitto.service: main process exited, code=exited, status=1/FAILURE
Nov 08 15:10:22 emonpi systemd[1]: Unit mosquitto.service entered failed state.
Nov 08 15:10:22 emonpi systemd[1]: mosquitto.service holdoff time over, scheduling restart.
Nov 08 15:10:22 emonpi systemd[1]: Stopping Mosquitto MQTT Broker...
Nov 08 15:10:22 emonpi systemd[1]: Starting Mosquitto MQTT Broker...
Nov 08 15:10:22 emonpi systemd[1]: Started Mosquitto MQTT Broker.
Nov 08 15:10:23 emonpi mosquitto[739]: 1510153823: Error: Unable to open log file /var/log/mosquitto/mosquitto.l
Nov 08 15:10:23 emonpi systemd[1]: mosquitto.service: main process exited, code=exited, status=1/FAILURE
Nov 08 15:10:23 emonpi systemd[1]: Unit mosquitto.service entered failed state.
Nov 08 15:10:23 emonpi systemd[1]: mosquitto.service holdoff time over, scheduling restart.
Nov 08 15:10:23 emonpi systemd[1]: Stopping Mosquitto MQTT Broker...
Nov 08 15:10:23 emonpi systemd[1]: Starting Mosquitto MQTT Broker...
Nov 08 15:10:23 emonpi systemd[1]: mosquitto.service start request repeated too quickly, refusing to start.
Nov 08 15:10:23 emonpi systemd[1]: Failed to start Mosquitto MQTT Broker.
Nov 08 15:10:23 emonpi systemd[1]: Unit mosquitto.service entered failed state.
Nov 08 15:10:32 emonpi systemd[1]: Starting Mosquitto MQTT Broker...
Nov 08 15:10:32 emonpi systemd[1]: Started Mosquitto MQTT Broker.

Out of interest what emonSD version are you running?

$ ls /boot | grep emonSD

Thanks a lot for helping out on the other thread, it looks like it’s been confirmed it’s same issue :+1:

I agree, adding delays is not ideal. 11s is quite a long delay. However I will as a temporary add this change to the rc.local script. This change will be automatically pulled in by all emonPi’s:

I wonder how the init script could be modified to wait for the log file to be created, or ideally create the logfile itself?