I have to ask the same question as the the OP @jmayes - while I am not using the mesh component at this stage, I am building a product that has a target reach of 18K remote devices. As you all will appreciate - a fleet this size has to be stable and manageable. I have two devices on the bench, testing the initial code block to get to a stable state before we move on and I have yet been able to get a 24hr session to remain connected without manual intervention - I left this specific device (XENON + ETH WING) on from 15:13 yesterday and now, 15 minutes ago - all of these errors below appeared on the usb serial port and the device is solid blue. (The device app listens on Serial1 for messages from an industrial control panel at 19200 bps, and then publishes this message to an MQTT broker, and outputs a simple activity trail on the USB serial connection and has a 2 x16LCD to show time and comms status.)
0000123504 [app] WARN: Panel communications timeout
got event 536964888 with value 32
got event 536964888 with value 32
got event 536964888 with value 32
0051327229 [comm.dtls] WARN: mbedtls_ssl_write returned ffffffff
0051327237 [comm.protocol] ERROR: Event loop error 3
0051327241 [system] WARN: Communication loop error, closing cloud socket
got event 536964888 with value 32
got event 536964888 with value 64
got event 536964888 with value 64
got event 536964888 with val0051327355 [system] ERROR: Failed to load session data from persistent storage
got event 536964888 with value 32
got event 536964888 with value 32
got event 536964888 with value 32
got event 536964888 with value 32
got event 536964888 with value 32
got event 536964888 with value 32
0051337477 [comm.dtls] ERROR: handshake failed -6800
0051337484 [comm.protocol.handshake] ERROR: handshake failed with code 17
0051337490 [system] WARN: Cloud handshake failed, code=17
got event 536964888 with value 64
got event 536964888005 with value 64
1338550 [system] ERROR: Failed to load session data from persistent storage
0051340450 [comm.protocol] ERROR: Channel failed to send message with error-code <0>
got event 536964888 with value 64
got event 536964888 with value 16384
got event 536964888 with value 32
0051342739 [comm.dtls] WARN: mbedtls_ssl_write returned ffffffff
0051342747 [comm.protocol] ERROR: Channel failed to send message with error-code <20>
0051342754 [comm.protocol] ERROR: Event loop error 20
0051342759 [system] WARN: Communication loop error, closing cloud socket
got event 536964888 with value 32
got event 536964888 with value 64
got event 536964888 with value 64
got event 536964888 w00513ith value 64
42870 [system] ERROR: Failed to load session data from persistent storage
0051344770 [comm.protocol] ERROR: Channel failed to send message with error-code <0>
got event 536964888 with value 64
got event 536964888 with value 16384
got event 536964888 with value 32
0051358671 [comm.dtls] WARN: mbedtls_ssl_write returned ffffffff
0051358681 [comm.protocol] ERROR: Event loop error 3
0051358687 [system] WARN: Communication loop error, closing cloud socket
got event 536964888 with value 64
got event 536964888 with value 64
got event 536964888 with value 32
got event 536900564888 with value 64
1358799 [system] ERROR: Failed to load session data from persistent storage
0051368271 [comm.dtls] ERROR: handshake failed -6800
0051368277 [comm.protocol.handshake] ERROR: handshake failed with code 17
0051368284 [system] WARN: Cloud handshake failed, code=17
got event 536964888 with value 64
got event 536960051369341 [syste4888 with value 6m] ERROR: Failed to load se4
ssion data from persistent storage
0051371239 [comm.protocol] ERROR: Channel failed to send message with error-code <0>
got event 536964888 with value 64
got event 536964888 with value 16384
got event 536964888 with value 32
0051390727 [comm.dtls] WARN: mbedtls_ssl_write returned ffffffff
0051390735 [comm.protocol] ERROR: Event loop error 3
0051390741 [system] WARN: Communication loop error, closing cloud socket
got event 536964888 with value 64
got event 536964888 with value 64
got event 536964888 with005 value 32
got ev1390853 [system] ERROR: ent 536964888 with value 64
Failed to load session data from persistent storage
the first line is from my app
0000123504 [app] WARN: Panel communications timeout
Then the rest is generated by some subsystem I have no control over. I can understand the [comm.xxx] messages as being from the cloud connection firmware. My app does not generate an messages such as “got event 53xxxxxxx with value xx”, my app only uses Log.info to output the audit messages. I am yet to find and explanation of the “got event” messages anywhere in the docs.
My app has the following in place for debugging
SYSTEM_THREAD(ENABLED);
/*
DEBUG STUFF
*/
ApplicationWatchdog wd(30000, System.reset);
ParticleWebLog particleWebLog("log", LOG_LEVEL_WARN, // Logging level for non-application messages
{
{ "app", LOG_LEVEL_WARN} // Logging level for application messages
});
SerialLogHandler logHandler(LOG_LEVEL_WARN, // Logging level for non-application messages
{
{ "app", LOG_LEVEL_ALL } // Logging level for application messages
});
The device console is showing “breathing cycan” when in fact it is solid cycan and my app is “frozen” - I have an LCD display attached with a simple time of day display and flashing colon, so it is easy to see its frozen.
The last vitals are (and its ironic that the remedy is to reposition the device - it is connected to 100mb/s fibre internet link and is not using mesh functions)

The defined watchdog has not fired and recovered the device and I am unable to remotely flash the device or get it back in any way other than a manual intervention. So there is clearly still a way to go to get this product ready for prime time. Much as I love Particle and its offerings - this is a show stopper.