Description
Basic Infos
- [ x] This issue complies with the issue POLICY doc.
- [ x] I have read the documentation at readthedocs and the issue is not addressed there.
- [ x] I have tested that the issue is present in current master branch (aka latest git).
- [ x] I have searched the issue tracker for a similar issue.
- [ x] If there is a stack dump, I have decoded it.
- [ x] I have filled out all fields below.
Platform
- Hardware: ESP 12E on Nodemcu 1.0
- Core Version: 2.5.0
- Development Env: Arduino IDE
- Operating System: Windows
Settings in IDE
- Module: Nodemcu
- Flash Mode: qio
- Flash Size: 4MB/1MB]
- lwip Variant: v2 Higher Bandwidth (no features)
- Reset Method: --
- Flash Frequency: --
- CPU Frequency: 80Mhz
- Upload Using: OTA
- Upload Speed: --
Problem Description
In 2.5.0 core, I am facing recurrent ESP crashes at the millis() line of the code:
void doCnt() // This is an interrupt handler function
{
if ((millis() - CntLMillis) > cntBounce) // << This line of code
{
CntLMillis = millis();
checkCnt = true;
}
}
The crash decode shows that its a Fatal Exception 0 - Illegal Command.
millis() is the only command on that line.
The stack shows a lot of SPIFFS activity then a esp_yield and then this crash.
I think it has something to do with interrupt handling along with SPIFFS activity. I cannot stop my interrupt captures during SPIFFS writes, due to application requirements.
I upgraded from the 2.4.2 core to 2.5.0.
My same sketch was very stable in the older core.
After I shifted to the older code, things are stable again.