Зависает система и перестаёт работать программа


#1

Доброго дня! У меня зависает система. Во-первых, перестаёт работать программа. Во-вторых, через каждое одно сохранение вылазит ошибка “MQTT request…”. Скину лог, можете что-то подсказать?

root@wirenboard:~# tail -f /var/log/messages
Jan 1 22:03:06 wirenboard daemon.info wb-rules[32274]: INFO: [rule info] temperDelta -0.5
Jan 1 22:03:07 wirenboard daemon.info wb-rules[32274]: INFO: [rule info] wb-w1:24.812
Jan 1 22:03:07 wirenboard daemon.info wb-rules[32274]: INFO: [rule info] PID.run(0.81)=11.62 Error = 0.81 Pterm = 1.62, Iterm = 10.00 Dterm = 0.00
Jan 1 22:03:07 wirenboard daemon.info wb-rules[32274]: INFO: [rule info] wb-w1:24.125
Jan 1 22:03:08 wirenboard daemon.info wb-rules[32274]: INFO: [rule info] temperDelta 2.5
Jan 1 22:03:08 wirenboard daemon.info wb-rules[32274]: INFO: [rule info] wb-w1:24.562
Jan 1 22:04:03 wirenboard daemon.info wb-rules[32474]: ERROR: [rule error] defineRule error: named rule redefinition: /_dac_change_MOD1_O1
Jan 1 22:04:03 wirenboard daemon.info wb-rules[32474]: WARNING: couldn’t load /usr/share/wb-rules-system/rules/wb-mqtt-dac.js: Error: error error (rc -100) anon native strict preventsyield anon /usr/share/wb-rules-system/scripts/lib.js:227 anon /usr/share/wb-rules-syst
Jan 1 22:04:03 wirenboard daemon.info wb-rules[32474]: INFO: MQTT connection established
Jan 1 22:04:03 wirenboard daemon.info wb-rules[32474]: INFO: MQTT connection established
Jan 1 22:04:04 wirenboard daemon.info wb-rules[32474]: INFO: [rule info] Ty 30
Jan 1 22:04:04 wirenboard daemon.info wb-rules[32474]: INFO: [rule info] Ty 28
Jan 1 22:04:04 wirenboard daemon.info wb-rules[32474]: INFO: [rule info] Ty 24
Jan 1 22:04:05 wirenboard daemon.info wb-rules[32474]: WARNING: [rule warning] redefinition of virtual device vdSensor_TE3
Jan 1 22:04:05 wirenboard daemon.info wb-rules[32474]: WARNING: [rule warning] redefinition of virtual device vdSensor_TE4
Jan 1 22:04:05 wirenboard daemon.info wb-rules[32474]: WARNING: [rule warning] redefinition of virtual device vdSensor_TE5
Jan 1 22:04:05 wirenboard daemon.info wb-rules[32474]: WARNING: [rule warning] redefinition of virtual device vdSensor_TE6
Jan 1 22:04:05 wirenboard daemon.info wb-rules[32474]: WARNING: [rule warning] redefinition of virtual device vdSensor_TE7
Jan 1 22:04:05 wirenboard daemon.info wb-rules[32474]: WARNING: [rule warning] redefinition of virtual device vdSensor_TE8
Jan 1 22:04:05 wirenboard daemon.info wb-rules[32474]: WARNING: [rule warning] redefinition of virtual device setpoint
Jan 1 22:04:06 wirenboard daemon.info wb-rules[32474]: ERROR: command ‘/bin/sh -c echo 3 > /sys/class/pwm/pwmchip0/export’ failed with exit status 1
Jan 1 22:04:14 wirenboard daemon.info wb-rules[32474]: INFO: [rule info] wb-w1:23.5
Jan 1 22:04:15 wirenboard daemon.info wb-rules[32474]: INFO: [rule info] wb-w1:24.25
Jan 1 22:04:17 wirenboard daemon.info wb-rules[32474]: INFO: [rule info] wb-w1:24.875
Jan 1 22:04:18 wirenboard daemon.info wb-rules[32474]: INFO: [rule info] wb-w1:24.125
Jan 1 22:04:18 wirenboard daemon.info wb-rules[32474]: INFO: [rule info] wb-w1:24.062
Jan 1 22:04:19 wirenboard daemon.info wb-rules[32474]: INFO: [rule info] wb-w1:24.562
Jan 1 22:04:20 wirenboard daemon.info wb-rules[32474]: INFO: [rule info] wb-w1:25.062
Jan 1 22:04:21 wirenboard daemon.info wb-rules[32474]: INFO: [rule info] wb-w1:24.25
Jan 1 22:04:30 wirenboard daemon.info wb-rules[32474]: INFO: reloading file: /etc/wb-rules/Boiler.js
Jan 1 22:04:43 wirenboard daemon.info wb-rules[32474]: INFO: [rule info] temperDelta 3.5
^C


Перестают работать правила
#2

вчера оставил систему работающей, вечером всё работало, сегодня с утра не работает. На ползунки и кнопки в Devices не отвечает. Почему зависает? Опасно как-то…Может, дело в коде?

А вот в логах такая бесконечная история:

Jan 1 09:58:13 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:13 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:13 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:13 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:13 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:13 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:13 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:13 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:13 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:13 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:13 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:13 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:13 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:13 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:14 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:14 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:14 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:14 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:14 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:14 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:14 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9
Jan 1 09:58:14 wirenboard user.notice serial: TModbusDevice::ReadRegisterRange(): failed to read 1 input(s) @ 9 of device modbus:9

