Jun 27 16:29:12 IQ930000 wb-rules[8889]: INFO: reloading file: /etc/wb-rules/61c1f5c65513ec7fdf74aa9a-__627913153__.js
Jun 27 16:29:15 IQ930000 wb-rules[8889]: panic: runtime error: invalid memory address or nil pointer dereference
Jun 27 16:29:15 IQ930000 wb-rules[8889]: [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x2d81c0]
Jun 27 16:29:15 IQ930000 wb-rules[8889]: goroutine 52 [running]:
Jun 27 16:29:15 IQ930000 wb-rules[8889]: github.com/wirenboard/wb-rules/wbrules.(*Rule).MaybeAddToCron.func1()
Jun 27 16:29:15 IQ930000 wb-rules[8889]: github.com/wirenboard/wb-rules/wbrules/rule.go:324 +0x20
Jun 27 16:29:15 IQ930000 wb-rules[8889]: github.com/wirenboard/wb-rules/wbrules.(*RuleEngine).syncLoop(0x2560100)
Jun 27 16:29:15 IQ930000 wb-rules[8889]: github.com/wirenboard/wb-rules/wbrules/engine.go:712 +0xf4
Jun 27 16:29:15 IQ930000 wb-rules[8889]: created by github.com/wirenboard/wb-rules/wbrules.(*RuleEngine).Start
Jun 27 16:29:15 IQ930000 wb-rules[8889]: github.com/wirenboard/wb-rules/wbrules/engine.go:1241 +0x1e8
Jun 27 16:29:15 IQ930000 systemd[1]: wb-rules.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Jun 27 16:29:15 IQ930000 systemd[1]: wb-rules.service: Unit entered failed state.
Jun 27 16:29:15 IQ930000 systemd[1]: wb-rules.service: Failed with result 'exit-code'.
Jun 27 16:29:16 IQ930000 systemd[1]: wb-rules.service: Service hold-off time over, scheduling restart.
Jun 27 16:29:16 IQ930000 systemd[1]: Stopped MQTT Rule engine for Wiren Board.
Jun 27 16:29:16 IQ930000 systemd[1]: Started MQTT Rule engine for Wiren Board.
Jun 27 16:29:17 IQ930000 wb-rules[17325]: INFO: driver is created
Jun 27 16:29:17 IQ930000 wb-rules[17325]: INFO: [wbgo_mqtt] rules-IQ930000-17325: MQTT connection established
Jun 27 16:29:17 IQ930000 wb-rules[17325]: INFO: driver loop is started
Jun 27 16:29:17 IQ930000 wb-rules[17325]: INFO: wait for driver to become ready
Jun 27 16:29:28 IQ930000 wb-rules[17325]: INFO: driver is ready
Jun 27 16:29:28 IQ930000 wb-rules[17325]: INFO: [rule info] using file /var/lib/wirenboard/wbrules-persistent.db for persistent DB
Jun 27 16:29:28 IQ930000 wb-rules[17325]: INFO: [wbgo_mqtt] wb-rules-engine-IQ930000-17325: MQTT connection established
Jun 27 16:29:29 IQ930000 wb-rules[17325]: INFO: [engine] Starting main loop
Jun 27 16:29:29 IQ930000 wb-rules[17325]: INFO: the engine is ready
Jun 27 16:29:29 IQ930000 wb-rules[17325]: INFO: [engine] Starting sync loop
Jun 27 16:29:29 IQ930000 wb-rules[17325]: INFO: /usr/share/wb-rules-system/rules/buzzer.js is NOT under source root /etc/wb-rules
Jun 27 16:29:29 IQ930000 wb-rules[17325]: INFO: /usr/share/wb-rules-system/rules/hwmon.js is NOT under source root /etc/wb-rules
Jun 27 16:29:30 IQ930000 wb-rules[17325]: INFO: /usr/share/wb-rules-system/rules/network.js is NOT under source root /etc/wb-rules
Jun 27 16:29:30 IQ930000 wb-rules[17325]: INFO: /usr/share/wb-rules-system/rules/power_status.js is NOT under source root /etc/wb-rules
Jun 27 16:29:30 IQ930000 wb-rules[17325]: Device "ppp0" does not exist.
Jun 27 16:29:31 IQ930000 wb-rules[17325]: INFO: network/Ethernet IP: failed to convert value '', passing raw
Jun 27 16:29:31 IQ930000 wb-rules[17325]: INFO: network/Ethernet 2 IP: failed to convert value '', passing raw
Jun 27 16:29:31 IQ930000 wb-rules[17325]: INFO: network/Wi-Fi 2 IP: failed to convert value '', passing raw
Jun 27 16:29:31 IQ930000 wb-rules[17325]: sh: echo: I/O error
Так же wb-rules постоянно теряет mosquitto:
Лог 2
июн 27 17:32:08 IQ930000 wb-rules[12690]: INFO: LiveRemoveFile: /etc/wb-rules/61c1f5c65513ec7fdf74aa9a-__4073139077__.js
июн 27 17:32:24 IQ930000 wb-rules[12690]: ERROR: [wbgo_mqtt] MQTT error: publish was broken by timeout
июн 27 17:32:54 IQ930000 wb-rules[12690]: ERROR: [wbgo_mqtt] MQTT error: publish was broken by timeout
июн 27 17:33:24 IQ930000 wb-rules[12690]: ERROR: [wbgo_mqtt] MQTT error: publish was broken by timeout
июн 27 17:33:54 IQ930000 wb-rules[12690]: ERROR: [wbgo_mqtt] MQTT error: publish was broken by timeout
Про потерю mosquitto интересно. Как часто воспроизводится? Есть ли возможность обновиться до 2.11.2 или новее? Там были исправления, которые могут повлиять.
Вчера mqtt терялся чуть ли не каждый час. Но я настраивал zigbee2mqtt, иногда его перезапускал. Поидее не должно быть связано, но вдруг. Перед уходом обновил wb-rules до самой свежей версии, буду сегодня наблюдать. В самих логах mosquitto ошибок не заметил.
Только подошел к контроллеру, ничего не перезапускал и не трогал как wb-rules снова потерял MQTT. Лог прилагаю. Версия 2.11.3. Это же самая актуальная?
лог
Jun 28 14:00:52 IQ930000 wb-rules[10429]: Device "ppp0" does not exist.
Jun 28 14:00:58 IQ930000 wb-rules[10429]: INFO: network/Ethernet 2 IP: failed to convert value '', passing raw
Jun 28 14:00:58 IQ930000 wb-rules[10429]: INFO: network/Ethernet IP: failed to convert value '', passing raw
Jun 28 14:00:58 IQ930000 wb-rules[10429]: INFO: network/Wi-Fi 2 IP: failed to convert value '', passing raw
Jun 28 14:00:58 IQ930000 wb-rules[10429]: INFO: network/GPRS IP: failed to convert value '', passing raw
Jun 28 14:01:03 IQ930000 wb-rules[10429]: INFO: [rule info] 621cd3414b9ac24bd16e6968: incoming wrong value 0x00158d0006c5d3c7/state null
Jun 28 14:01:03 IQ930000 wb-rules[10429]: INFO: [rule info] 61c1f538065bbd7ac61290dc: Change wrong value of wb-mr6c_43/K3 false to true
Jun 28 14:01:13 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x195b700 <nil>} 918})
Jun 28 14:01:23 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x195b980 <nil>} 919})
Jun 28 14:01:33 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1ebe240 <nil>} 920})
Jun 28 14:01:43 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.PublishToken (&{{{{0 0} 0 0 0 0} 0x1ebe740 <nil>} 921})
Jun 28 14:01:48 IQ930000 wb-rules[10429]: Device "ppp0" does not exist.
Jun 28 14:01:53 IQ930000 wb-rules[10429]: INFO: network/GPRS IP: failed to convert value '', passing raw
Jun 28 14:01:54 IQ930000 wb-rules[10429]: INFO: network/Ethernet IP: failed to convert value '', passing raw
Jun 28 14:01:54 IQ930000 wb-rules[10429]: INFO: network/Ethernet 2 IP: failed to convert value '', passing raw
Jun 28 14:01:54 IQ930000 wb-rules[10429]: INFO: network/Wi-Fi 2 IP: failed to convert value '', passing raw
Jun 28 14:01:56 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x1ad6080 <nil>} [zigbee2mqtt/0x540f57fffe896dc9] map[] 926})
Jun 28 14:02:01 IQ930000 wb-rules[10429]: INFO: [rule info] 621cd3414b9ac24bd16e6968: incoming wrong value 0x00158d0006c5d3c7/state null
Jun 28 14:02:01 IQ930000 wb-rules[10429]: INFO: [rule info] 61c1f538065bbd7ac61290dc: Change wrong value of wb-mr6c_43/K3 false to true
Jun 28 14:02:06 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x1ad6600 <nil>} [zigbee2mqtt/0x00124b0025238768] map[] 927})
Jun 28 14:02:12 IQ930000 wb-rules[10429]: WARNING: [wbgo_mqtt] MQTT connection lost: pingresp not received, disconnecting
Jun 28 14:02:12 IQ930000 wb-rules[10429]: WARNING: [wbgo_mqtt] Cleaning up token queue
Jun 28 14:02:13 IQ930000 wb-rules[10429]: INFO: [wbgo_mqtt] wb-rules-engine-IQ930000-10429: MQTT connection established
Jun 28 14:02:16 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x1ad6b00 <nil>} [zigbee2mqtt/0x00124b0025238924] map[] 928})
Jun 28 14:02:26 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x1ad6f80 <nil>} [zigbee2mqtt/0x00124b0025238916] map[] 929})
Jun 28 14:02:36 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x1ad7500 <nil>} [zigbee2mqtt/0x540f57fffe896dd1] map[] 930})
Jun 28 14:02:46 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x1ad7940 <nil>} [zigbee2mqtt/0x00158d0006bcaaf1] map[] 931})
Jun 28 14:02:47 IQ930000 wb-rules[10429]: INFO: network/Wi-Fi 2 IP: failed to convert value '', passing raw
Jun 28 14:02:48 IQ930000 wb-rules[10429]: INFO: network/Ethernet IP: failed to convert value '', passing raw
Jun 28 14:02:48 IQ930000 wb-rules[10429]: INFO: network/Ethernet 2 IP: failed to convert value '', passing raw
Jun 28 14:02:48 IQ930000 wb-rules[10429]: Device "ppp0" does not exist.
Jun 28 14:02:48 IQ930000 wb-rules[10429]: INFO: network/GPRS IP: failed to convert value '', passing raw
Jun 28 14:02:56 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x1ad7e00 <nil>} [zigbee2mqtt/0x00158d0006d3f512] map[] 932})
Jun 28 14:02:59 IQ930000 wb-rules[10429]: INFO: [rule info] 621cd3414b9ac24bd16e6968: incoming wrong value 0x00158d0006c5d3c7/state null
Jun 28 14:02:59 IQ930000 wb-rules[10429]: INFO: [rule info] 61c1f538065bbd7ac61290dc: Change wrong value of wb-mr6c_43/K3 false to true
Jun 28 14:03:47 IQ930000 wb-rules[10429]: INFO: network/Ethernet IP: failed to convert value '', passing raw
Jun 28 14:03:47 IQ930000 wb-rules[10429]: Device "ppp0" does not exist.
Jun 28 14:03:47 IQ930000 wb-rules[10429]: INFO: network/GPRS IP: failed to convert value '', passing raw
Jun 28 14:03:47 IQ930000 wb-rules[10429]: INFO: network/Ethernet 2 IP: failed to convert value '', passing raw
Jun 28 14:03:47 IQ930000 wb-rules[10429]: INFO: network/Wi-Fi 2 IP: failed to convert value '', passing raw
Jun 28 14:04:01 IQ930000 wb-rules[10429]: INFO: [rule info] 621cd3414b9ac24bd16e6968: incoming wrong value 0x00158d0006c5d3c7/state null
Jun 28 14:04:01 IQ930000 wb-rules[10429]: INFO: [rule info] 61c1f538065bbd7ac61290dc: Change wrong value of wb-mr6c_43/K3 false to true
Jun 28 14:04:11 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x19b4040 <nil>} [zigbee2mqtt/0x540f57fffe896dc9] map[] 1002})
Jun 28 14:04:21 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x19b4d00 <nil>} [zigbee2mqtt/0x00124b0025238768] map[] 1003})
Jun 28 14:04:31 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x19b5640 <nil>} [zigbee2mqtt/0x00124b0025238924] map[] 1004})
Jun 28 14:04:41 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x16da400 <nil>} [zigbee2mqtt/0x00124b0025238916] map[] 1005})
Jun 28 14:04:50 IQ930000 wb-rules[10429]: Device "ppp0" does not exist.
Jun 28 14:04:51 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x16dbb80 <nil>} [zigbee2mqtt/0x540f57fffe896dd1] map[] 1006})
Jun 28 14:04:52 IQ930000 wb-rules[10429]: INFO: network/Wi-Fi 2 IP: failed to convert value '', passing raw
Jun 28 14:04:52 IQ930000 wb-rules[10429]: INFO: network/Ethernet IP: failed to convert value '', passing raw
Jun 28 14:04:52 IQ930000 wb-rules[10429]: INFO: network/Ethernet 2 IP: failed to convert value '', passing raw
Jun 28 14:04:52 IQ930000 wb-rules[10429]: INFO: network/GPRS IP: failed to convert value '', passing raw
Jun 28 14:04:55 IQ930000 wb-rules[10429]: WARNING: [wbgo_mqtt] MQTT connection lost: pingresp not received, disconnecting
Jun 28 14:04:55 IQ930000 wb-rules[10429]: WARNING: [wbgo_mqtt] Cleaning up token queue
Jun 28 14:04:55 IQ930000 wb-rules[10429]: INFO: [wbgo_mqtt] wb-rules-engine-IQ930000-10429: MQTT connection established
Jun 28 14:05:01 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x161c8c0 <nil>} [zigbee2mqtt/0x00158d0006bcaaf1] map[] 1007})
Jun 28 14:05:02 IQ930000 wb-rules[10429]: INFO: [rule info] 621cd3414b9ac24bd16e6968: incoming wrong value 0x00158d0006c5d3c7/state null
Jun 28 14:05:02 IQ930000 wb-rules[10429]: INFO: [rule info] 61c1f538065bbd7ac61290dc: Change wrong value of wb-mr6c_43/K3 false to true
Jun 28 14:05:11 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x19ba440 <nil>} [zigbee2mqtt/0x00158d0006d3f512] map[] 1008})
Jun 28 14:05:21 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x1924940 <nil>} [zigbee2mqtt/0x540f57fffe896dc9] map[] 1080})
Jun 28 14:05:31 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT token wait timeout: *mqtt.SubscribeToken (&{{{{0 0} 0 0 0 0} 0x1924c80 <nil>} [zigbee2mqtt/0x00124b0025238768] map[] 1081})
Jun 28 14:05:52 IQ930000 wb-rules[10429]: Device "ppp0" does not exist.
Jun 28 14:05:57 IQ930000 wb-rules[10429]: INFO: network/GPRS IP: failed to convert value '', passing raw
Jun 28 14:05:57 IQ930000 wb-rules[10429]: INFO: network/Ethernet IP: failed to convert value '', passing raw
Jun 28 14:05:57 IQ930000 wb-rules[10429]: INFO: network/Ethernet 2 IP: failed to convert value '', passing raw
Jun 28 14:05:57 IQ930000 wb-rules[10429]: INFO: network/Wi-Fi 2 IP: failed to convert value '', passing raw
Jun 28 14:06:32 IQ930000 wb-rules[10429]: ERROR: [wbgo_mqtt] MQTT error: publish was broken by timeout
Да, на ветке testing больше проблем не возникало. Перезапуски wb-rules были связны с нашим вочдогом, который был не правильно настроен для этого конкретного контроллера.