Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Краш Node Red #5

Open
earlywaff opened this issue Jun 8, 2021 · 10 comments
Open

Краш Node Red #5

earlywaff opened this issue Jun 8, 2021 · 10 comments

Comments

@earlywaff
Copy link

Добрый день!
Использую только Yandex OUT узел. Переодически раз в день node red падает, я логирую это событие.
Не знаю, какая информация конфиденциальна, буду вместо потенциально не нужной информации вставлять прочерки.
Примерно начинается все с такого:

8 Jun 13:48:38 - [info] [yandex-login:Яндекс Станция] Status update event: {"color":"yellow","text":"connecting..."} for ______
8 Jun 13:48:38 - [info] [yandex-login:Яндекс Станция] Connecting to wss://192.168.1.63:1961
8 Jun 13:48:38 - [info] [yandex-login:Яндекс Станция] Connected to 192.168.1.63, data: undefined
8 Jun 13:48:38 - [info] [yandex-login:Яндекс Станция] Status update event: {"color":"green","text":"connected"} for ______
8 Jun 13:48:38 - [info] [yandex-login:Яндекс Станция] connection of ______ success!
8 Jun 13:48:51 - [info] [yandex-login:Яндекс Станция] Status update event: {"color":"red","text":"disconnected"} for ______
8 Jun 13:48:51 - [info] [yandex-login:Яндекс Станция] Closed connection code 1000 with reason . Reconnecting...
8 Jun 13:48:51 - [info] [yandex-login:Яндекс Станция] Connecting to device ______. ws is {"_events":{},"_eventsCount":4,"_binaryType":"nodebuffer","_closeCode":1000,"_closeFrameReceived":true,"_closeFrameSent":true,"_closeMessage":"","_closeTimer":{"_idleTimeout":-1,"_idlePrev":null,"_idleNext":null,"_idleStart":99865414,"_onTimeout":null,"_repeat":null,"_destroyed":true},"_extensions":{},"_protocol":"","_readyState":3,"_receiver":{"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":true,"ended":true,"finished":true,"destroyed":false,"decodeStrings":true,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":false,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"bufferedRequest":null,"lastBufferedRequest":null,"pendingcb":0,"prefinished":tr

Там очень длинная простыня такого лога строчного лога, затем после него идет

8 Jun 13:48:51 - [info] [yandex-login:Яндекс Станция] ws.state: 3
8 Jun 13:48:51 - [info] [yandex-login:Яндекс Станция] Status update event: {"color":"yellow","text":"connecting..."} for 643078f6401c5c2904d0
8 Jun 13:48:51 - [info] [yandex-login:Яндекс Станция] Connecting to wss://192.168.1.63:1961
8 Jun 13:48:51 - [info] [yandex-login:Яндекс Станция] Connected to 192.168.1.63, data: undefined
8 Jun 13:48:51 - [info] [yandex-login:Яндекс Станция] Status update event: {"color":"green","text":"connected"} for 643078f6401c5c2904d0
8 Jun 13:48:51 - [info] [yandex-login:Яндекс Станция] connection of 643078f6401c5c2904d0 success!
8 Jun 13:49:04 - [info] [yandex-login:Яндекс Станция] Status update event: {"color":"red","text":"disconnected"} for 643078f6401c5c2904d0
8 Jun 13:49:04 - [info] [yandex-login:Яндекс Станция] Lost server, reconnect in 60 seconds...1006 +
8 Jun 13:49:04 - [info] [yandex-login:Яндекс Станция] Status update event: {"color":"red","text":"disconnected"} for 643078f6401c5c2904d0
8 Jun 13:49:04 - [info] [yandex-login:Яндекс Станция] Closed connection code 1000 with reason . Reconnecting...
8 Jun 13:49:04 - [info] [yandex-login:Яндекс Станция] Connecting to device 643078f6401c5c2904d0. ws is {"_events":{},"_eventsCount":4,"_binaryType":"nodebuffer","_closeCode":1000,"_closeFrameReceived":true,"_closeFrameSent":true,"_closeMessage":"","_closeTimer":{"_idleTimeout":-1,"_idlePrev":null,"_idleNext":null,"_idleStart":99878571,"_onTimeout":null,"_repeat":null,"_destroyed":true},"_extensions":{},"_protocol":"","_readyState":3,"_receiver":{"_writableState":{"obje

Т.е история с реконнектом продолжается.
Затем происходит еще один реконнект и идут вот такие логи , если я пришлю все я положу гит)

"encoding":"buffer","next":{"chunk":{"type":"Buffer","data":[88,15,172,83,77,91,170,78,80,76,187,85,76,67,155,83,72,72,161,30,25,15,170,69,105,69,173,123,64,68,128,85,105,100,154,70,106,28,129,85,106,94,134,82,113,24,172,127,106,27,134,87,83,117,153,127,105,20,225,89,90,103,167,88,116,124,166,115,74,103,161,94,100,107,161,94,17,90,166,112,96,103,163,89,107,108,166,115,73,104,253,113,73,96,182,113,89,120,252,113,119,78,188,117,78,65,181,95,90,100,249,117,77,107,254,101,123,99,167,95,74,28,166,101,116,99,189,102,116,24,164,117,74,90,166,95,100,85,255,117,73,66,166,89,116,107,186,102,100,123,251,95,16,127,167,88,100,65,185,94,74,100,188,117,77,99,254,101,74,100,249,117,73,116,255,113,89,108,252,115,100,116,253,114,103,108,183,101,89,123,165,113,73,70,184,114,100,124,184,117,77,29,225,81,70,85,185,14,79,84,162,104,21,101,174,102,81,91,157,72,113,103,149,113,97,73,139,85,102,116,152,123,19,105,129,88,14,114,185,82,98,68,253,84,109,94,237,16,1,68,171,30,25,15,249,8,16,29,248,4,69,27,251,12,18,78,250,95,17,20,255,8,71,29,237,16,1,93,174,69,79,66,174,88,1,23,180,30,64,66,162,81,66,67,171,30,25,15,191,85,77,74,237,65,15,15,188,89,77,89,155,85,78,72,237,6,18,27,253,15,18,25,246,15,23,28,250,10,21,80]},"encoding":"buffer","next":{"chunk":{"type":"Buffer","data":[129,254,1,74,26,187,21,55]},"encoding":"buffer","next":{"chunk":{"type":"Buffer"

Прямо перед смертью Node Red он присылает вот это:

e,"parser":null,"_httpMessage":null,"timeout":0},"_bufferedAmount":0,"_isServer":false,"_redirects":0,"_url":"wss://192.168.1.63:1961","_req":null}
8 Jun 13:59:38 - [info] [yandex-login:Яндекс Станция] ws.state: 3
8 Jun 13:59:38 - [info] [yandex-login:Яндекс Станция] Status update event: {"color":"yellow","text":"connecting..."} for _______
8 Jun 13:59:38 - [info] [yandex-login:Яндекс Станция] Connecting to wss://192.168.1.63:1961
8 Jun 13:59:38 - [info] [yandex-login:Яндекс Станция] Connected to 192.168.1.63, data: undefined
8 Jun 13:59:38 - [info] [yandex-login:Яндекс Станция] Status update event: {"color":"green","text":"connected"} for _____
8 Jun 13:59:38 - [info] [yandex-login:Яндекс Станция] connection of ______ success!
8 Jun 13:59:46 - [red] Uncaught Exception:
8 Jun 13:59:46 - RangeError: Maximum call stack size exceeded
at JSON.stringify ()
at Timeout.connect [as _onTimeout] (/home/pi/.node-red/node_modules/node-red-contrib-yandex-station-management/nodes/yandex-login.js:204:79)
at listOnTimeout (internal/timers.js:556:17)
at processTimers (internal/timers.js:497:7)
nodered.service: Main process exited, code=exited, status=1/FAILURE
nodered.service: Failed with result 'exit-code'.
nodered.service: Service RestartSec=20s expired, scheduling restart.
nodered.service: Scheduled restart job, restart counter is at 8.
Stopped Node-RED graphical event wiring tool.
Started Node-RED graphical event wiring tool.
8 Jun 14:00:08 - [info]
Welcome to Node-RED
8 Jun 14:00:08 - [info] Node-RED version: v1.2.9
8 Jun 14:00:08 - [info] Node.js version: v12.22.1
8 Jun 14:00:08 - [info] Linux 5.10.17-v7l+ arm LE
8 Jun 14:00:08 - [info] Loading palette nodes
Initializing HAP-NodeJS v0.9.4...
8 Jun 14:00:12 - [info] Settings file : /home/pi/.node-red/settings.js
8 Jun 14:00:12 - [info] Context store : 'default' [module=localfilesystem]
8 Jun 14:00:13 - [info] User directory : /home/pi/.node-red
8 Jun 14:00:13 - [warn] Projects disabled : editorTheme.projects.enabled=false
8 Jun 14:00:13 - [info] Flows file : /home/pi/.node-red/flows_raspberrypi.json
8 Jun 14:00:13 - [info] Server now running at http://127.0.0.1:1880/
8 Jun 14:00:13 - [warn]

@n0name45
Copy link
Owner

Привет! Напоминает старый баг, который я исправлял в одной из прошлых версий.

Скажи, пожалуйста, какая у тебя колонка, какая версия плагина и где запускаешь Нод-Ред(докер или нет)

@earlywaff
Copy link
Author

Привет еще раз!
Колонка подписочная Алиса большая (не знаю мало ли подписочная особенная, но на всякий указал)
Версия плагина : 0.2.6
Node Red установлен на Raspberry pi 4 , не в доккере. Версия Node Red
1.2.9

@n0name45
Copy link
Owner

Привет еще раз!
Колонка подписочная Алиса большая (не знаю мало ли подписочная особенная, но на всякий указал)
Версия плагина : 0.2.6
Node Red установлен на Raspberry pi 4 , не в доккере. Версия Node Red
1.2.9

Ищу еще пользователей со станцией по подписке.

@n0name45
Copy link
Owner

@earlywaff выложи все-таки полный лог файлом или на какой-нибудь ресурс.
Еще вопрос. У тебя работает один Node-red с установленным плагином?

@earlywaff
Copy link
Author

Привет! Извини, что не отвечал. Я к сожалению больше так и не словил именно краша и перезагрузки. Был неделю назад один, но он был ночью и я не словил логи. Сейчас в основном просто нагрузка через htop шла до 100% на CPU. Без твоей ноды вроде бы все в пределах 5-10%. Сейчас обновил и поставил себе алерт на увеличение нагрузки до 50% , чтобы вовремя собрать логи. Обновился до 0.2.7 спасибо за то, что ты делаешь! Пару дней понаблюдаю. В чате нодреда в тг кстати тоже вроде был человек с колонкой арендной, но мини.

@MaksimShakavin
Copy link

MaksimShakavin commented Dec 12, 2021

Добрый день, я словил такую-же ошибку и тоже перезагрузку node-red
Версия плагина: 0.3.0
Лог:

ек 10 05:23:38 wirenboard-ASWHWRGG Node-RED[6412]: 10 Dec 05:23:38 - [red] Uncaught Exception:
дек 10 05:23:38 wirenboard-ASWHWRGG Node-RED[6412]: 10 Dec 05:23:38 - [error] RangeError: Maximum call stack size exceeded
дек 10 05:23:38 wirenboard-ASWHWRGG Node-RED[6412]:     at JSON.stringify (<anonymous>)
дек 10 05:23:38 wirenboard-ASWHWRGG Node-RED[6412]:     at Timeout.connect [as _onTimeout] (/mnt/data/root/.node-red/node_modules/node-red-contrib-yandex-station-management/nodes/yandex-login.js:212:79)
дек 10 05:23:38 wirenboard-ASWHWRGG Node-RED[6412]:     at listOnTimeout (internal/timers.js:556:17)
дек 10 05:23:38 wirenboard-ASWHWRGG Node-RED[6412]:     at processTimers (internal/timers.js:497:7)

Попробую поставить более новую версию, в надежде, что ошибка исправлена

Update:
похоже ошибка падает на команде JSON.stringify(device.ws). Минимальное гугление показывает, что такое возможно, если device.ws - слишком большой объект. Так же, мне кажется, проблема может быть в том, что device.ws содержит внутри себя циклические ссылки.

@n0name45
Copy link
Owner

n0name45 commented Dec 13, 2021 via email

@MaksimShakavin
Copy link

MaksimShakavin commented Dec 13, 2021

Стоит яндекс станция макс. Больше колонок нет.
node v12.19.0
node-red v2.1.3
Да, произошло ночью. Используется только Yandex OUT, Station нет.
В логах до этого ничего интересного. За 5 часов до этого на время отвалился робот-пылесос. За 4 часа до этого был реконект к spruthub mqtt.
Судя по другим нодам, у меня похоже на какое-то супер маленькое время иногда отваливается сеть. Может быть в этом проблема.
На всякий случай приложил лог за пару дней.
nodered3.log

@n0name45
Copy link
Owner

n0name45 commented Dec 13, 2021 via email

@MaksimShakavin
Copy link

Добрый день, продолжаю периодически ловить данную ошибку. Только теперь с debug логами:
nodered7.log
я его немного почистил от каких-то непонятных логов из цифр

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants