Gladys becomes unreachable after a few hours of operation

Hello,

I would need your expert advice to find the cause of a failure on my Gladys system.

To describe it:

  • for about 2–3 weeks, Gladys becomes unreachable after a certain time of normal operation, to the point that I have to force a container restart (docker container restart gladys)
  • this hang occurs after a variable duration, roughly between 10h and 30h. The crashes don’t happen at a fixed time. Sometimes at night, sometimes during the day…
  • the symptoms of the hang are quite variable: sometimes the default dashboard loads, but if I try to switch dashboards a loading wheel spins endlessly; sometimes the dashboard doesn’t display at all
  • connection via Gladys Plus tells me my instance is not running, which makes sense I think since the Gladys server is ‹ stalled ›
  • the Raspberry Pi running Gladys is not saturated, but I detect an increase in CPU usage: usually between 5% and 30%, rising to 40% when these hangs occur
  • when Gladys is stuck, I can connect via ssh without issue and run commands. That’s how I restart the container to restore things.

Gladys runs on an RPi 4 (Raspberry Pi 4), with an SSD that’s about 45% used.

I have quite a lot of hardware connected to Gladys (about 50 Zigbee devices, for example) and a good number of scenes (approx. 250). But I don’t recall making any particular change before these stalls started.

Which commands do you think I should run at the next hang to collect relevant logs?

Thanks in advance for your help!

The docker stats command lets you see which container is consuming a lot of resources and therefore confirm (or rule out) that Gladys

Merci @cicoub13 pour les pistes.
Et sans attendre un nouveau blocage, j’ai lancé les deux recherches dans les 10 dernières minutes de logs, et elles remontent déjà pas mal de choses :

« … grep SQLITE_BUSY » renvoie:

