-
Hi, I have a 5" cheap yellow display and am making progress designing my pages. However, every so often the device becomes non-resposive and at the same time I see whilst telneted in
The web info page looks fairly healthly to my eyes
Is there anything I can look at to get more info ? Thanks. |
Beta Was this translation helpful? Give feedback.
Replies: 8 comments 9 replies
-
It sounds like an MQTT message loop, please post more of your log output. If you overwhelm the ESP32 with MQTT messages faster than it can process, you can run into a situation where the MQTT receive buffer gets full. |
Beta Was this translation helpful? Give feedback.
-
Thanks. I've just powered off and powered on the plate and recorded the logs via telnet as soon as I could
I'll see if I can find more clues with MQTT explorer. |
Beta Was this translation helpful? Give feedback.
-
I don't think I have much control over how the messages are generated. In home assistant I've created a pages.jsonl and added the openhasp yaml configuration which lists the properties. For example :
|
Beta Was this translation helpful? Give feedback.
-
I put the broker into debug mode so messages are logged. I thought some messages might have a lot of repeats but not really. over a 20min period, most messages were sent 14 times. Sticking with the example above -
I've setup 10 pages with a total of 159 objects. I know there are some constants in the home assistant yaml that could be moved to pages.jsonl, but I would rather not. |
Beta Was this translation helpful? Give feedback.
-
If the number of messages is an issue and the MQTT buffer can't be increased, I wondered if there was a way to stop sending messages for pages that arn't visible. |
Beta Was this translation helpful? Give feedback.
-
One thing I noticed from time to time is what looks like a re-sending pages.jsonl. I don't think these are normally logged but show up when the queue is dumped
I guess I can copy pages.jsonl to the device to avoid this. |
Beta Was this translation helpful? Give feedback.
-
[ deleted incorrect post ] With a bit more research, I'm beginning to think this is triggered by a network issue. Looking back a little in the logs I see -
The disconnect seems to occur first. After a re-connect there is a queue of messages to be processed, plus a re-send of pages.jsonl making the problem worse. The code that is reporting Out of memory here is -
So we could bump up the size of the xqueue -
But I think we need to investigate the network issue first. In a separate test run I saw -
which seems to correspond with large ping delays -
We do have a bug report in this area for this play, #592, so I think the next step is to play around with the display settings so that wifi is stable (and the display actually works). Some discussions here #861 |
Beta Was this translation helpful? Give feedback.
-
I raised #868 with a PR to set TFT_PREFER_SPEED to a value that both gets the display working and reduces wifi errors. This seems sufficient to stop disconnects and hence trigger the out of memory. |
Beta Was this translation helpful? Give feedback.
It sounds like an MQTT message loop, please post more of your log output.
Check the MQTT activity using a tool like MQTT Explorer.
If you overwhelm the ESP32 with MQTT messages faster than it can process, you can run into a situation where the MQTT receive buffer gets full.