node.restart() zombie mode
Posted: Mon Apr 27, 2015 1:10 pm
Could this be related to the deep sleep issue?
I had some data logging code to send values to a web server once/min. Originally it would run on a timer but a memory leak would crash it after a while when the heap got low. Since it was a periodic task anyway, I set a timer to run node.restart() every minute and let the init file run the task and sit idle until the next node.restart(). This worked great for a few hours and the heap was fine, until I noticed my updates stopped being received.
When I took it back to the bench and let it run where I could see the serial output, I noticed largely the same symptoms that were being reported for the deep sleep zombie mode problem. The chip would reboot from node.restart() and then instead of a boot message I received random binary junk and no code execution. The heap was consistently good right up to the last restart, so that wouldn't seem to be related.
On further study I could not reliably reproduce this except by waiting for a random period of time until it quit, which it always did. It might be 10 minutes or three hours. Restart interval doesn't seem to matter. Multiple ESP-07's and an ESP-12 had the same problem.
Thoughts?
As I recall this was on 0.9.5, but I would need to verify that.
I had some data logging code to send values to a web server once/min. Originally it would run on a timer but a memory leak would crash it after a while when the heap got low. Since it was a periodic task anyway, I set a timer to run node.restart() every minute and let the init file run the task and sit idle until the next node.restart(). This worked great for a few hours and the heap was fine, until I noticed my updates stopped being received.
When I took it back to the bench and let it run where I could see the serial output, I noticed largely the same symptoms that were being reported for the deep sleep zombie mode problem. The chip would reboot from node.restart() and then instead of a boot message I received random binary junk and no code execution. The heap was consistently good right up to the last restart, so that wouldn't seem to be related.
On further study I could not reliably reproduce this except by waiting for a random period of time until it quit, which it always did. It might be 10 minutes or three hours. Restart interval doesn't seem to matter. Multiple ESP-07's and an ESP-12 had the same problem.
Thoughts?
As I recall this was on 0.9.5, but I would need to verify that.