pi@domotique:~ $ docker logs gladys --since 10m | grep SQLITE_BUSY
2024-06-23T21:32:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:32:12+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:32:21+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:32:31+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:32:40+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:32:50+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:32:59+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:33:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:33:09+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:33:18+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:33:28+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:33:37+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:33:47+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:33:56+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:34:02+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:34:06+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:34:15+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:34:25+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:34:34+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:34:44+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:34:53+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:35:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:35:03+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:35:12+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:35:22+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:35:31+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:35:41+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:35:50+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:35:50+0200 <warn> scene.executeActions.js:37 (executeAction) SyntaxError: Value expected (char 1)
    at createSyntaxError (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1623:17)
    at parseEnd (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1590:13)
    at parseParentheses (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1577:12)
    at parseNumber (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1550:12)
    at parseObject (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1534:12)
    at parseMatrix (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1466:12)
    at parseSingleQuotesString (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1382:12)
    at parseDoubleQuotesString (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1338:12)
    at parseSymbol (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1237:12)
    at parseCustomNodes (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1210:12)
    at parseLeftHandOperators (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1134:12)
    at parsePow (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1116:12)
    at parseUnary (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1105:12)
    at parsePercentage (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1065:12)
    at parseRule2 (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1016:16)
    at parseImplicitMultiplication (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:988:12)
    at parseMultiplyDivide (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:958:12)
    at parseAddSubtract (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:931:12)
    at parseRange (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:893:14)
    at parseConversion (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:858:12)
    at parseShift (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:835:12)
    at parseRelational (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:797:19)
    at parseBitwiseAnd (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:783:16)
    at parseBitwiseXor (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:768:16)
    at parseBitwiseOr (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:753:16)
    at parseLogicalAnd (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:738:16)
    at parseLogicalXor (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:723:16)
    at parseLogicalOr (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:708:16)
    at parseConditional (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:679:16)
    at parseAssignment (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:632:16)
    at parseBlock (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:580:14)
    at parseStart (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:551:16)
    at string (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:75:14)
    at parse (/src/server/node_modules/typed-function/lib/esm/typed-function.mjs:1790:20)
    at string (/src/server/node_modules/mathjs/lib/cjs/expression/function/evaluate.js:50:14)
    at evaluate (/src/server/node_modules/typed-function/lib/esm/typed-function.mjs:1790:20)
    at /src/server/lib/scene/scene.actions.js:264:17
    at Array.forEach (<anonymous>)
    at Object.condition.only-continue-if (/src/server/lib/scene/scene.actions.js:261:23)
    at executeAction (/src/server/lib/scene/scene.executeActions.js:32:35)
    at /src/server/lib/scene/scene.executeActions.js:66:13
    at tryCatcher (/src/server/node_modules/bluebird/js/release/util.js:16:23)
    at MappingPromiseArray._promiseFulfilled (/src/server/node_modules/bluebird/js/release/map.js:68:38)
    at MappingPromiseArray.PromiseArray._iterate (/src/server/node_modules/bluebird/js/release/promise_array.js:115:31)
    at MappingPromiseArray.init (/src/server/node_modules/bluebird/js/release/promise_array.js:79:10)
    at MappingPromiseArray._asyncInit (/src/server/node_modules/bluebird/js/release/map.js:37:10)
    at _drainQueueStep (/src/server/node_modules/bluebird/js/release/async.js:97:12)
    at _drainQueue (/src/server/node_modules/bluebird/js/release/async.js:86:9)
    at Async._drainQueues (/src/server/node_modules/bluebird/js/release/async.js:102:5)
    at Immediate.Async.drainQueues (/src/server/node_modules/bluebird/js/release/async.js:15:14)
    at processImmediate (node:internal/timers:476:21) {
  char: 1
}
2024-06-23T21:35:51+0200 <warn> scene.executeActions.js:37 (executeAction) Error: Undefined symbol Clouds
    at Function.onUndefinedSymbol (/src/server/node_modules/mathjs/lib/cjs/expression/node/SymbolNode.js:222:15)
    at /src/server/node_modules/mathjs/lib/cjs/expression/node/SymbolNode.js:96:99
    at Object.evaluate (/src/server/node_modules/mathjs/lib/cjs/expression/node/Node.js:77:18)
    at string (/src/server/node_modules/mathjs/lib/cjs/expression/function/evaluate.js:50:36)
    at evaluate (/src/server/node_modules/typed-function/lib/esm/typed-function.mjs:1790:20)
    at Object.device.set-value (/src/server/lib/scene/scene.actions.js:57:15)
    at executeAction (/src/server/lib/scene/scene.executeActions.js:32:35)
    at /src/server/lib/scene/scene.executeActions.js:66:13
    at tryCatcher (/src/server/node_modules/bluebird/js/release/util.js:16:23)
    at MappingPromiseArray._promiseFulfilled (/src/server/node_modules/bluebird/js/release/map.js:68:38)
    at MappingPromiseArray.PromiseArray._iterate (/src/server/node_modules/bluebird/js/release/promise_array.js:115:31)
    at MappingPromiseArray.init (/src/server/node_modules/bluebird/js/release/promise_array.js:79:10)
    at MappingPromiseArray._asyncInit (/src/server/node_modules/bluebird/js/release/map.js:37:10)
    at _drainQueueStep (/src/server/node_modules/bluebird/js/release/async.js:97:12)
    at _drainQueue (/src/server/node_modules/bluebird/js/release/async.js:86:9)
    at Async._drainQueues (/src/server/node_modules/bluebird/js/release/async.js:102:5)
    at Immediate.Async.drainQueues (/src/server/node_modules/bluebird/js/release/async.js:15:14)
    at processImmediate (node:internal/timers:476:21)
