Closed cerebrate closed 1 month ago
I don't believe this issue is related to "Message dropped" as that is just an informational message as sometimes it's not possible to decrypt push messages for various reasons.
Rather it seems that the process is exiting due to stack size exception. Unfortunately, this error appears to be coming from push-receiver dependency and not from ring-mqtt itself which means it will basically be impossible for me to troubleshoot this since there is no method to reproduce the issue and I can't even easily add debug option to the code since it is outside of my control.
Unless you have troubleshooting/development skills and are able to dig into it yourself, my best suggestion is to follow the standard notification troubleshooting steps in the wiki, which should reset the current push notification queue.
Makes sense. I'll give that a try.
Is there an alternate way to get the name of the device affected other than the web UI? The ring-mqtt container won't stay up long enough for me to access that.
...actually, scratch that. I was trying to figure out a way to get that information when, lo and behold, the repeatedly restarting container stopped restarting and started running normally as suddenly and with as little local cause as it stopped working in the first place.
Which is frustrating in its way, but I guess I'll take it. 🤷🏻♂️
Not a complete surprise I guess. In theory ring-client-api should be storing the ID of the last received push notifications and passing that back to the API on reconnect, but, as of today, it doesn't do that. This leads to the case that, during startup, FCM re-sends any past push notifications that are still in the queue even if they've already been delivered previously. I'm not sure how long such messages stay in the queue, it seems like it's just a few hours at most, but eventually, they are removed. It feels like there was somehow a corrupted message, or maybe a message much longer than push-receiver expects, that was still in the queue, and once it finally timed out, everything started working again.
Currently the code just ignores any messages received during the first few seconds after the API connection is established. I'm guessing if it were implemented correctly by storing the push ID, this problem wouldn't exist.
Is there an existing issue for this?
Is this really a bug or just a usage/support question?
Have you read and followed any recommendations in the Support and Troubleshooting section of the wiki?
Did this issue start after an upgrade?
Are you prepared to respond and provide all relevant information (logs, screenshots, etc)
Describe the Bug
ring-mqtt startup fails with initial error "Message dropped as it could not be decrypted: crypto-key is missing"
Steps to Reproduce
This error began occurring on a previously correctly operating ring-mqtt installation without any changes having been made to configuration, data files, etc. Steps to reproduce are therefore unknown.
Expected Behavior
ring-mqtt starts up and operates normally
Log Output
Screenshots
No response
Config File
Install Type
k8s
Version
x5.7.1
Operating System
Debian bookworm
Architecture
amd64
Machine Details
k8s v1.30.2 on Debian bookworm on physical amd64 (Intel NUC)