Понял, что последний лог из-за настройки канала по modbus.


#3

Добрый день!

Собственно нужно читать то, что написано в ERROR и WARNING.
У вас движок ругается на ошибку в системных правилах, что очень странно, потому что они у всех одинаковые и системные. Проверьте, что вы не испортили случайно что-нибудь в /usr/share/wb-rules-system/rules/wb-mqtt-dac.js

это никак не связано с правилами, ошибка про опрос устройств Modbus. Если “сегодня с утра не работает” относилось к работе с Modbs устройством с адресом 9, про который этот кусок лога, то стоит проверить физическое подключение и написать больше подробностей про это устройство.

Если “сегодня с утра не работает” никак с этим устройством не связано, то пожалуйста оформите это как отдельный пост в новую тему.

P.S. Пожалуйста следующий раз заводите сразу отдельную тему на каждый отдельный вопрос. Не стоит писать в древние чужие темы, никак не связанные с вашей проблемой.


#4

Сегодня с утра снова система не работала. Сейчас такую ошибку в логе заметил:

Jan 2 13:37:07 wirenboard user.warn wb-mqtt-db[4489]: 1970-01-02 13:37:07.180 WARN: Group data limit is reached: group all, row count 102001, limit 100000


#5

Напишите, пожалуйста, подробнее, что значит “система не работала” в формате:
“делал X, ожидал получить Y, получил Z”


#6

Выставил температуру на уставку (скажем, 25 градусов) для поддержания температуры в комнате. Естественно, ожидал, что система будет работать безотказно, как она и справлялась какое-то время (может час, может 8 часов), пока не перестала работать (в промежуток с вечера до утра), а именно потерялась связь с контроллером (вырубились все реле, ползунки, на их изменения реакции нет). Решается командой force-reload. Далее снова работает, но, боюсь, только на время((( В логах та ошибка как-то имеет отношение к потере связи? Вроде переполнение данных говорит, может в коде косяки?


#7

Уважаемый @Warlochek, нам интересны технические подробности. Для меня ваше сообщение звучит как "делал всё как надо, ожидал, что всё будет работать, на самом деле оно не работало.

Здесь нет подробного технического описания: ни для действий, которые вы делали, ни для ожидаемого результата, ни для наблюдаемого результата.

По-человечески посочувствовать вам я могу, помочь - нет.

Здесь нужно два абзаца текста. Если нам сложно понимать друг друга, то значит со скриншотами.

Полный лог всех команд, которые вы выолняете пожалуйста.

Что такое снова работает?

Я так и не понял, что вы называете потерей связи, но нет, не имеет.

очень может быть, но из появления этого сообщения в логе это никак не следует.


#8

И снова здравствуйте. Контроллер снова не реагирует на мои команды: меняю ползунок с уставкой, но реакции никакой. В логах сейчас такая инфа:

login as: root$
root@192.168.0.214’s password:
Linux wirenboard 4.1.15-wb2 #2 Sat Jun 3 20:09:17 UTC 2017 armv5tejl

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Jan 1 22:55:11 1970 from 192.168.0.51
root@wirenboard:~# tail -f /var/log/messages
Jan 3 03:11:38 wirenboard daemon.info hostapd: wlan0: STA 74:2f:68:23:6c:ae IEE E 802.11: associated
Jan 3 03:11:38 wirenboard daemon.info hostapd: wlan0: STA 74:2f:68:23:6c:ae RAD IUS: starting accounting session 0000008C-0000004E
Jan 3 03:11:39 wirenboard daemon.info dnsmasq-dhcp[4025]: DHCPDISCOVER(wlan0) 7 4:2f:68:23:6c:ae
Jan 3 03:11:39 wirenboard daemon.info dnsmasq-dhcp[4025]: DHCPOFFER(wlan0) 192. 168.42.65 74:2f:68:23:6c:ae
Jan 3 03:11:39 wirenboard daemon.info dnsmasq-dhcp[4025]: DHCPREQUEST(wlan0) 19 2.168.42.65 74:2f:68:23:6c:ae
Jan 3 03:11:39 wirenboard daemon.info dnsmasq-dhcp[4025]: DHCPACK(wlan0) 192.16 8.42.65 74:2f:68:23:6c:ae android-761c7eaec3acacad
Jan 3 03:47:00 wirenboard auth.info sshd[10338]: reverse mapping checking getad drinfo for it_workstation5.matiros.local [192.168.0.51] failed - POSSIBLE BREAK- IN ATTEMPT!
Jan 3 03:47:14 wirenboard authpriv.debug sshd[10338]: pam_unix(sshd:account): a ccount root has password changed in future
Jan 3 03:47:14 wirenboard auth.info sshd[10338]: Accepted password for root fro m 192.168.0.51 port 59628 ssh2
Jan 3 03:47:14 wirenboard authpriv.info sshd[10338]: pam_unix(sshd:session): se ssion opened for user root by (uid=0)

И ещё: когда я, допустим вырубаю питание и снова подам, то контроллер почему-то не начинает следовать написанным правилам и показывать температуру и, соответственно, на мои команды тоже не реагирует. И всё это до тех пор, пока я заново не пересохраню любой из js блоков с правилами. После пересохранения хотя бы одного из js блока всё начинает работать, но и то, видимо, только где-то на пару дней. Можете чем-нибудь помочь? Почему система перестаёт реагировать на изменения созданных ползунков и кнопок, температуры и после перезапуска питания? Проблема в моём коде?


Яндекс.Метрика