2024-06-23T21:36:00+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:36:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:36:09+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:36:19+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:36:28+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:36:38+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:36:47+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:36:57+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:37:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:37:06+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:37:16+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:37:25+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:37:35+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:37:44+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:37:54+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:38:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:38:03+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:38:12+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:38:22+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:38:32+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:38:41+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:38:51+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:39:00+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:39:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:39:10+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:39:19+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:39:29+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:39:38+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:39:48+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:39:57+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:40:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:40:07+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:40:16+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:40:26+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:40:35+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:40:45+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:40:50+0200 <warn> scene.executeActions.js:37 (executeAction) SyntaxError: Value expected (char 1)
    at createSyntaxError (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1623:17)
    at parseEnd (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1590:13)
    at parseParentheses (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1577:12)
    at parseNumber (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1550:12)
    at parseObject (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1534:12)
    at parseMatrix (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1466:12)
    at parseSingleQuotesString (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1382:12)
    at parseDoubleQuotesString (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1338:12)
    at parseSymbol (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1237:12)
    at parseCustomNodes (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1210:12)
    at parseLeftHandOperators (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1134:12)
    at parsePow (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1116:12)
    at parseUnary (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1105:12)
    at parsePercentage (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1065:12)
    at parseRule2 (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1016:16)
    at parseImplicitMultiplication (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:988:12)
    at parseMultiplyDivide (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:958:12)
    at parseAddSubtract (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:931:12)
    at parseRange (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:893:14)
    at parseConversion (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:858:12)
    at parseShift (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:835:12)
    at parseRelational (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:797:19)
    at parseBitwiseAnd (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:783:16)
    at parseBitwiseXor (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:768:16)
    at parseBitwiseOr (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:753:16)
    at parseLogicalAnd (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:738:16)
    at parseLogicalXor (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:723:16)
    at parseLogicalOr (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:708:16)
    at parseConditional (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:679:16)
    at parseAssignment (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:632:16)
    at parseBlock (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:580:14)
    at parseStart (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:551:16)
    at string (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:75:14)
    at parse (/src/server/node_modules/typed-function/lib/esm/typed-function.mjs:1790:20)
    at string (/src/server/node_modules/mathjs/lib/cjs/expression/function/evaluate.js:50:14)
    at evaluate (/src/server/node_modules/typed-function/lib/esm/typed-function.mjs:1790:20)
    at /src/server/lib/scene/scene.actions.js:264:17
    at Array.forEach (<anonymous>)
    at Object.condition.only-continue-if (/src/server/lib/scene/scene.actions.js:261:23)
    at executeAction (/src/server/lib/scene/scene.executeActions.js:32:35)
    at /src/server/lib/scene/scene.executeActions.js:66:13
    at tryCatcher (/src/server/node_modules/bluebird/js/release/util.js:16:23)
    at MappingPromiseArray._promiseFulfilled (/src/server/node_modules/bluebird/js/release/map.js:68:38)
    at MappingPromiseArray.PromiseArray._iterate (/src/server/node_modules/bluebird/js/release/promise_array.js:115:31)
    at MappingPromiseArray.init (/src/server/node_modules/bluebird/js/release/promise_array.js:79:10)
    at MappingPromiseArray._asyncInit (/src/server/node_modules/bluebird/js/release/map.js:37:10)
    at _drainQueueStep (/src/server/node_modules/bluebird/js/release/async.js:97:12)
    at _drainQueue (/src/server/node_modules/bluebird/js/release/async.js:86:9)
    at Async._drainQueues (/src/server/node_modules/bluebird/js/release/async.js:102:5)
    at Immediate.Async.drainQueues (/src/server/node_modules/bluebird/js/release/async.js:15:14)
    at processImmediate (node:internal/timers:476:21) {
  char: 1
}
2024-06-23T21:40:51+0200 <warn> scene.executeActions.js:37 (executeAction) Error: Undefined symbol Clouds
    at Function.onUndefinedSymbol (/src/server/node_modules/mathjs/lib/cjs/expression/node/SymbolNode.js:222:15)
    at /src/server/node_modules/mathjs/lib/cjs/expression/node/SymbolNode.js:96:99
    at Object.evaluate (/src/server/node_modules/mathjs/lib/cjs/expression/node/Node.js:77:18)
    at string (/src/server/node_modules/mathjs/lib/cjs/expression/function/evaluate.js:50:36)
    at evaluate (/src/server/node_modules/typed-function/lib/esm/typed-function.mjs:1790:20)
    at Object.device.set-value (/src/server/lib/scene/scene.actions.js:57:15)
    at executeAction (/src/server/lib/scene/scene.executeActions.js:32:35)
    at /src/server/lib/scene/scene.executeActions.js:66:13
    at tryCatcher (/src/server/node_modules/bluebird/js/release/util.js:16:23)
    at MappingPromiseArray._promiseFulfilled (/src/server/node_modules/bluebird/js/release/map.js:68:38)
    at MappingPromiseArray.PromiseArray._iterate (/src/server/node_modules/bluebird/js/release/promise_array.js:115:31)
    at MappingPromiseArray.init (/src/server/node_modules/bluebird/js/release/promise_array.js:79:10)
    at MappingPromiseArray._asyncInit (/src/server/node_modules/bluebird/js/release/map.js:37:10)
    at _drainQueueStep (/src/server/node_modules/bluebird/js/release/async.js:97:12)
    at _drainQueue (/src/server/node_modules/bluebird/js/release/async.js:86:9)
    at Async._drainQueues (/src/server/node_modules/bluebird/js/release/async.js:102:5)
    at Immediate.Async.drainQueues (/src/server/node_modules/bluebird/js/release/async.js:15:14)
    at processImmediate (node:internal/timers:476:21)
