Сбой wb-rules" no message IDs available

Добрый день. Ночью случился странный сбой: wb-rules перестал отвечать на обращения к нему извне, состояния некоторых логических переменных судя по логам прыгали 0-1 всю ночь, некоторые релюшки сами по себе “дрыгались”.
systemctl показывает вот такое на протяжении всего времени ночи:

journalctl -u wb-rules -- since "2022-06-01 22:20:00"

Jun 01 22:26:28 wirenboard-AUHRRRFG wb-rules[1969]: ERROR: [wbgo_mqtt] MQTT error: no message IDs available
Jun 01 22:26:28 wirenboard-AUHRRRFG wb-rules[1969]: ERROR: [wbgo_mqtt] MQTT error: no message IDs available
Jun 01 22:26:28 wirenboard-AUHRRRFG wb-rules[1969]: ERROR: [wbgo_mqtt] MQTT error: no message IDs available
Jun 01 22:26:28 wirenboard-AUHRRRFG wb-rules[1969]: ERROR: [wbgo_mqtt] MQTT error: no message IDs available
Jun 01 22:26:28 wirenboard-AUHRRRFG wb-rules[1969]: ERROR: [wbgo_mqtt] MQTT error: no message IDs available
Jun 01 22:26:28 wirenboard-AUHRRRFG wb-rules[1969]: ERROR: [wbgo_mqtt] MQTT error: no message IDs available
Jun 01 22:26:28 wirenboard-AUHRRRFG wb-rules[1969]: ERROR: [wbgo_mqtt] MQTT error: no message IDs available
Jun 01 22:26:28 wirenboard-AUHRRRFG wb-rules[1969]: ERROR: [wbgo_mqtt] MQTT error: no message IDs available
Jun 01 22:26:28 wirenboard-AUHRRRFG wb-rules[1969]: ERROR: [wbgo_mqtt] MQTT error: no message IDs available

.....

Jun 01 22:26:28 wirenboard-AUHRRRFG wb-rules[1969]: ERROR: [wbgo_mqtt] MQTT error: no message IDs available

Всего порядка 40 строк с ошибкой в секунду.

Что бы это могло быть и как избежать в будущем?

Добрый день.
Похожего, с такими симптомами еще не было.
Какой контроллер, какой релиз (версия ПО) на контроллере?

Wiren Board 6.6.0 (s/n AUHRRRFG), release wb-2201 (as stable)

Linux wirenboard-AUHRRRFG 5.10.35-wb105 #1 armv7l GNU/Linux

Вот еще из интересного:

journalctl -u wb-mqtt-serial --since "2022-06-01 22:20:00"

...

Jun 02 05:25:36 wirenboard-AUHRRRFG wb-mqtt-serial[8365]: INFO: [signal handling] Received signal 15
Jun 02 05:25:36 wirenboard-AUHRRRFG systemd[1]: Stopping MQTT Driver for serial devices...
Jun 02 05:25:38 wirenboard-AUHRRRFG wb-mqtt-serial[8365]: WARNING: [mqtt] connection lost
Jun 02 05:25:39 wirenboard-AUHRRRFG wb-mqtt-serial[8365]: WARNING: [backend] Unable to cleanup topic '/devices/wb-map12e_11/controls/Ch 2 P L1/meta': timed out
Jun 02 05:25:39 wirenboard-AUHRRRFG wb-mqtt-serial[8365]: wb-mqtt-serial: wblib/mqtt.cpp:307: virtual WBMQTT::TFuture<void> WBMQTT::TMosquittoMqttClient::PublishSynced(const WBMQTT::TMqttMessage&): Assert
Jun 02 05:25:39 wirenboard-AUHRRRFG systemd[1]: wb-mqtt-serial.service: Main process exited, code=killed, status=6/ABRT
Jun 02 05:25:39 wirenboard-AUHRRRFG systemd[1]: Stopped MQTT Driver for serial devices.
Jun 02 05:25:39 wirenboard-AUHRRRFG systemd[1]: wb-mqtt-serial.service: Unit entered failed state.
Jun 02 05:25:39 wirenboard-AUHRRRFG systemd[1]: wb-mqtt-serial.service: Failed with result 'signal'.
-- Reboot --
Jun 02 05:26:21 wirenboard-AUHRRRFG systemd[1]: Started MQTT Driver for serial devices.

Как раз в wb-rules правились “подвисания”. Советую обновиться до актуального 2204.
И желательно, выгрузить лог с моента начала странного поведения, даже с запасом, так: journalctl — утилита просмотра системного журнала — Wiren Board

Буквально две недели назад делал полный apt update && apt upgrade. И накатилась 2201. Мб какую-то репу надо добавить?

Новый релиз вышел совсем недавно, попробуйте выполнить команды еще раз.
Также будет нужен архив с диагностической информацией контроллера, если проблема останется.

Получилось ли решить проблему?

Нет. Но проблема пока не повторялась на том же устройстве. Зато на другом была. И, кажется, это имеет взаимосвязь с интернет-соединением. Видно, что падает москита (с настроенным бриджем на доменное имя, а не айпишник), а после чего падает wb-rules и wb-mqtt-serial

Да, сервис mosquitto нужен для работы других сервисов. Если он не работает, то и другие сервисы перестанут работать нормально.

Думаю, нужно выяснять причину падения брокера mosquitto.
Попробуйте также отключить сохранение топиков в базу данных брокера:
в конфигурационном файле /etc/mosquitto/mosquitto.conf поменять persistence true на persistence false, перезапустить брокер systemctl restart mosquitto (или контроллер). Затем удалить базу данных /mnt/data/var/lib/mosquitto/mosquitto.db брокера mosquitto

Проверил. В случае отключения (недоступности) целевого хоста - сам брокер не падает, хоть по адресу хоть по имени настроен.

Видимо, при детекте еще одного такого кейса на одном из наших устройств, пришлю вам логфайлы всего wb

Здравствуйте! Получилось ли решить проблему?