Closed rkoptev closed 6 years ago
Your code is probably modifying memory outside from what is allocated by malloc/new to you.
So the allocator (umm_*
) gets garbage and goes to hell.
Try to disable portions of your code, one by one, in order to isolate and fix the error.
You can also enable the CORE debug option, this enables umm sanity checks so the error would happen sooner for easier debugging.
My app uses the Async libs and ESP.getFreeHeap(), and I don't have this issue. I agree with @d-a-v : this is likely something in the user app, not in the core. The sketch is incomplete, and can't reproduce. Closing.
for the record, I have the same issue with 2.5.2. Calling ESP.getFreeHeap() randomly causes a reset. I'll see if I can trace the root cause.
Do not call ESP.getFreeHeap() between Preferences.h begin and end statements or you will get continuous watchdog timer resetting. (I am using the Arduino IDE for ESP32)
There is no library like Preferences.h
for ESP8266 AFAIK...
Basic Infos
Platform
Settings in IDE
Problem Description
In my project in loop section I have a snippet that responsible for periodical log of free RAM to monitor its usage in the runtime. But when I make a request to ESPAsyncWebServer to get a static html from SPIFFS - almost always this leads to an exception and wdt reset when ESP.getFreeHeap() gets called.
I noticed mentions about yield in stack trace and I guess this may be somehow related to this issue: https://github.com/me-no-dev/ESPAsyncWebServer/issues/289
MCVE Sketch
Debug Messages