2024-06-23T21:40:54+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:41:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:41:04+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:41:13+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:41:22+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:41:32+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:41:41+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:41:51+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:42:00+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:42:02+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
pi@domotique:~ $ docker logs gladys --since 10m | grep SQLITE_BUSY

et « … grep error » renvoie:

pi@domotique:~ $ docker logs gladys --since 10m | grep error
2024-06-23T21:34:34+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:34:44+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:34:53+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:35:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:35:03+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:35:12+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:35:22+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:35:31+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:35:41+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:35:50+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:35:50+0200 <warn> scene.executeActions.js:37 (executeAction) SyntaxError: Value expected (char 1)
    at createSyntaxError (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1623:17)
    at parseEnd (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1590:13)
    at parseParentheses (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1577:12)
    at parseNumber (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1550:12)
    at parseObject (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1534:12)
    at parseMatrix (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1466:12)
    at parseSingleQuotesString (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1382:12)
    at parseDoubleQuotesString (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1338:12)
    at parseSymbol (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1237:12)
    at parseCustomNodes (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1210:12)
    at parseLeftHandOperators (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1134:12)
    at parsePow (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1116:12)
    at parseUnary (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1105:12)
    at parsePercentage (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1065:12)
    at parseRule2 (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1016:16)
    at parseImplicitMultiplication (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:988:12)
    at parseMultiplyDivide (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:958:12)
    at parseAddSubtract (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:931:12)
    at parseRange (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:893:14)
    at parseConversion (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:858:12)
    at parseShift (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:835:12)
    at parseRelational (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:797:19)
    at parseBitwiseAnd (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:783:16)
    at parseBitwiseXor (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:768:16)
    at parseBitwiseOr (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:753:16)
    at parseLogicalAnd (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:738:16)
    at parseLogicalXor (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:723:16)
    at parseLogicalOr (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:708:16)
    at parseConditional (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:679:16)
    at parseAssignment (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:632:16)
    at parseBlock (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:580:14)
    at parseStart (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:551:16)
    at string (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:75:14)
    at parse (/src/server/node_modules/typed-function/lib/esm/typed-function.mjs:1790:20)
    at string (/src/server/node_modules/mathjs/lib/cjs/expression/function/evaluate.js:50:14)
    at evaluate (/src/server/node_modules/typed-function/lib/esm/typed-function.mjs:1790:20)
    at /src/server/lib/scene/scene.actions.js:264:17
    at Array.forEach (<anonymous>)
    at Object.condition.only-continue-if (/src/server/lib/scene/scene.actions.js:261:23)
    at executeAction (/src/server/lib/scene/scene.executeActions.js:32:35)
    at /src/server/lib/scene/scene.executeActions.js:66:13
    at tryCatcher (/src/server/node_modules/bluebird/js/release/util.js:16:23)
    at MappingPromiseArray._promiseFulfilled (/src/server/node_modules/bluebird/js/release/map.js:68:38)
    at MappingPromiseArray.PromiseArray._iterate (/src/server/node_modules/bluebird/js/release/promise_array.js:115:31)
    at MappingPromiseArray.init (/src/server/node_modules/bluebird/js/release/promise_array.js:79:10)
    at MappingPromiseArray._asyncInit (/src/server/node_modules/bluebird/js/release/map.js:37:10)
    at _drainQueueStep (/src/server/node_modules/bluebird/js/release/async.js:97:12)
    at _drainQueue (/src/server/node_modules/bluebird/js/release/async.js:86:9)
    at Async._drainQueues (/src/server/node_modules/bluebird/js/release/async.js:102:5)
    at Immediate.Async.drainQueues (/src/server/node_modules/bluebird/js/release/async.js:15:14)
    at processImmediate (node:internal/timers:476:21) {
  char: 1
}
2024-06-23T21:35:51+0200 <warn> scene.executeActions.js:37 (executeAction) Error: Undefined symbol Clouds
    at Function.onUndefinedSymbol (/src/server/node_modules/mathjs/lib/cjs/expression/node/SymbolNode.js:222:15)
    at /src/server/node_modules/mathjs/lib/cjs/expression/node/SymbolNode.js:96:99
    at Object.evaluate (/src/server/node_modules/mathjs/lib/cjs/expression/node/Node.js:77:18)
    at string (/src/server/node_modules/mathjs/lib/cjs/expression/function/evaluate.js:50:36)
    at evaluate (/src/server/node_modules/typed-function/lib/esm/typed-function.mjs:1790:20)
    at Object.device.set-value (/src/server/lib/scene/scene.actions.js:57:15)
    at executeAction (/src/server/lib/scene/scene.executeActions.js:32:35)
    at /src/server/lib/scene/scene.executeActions.js:66:13
    at tryCatcher (/src/server/node_modules/bluebird/js/release/util.js:16:23)
    at MappingPromiseArray._promiseFulfilled (/src/server/node_modules/bluebird/js/release/map.js:68:38)
    at MappingPromiseArray.PromiseArray._iterate (/src/server/node_modules/bluebird/js/release/promise_array.js:115:31)
    at MappingPromiseArray.init (/src/server/node_modules/bluebird/js/release/promise_array.js:79:10)
    at MappingPromiseArray._asyncInit (/src/server/node_modules/bluebird/js/release/map.js:37:10)
    at _drainQueueStep (/src/server/node_modules/bluebird/js/release/async.js:97:12)
    at _drainQueue (/src/server/node_modules/bluebird/js/release/async.js:86:9)
    at Async._drainQueues (/src/server/node_modules/bluebird/js/release/async.js:102:5)
    at Immediate.Async.drainQueues (/src/server/node_modules/bluebird/js/release/async.js:15:14)
    at processImmediate (node:internal/timers:476:21)
2024-06-23T21:36:00+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:36:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:36:09+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:36:19+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:36:28+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:36:38+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:36:47+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:36:57+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:37:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:37:06+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:37:16+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:37:25+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:37:35+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:37:44+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:37:54+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:38:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:38:03+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:38:12+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:38:22+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:38:32+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:38:41+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:38:51+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:39:00+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:39:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:39:10+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:39:19+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:39:29+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:39:38+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:39:48+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:39:57+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:40:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:40:07+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:40:16+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:40:26+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:40:35+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:40:45+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:40:50+0200 <warn> scene.executeActions.js:37 (executeAction) SyntaxError: Value expected (char 1)
    at createSyntaxError (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1623:17)
    at parseEnd (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1590:13)
    at parseParentheses (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1577:12)
    at parseNumber (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1550:12)
    at parseObject (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1534:12)
    at parseMatrix (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1466:12)
    at parseSingleQuotesString (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1382:12)
    at parseDoubleQuotesString (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1338:12)
    at parseSymbol (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1237:12)
    at parseCustomNodes (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1210:12)
    at parseLeftHandOperators (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1134:12)
    at parsePow (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1116:12)
    at parseUnary (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1105:12)
    at parsePercentage (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1065:12)
    at parseRule2 (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:1016:16)
    at parseImplicitMultiplication (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:988:12)
    at parseMultiplyDivide (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:958:12)
    at parseAddSubtract (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:931:12)
    at parseRange (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:893:14)
    at parseConversion (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:858:12)
    at parseShift (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:835:12)
    at parseRelational (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:797:19)
    at parseBitwiseAnd (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:783:16)
    at parseBitwiseXor (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:768:16)
    at parseBitwiseOr (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:753:16)
    at parseLogicalAnd (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:738:16)
    at parseLogicalXor (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:723:16)
    at parseLogicalOr (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:708:16)
    at parseConditional (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:679:16)
    at parseAssignment (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:632:16)
    at parseBlock (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:580:14)
    at parseStart (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:551:16)
    at string (/src/server/node_modules/mathjs/lib/cjs/expression/parse.js:75:14)
    at parse (/src/server/node_modules/typed-function/lib/esm/typed-function.mjs:1790:20)
    at string (/src/server/node_modules/mathjs/lib/cjs/expression/function/evaluate.js:50:14)
    at evaluate (/src/server/node_modules/typed-function/lib/esm/typed-function.mjs:1790:20)
    at /src/server/lib/scene/scene.actions.js:264:17
    at Array.forEach (<anonymous>)
    at Object.condition.only-continue-if (/src/server/lib/scene/scene.actions.js:261:23)
    at executeAction (/src/server/lib/scene/scene.executeActions.js:32:35)
    at /src/server/lib/scene/scene.executeActions.js:66:13
    at tryCatcher (/src/server/node_modules/bluebird/js/release/util.js:16:23)
    at MappingPromiseArray._promiseFulfilled (/src/server/node_modules/bluebird/js/release/map.js:68:38)
    at MappingPromiseArray.PromiseArray._iterate (/src/server/node_modules/bluebird/js/release/promise_array.js:115:31)
    at MappingPromiseArray.init (/src/server/node_modules/bluebird/js/release/promise_array.js:79:10)
    at MappingPromiseArray._asyncInit (/src/server/node_modules/bluebird/js/release/map.js:37:10)
    at _drainQueueStep (/src/server/node_modules/bluebird/js/release/async.js:97:12)
    at _drainQueue (/src/server/node_modules/bluebird/js/release/async.js:86:9)
    at Async._drainQueues (/src/server/node_modules/bluebird/js/release/async.js:102:5)
    at Immediate.Async.drainQueues (/src/server/node_modules/bluebird/js/release/async.js:15:14)
    at processImmediate (node:internal/timers:476:21) {
  char: 1
}
2024-06-23T21:40:51+0200 <warn> scene.executeActions.js:37 (executeAction) Error: Undefined symbol Clouds
    at Function.onUndefinedSymbol (/src/server/node_modules/mathjs/lib/cjs/expression/node/SymbolNode.js:222:15)
    at /src/server/node_modules/mathjs/lib/cjs/expression/node/SymbolNode.js:96:99
    at Object.evaluate (/src/server/node_modules/mathjs/lib/cjs/expression/node/Node.js:77:18)
    at string (/src/server/node_modules/mathjs/lib/cjs/expression/function/evaluate.js:50:36)
    at evaluate (/src/server/node_modules/typed-function/lib/esm/typed-function.mjs:1790:20)
    at Object.device.set-value (/src/server/lib/scene/scene.actions.js:57:15)
    at executeAction (/src/server/lib/scene/scene.executeActions.js:32:35)
    at /src/server/lib/scene/scene.executeActions.js:66:13
    at tryCatcher (/src/server/node_modules/bluebird/js/release/util.js:16:23)
    at MappingPromiseArray._promiseFulfilled (/src/server/node_modules/bluebird/js/release/map.js:68:38)
    at MappingPromiseArray.PromiseArray._iterate (/src/server/node_modules/bluebird/js/release/promise_array.js:115:31)
    at MappingPromiseArray.init (/src/server/node_modules/bluebird/js/release/promise_array.js:79:10)
    at MappingPromiseArray._asyncInit (/src/server/node_modules/bluebird/js/release/map.js:37:10)
    at _drainQueueStep (/src/server/node_modules/bluebird/js/release/async.js:97:12)
    at _drainQueue (/src/server/node_modules/bluebird/js/release/async.js:86:9)
    at Async._drainQueues (/src/server/node_modules/bluebird/js/release/async.js:102:5)
    at Immediate.Async.drainQueues (/src/server/node_modules/bluebird/js/release/async.js:15:14)
    at processImmediate (node:internal/timers:476:21)
2024-06-23T21:40:54+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:41:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:41:04+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:41:13+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:41:22+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:41:32+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:41:41+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:41:51+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:42:00+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:42:02+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:42:10+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:42:19+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:42:29+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:42:38+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:42:48+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:42:57+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:43:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:43:07+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:43:16+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:43:26+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:43:35+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:43:45+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:43:54+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:44:03+0200 <warn> poll.js:14 (RtspCameraHandler.poll) Unable to poll camera
2024-06-23T21:44:04+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:44:13+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:44:23+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
2024-06-23T21:44:32+0200 <warn> message.connect.js:19 (TelegramBot.<anonymous>) Telegram polling error, code = ETELEGRAM, message = ETELEGRAM: 409 Conflict: terminated by other getUpdates request; make sure that only one bot instance is running
pi@domotique:~ $

Si je me trompe pas, contenu très similaire, avec donc 4 types d’erreurs:

  • Telegram polling error, toutes les 10 secondes
  • Unable to poll camera, toutes les minutes
  • SyntaxError: Value expected (char 1), dans une scène, toutes les 5 minutes
  • Error: Undefined symbol Clouds, dans une scène, toutes les 5 minutes

Pour la caméra, j’en ai effectivement une qui a changé d’IP il y a quelques jours, donc je vais corriger ça…

Pour le Telegram, est-ce que ça peut venir du fait que j’ai configuré le même bot dans gladys et dans node-red ? Je trouve pratique que les deux outils m’écrivent dans le même bot… Mais si c’est pas recommandé, je pourrai les dissocier…

Pour les deux scènes, comment je peux savoir desquelles il s’agit ? Et que peuvent désigner ces erreurs ?

Hi @StephaneB,

By any chance, have you checked your Gladys Plus backups? If you don’t have anything else on it, and you have 45% of disk space used, Gladys needs at least the same amount to perform the backup.

I know you say it doesn’t necessarily happen at the same time, but you never know ^^
How big is your DB?

Hi @StephaneB :slight_smile:

Indeed it’s unfortunate if Gladys freezes, we’ll find it

Indeed, for that you need 2 API keys. I don’t know if it’s possible to create 2 API keys for the same bot, but in any case you can’t have 2 connections at the same time, it’s a limitation on the Telegram API side.

Apparently it’s a scene with a « continue only if » with a calculation, does that ring a bell?

That comes from a scene with a « Control a device » with a calculated value, does that sound familiar?

Another question: does this blockage occur on the hour? Every hour, Gladys computes the aggregated values of sensors; that could be what’s saturating your disk bandwidth and preventing the rest of Gladys from running

PS: As soon as you find the offending scenes, if that’s indeed what’s causing the blockage, please document here what you found in those scenes so we can fix in Gladys what causes these blockages :slight_smile:

Thanks for the tip, @Terdious. But no worries about my backups, they are being done correctly. And the size of the backup is about 5 GB.

Thanks @pierre-gilles for these pointers. I’ll take care of fixing my config with Telegram.

And regarding the scenes, what’s complicated is that I have tons of scenes that match the criteria you gave. Is there a log of each scene trigger with the scene name, so I can cross-reference it with the time of the error?

Otherwise I’ll open them one by one and check which ones run every 5 minutes, and among them those that match your criteria.

And I’m not really sure whether the lockups occur at exact times, because I notice them when I need Gladys and it doesn’t respond, and those moments are fairly random…

[quote=« StephaneB, post:7, topic:8981 »]
Is there a record of each scene trigger with the scene name, and I’ll cross-check it with the time

1 Like

Thanks @pierre-gilles for your offer of help. But I’m the one who doesn’t have the time to sit down and call you. I’ll try as soon as possible…

1 Like

@pierre-gilles, I’ve had 3 crashes in the last few days :

  • 1st time: after a little over 47h of operation, around 6:30
  • 2nd time: after a little over 9h of operation, around 19:00
  • 3rd time: after a little over 2h of operation, around 2:30
  • and now it’s been working for 12 hours…

In the docker logs, I still have the same two errors already described above… So I started rereading my scenes one by one to find those that trigger every 5 minutes and contain the actions you mentioned… I’ll end up finding them :wink:

But I spotted another thing on the ‹ background tasks › page in Gladys: the following error is displayed every hour with the monthly aggregation:

Error: 
\u003c--- Last few GCs ---\u003e
rt of marking 1752 ms) (average mu = 0.672, current mu = 0.238[110976:0x7fb3c20040]  1698423 ms: Mark-sweep (reduce) 919.1 (936.1) -\u003e 919.1 (936.1) MB, 1709.2 / 0.0 ms  (+ 10.0 ms in 3 steps since start of marking, biggest step 3.5 ms, walltime since start of marking 1728 ms) (average mu = 0.532, current mu = 0.214)[110976:0x7fb3c20040]  1700597 ms: Mark-sweep (reduce) 938.5 (955.5) -\u003e 938.3 (955.5) MB, 2126.9 / 0.0 ms  (average mu = 0.339, current mu = 0.022) allocation failure; scavenge might not succeed


\u003c--- JS stacktrace ---\u003e

FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

And this error is also, logically, in the docker logs…

Do you know what I should do to eliminate this aggregation error?

The aggregation is getting tripped up by a RAM usage issue — Node.js’s « Heap memory » is full; several possible causes:

  • either your Pi has no RAM available at the moment the aggregation runs (in your error message, the aggregation was using 950MB of RAM)
    How are you doing in terms of RAM usage?
  • or the Heap Memory limit is reached. Out of curiosity, are you on a 32-bit or 64-bit system?

In general, the longer it’s been since an aggregation ran, the worse it gets, because there are more and more states to « process » and so it becomes increasingly complicated ^^

RAM smoothing oscillates between 5% and 30%, according to this diagram :

And the spike to 55% corresponds to the last crash :wink:

And I’d say it’s 64-bit, but I don’t remember how to check :wink:

Attention, we’re talking about RAM, volatile memory, not CPU load…

When connecting via SSH, first line


Aarch64, 64-bit

Oops… Indeed, I wasn’t attentive enough to respond.

Regarding RAM, here’s what the piHelper app shows me on my smartphone:

With the commands uname -m or arch you’ll get your version

Thank you. So it’s ‹ aarch64 ›.

1 Like

That doesn’t help us much, it’s a figure relative to a single point in time; I’d like to know how much RAM you have available and how much is generally in use.

On your Pi, from the command line you can run:

docker stats

Or:

htop

Take screenshots of both commands for us :slight_smile: