ct-Open-Source / Basecamp

An Arduino library to ease the use of the ESP32 in IoT projects
GNU General Public License v3.0
254 stars 48 forks source link

Guru Meditation Error: Core 0 panic'ed (LoadProhibited) #57

Open tobiasisenberg opened 6 years ago

tobiasisenberg commented 6 years ago

I repeatedly get "Guru Meditation Error: Core 0 panic'ed (LoadProhibited)" errors on boot after a deep sleep with Basecamp:

`rst:0x5 (DEEPSLEEP_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff0018,len:4 load:0x3fff001c,len:956 load:0x40078000,len:0 load:0x40078000,len:13256 entry 0x40078a90

Basecamp V.0.1.6 Guru Meditation Error: Core 0 panic'ed (LoadProhibited) . Exception was unhandled. Core 0 register dump: PC : 0x400014dc PS : 0x00060a30 A0 : 0x800ea8eb A1 : 0x3ffe8a00
A2 : 0x0000000f A3 : 0x0000000b A4 : 0x000000ff A5 : 0x0000ff00
A6 : 0x00ff0000 A7 : 0xff000000 A8 : 0x00060023 A9 : 0x3ffd8398
A10 : 0x00000001 A11 : 0x00000001 A12 : 0x8008d140 A13 : 0x3ffe8870
A14 : 0x00000000 A15 : 0x3ffe7f40 SAR : 0x0000000b EXCCAUSE: 0x0000001c
EXCVADDR: 0x0000000f LBEG : 0x4000142d LEND : 0x4000143a LCOUNT : 0xffffffdf

Backtrace: 0x400014dc:0x3ffe8a00 0x400ea8e8:0x3ffe8a10 0x400e875f:0x3ffe8a30 0x400d6fad:0x3ffe8a50

Rebooting...`

I traced this down to the OTA behavior, the exception decoder shows: `PC: 0x400014dc EXCVADDR: 0x0000000f

Decoding stack results 0x400ea8e8: String::operator=(char const*) at C:\Users*\Documents\Arduino\hardware\espressif\esp32\cores\esp32\WString.cpp line 267 0x400e875f: ArduinoOTAClass::setHostname(char const) at C:\Users\\Documents\Arduino\hardware\espressif\esp32\libraries\ArduinoOTA\src\ArduinoOTA.cpp line 63 0x400d6fad: Basecamp::OTAHandling(void*) at C:\Users*****\Documents\Arduino\libraries\Basecamp\Basecamp.cpp line 380`

The error can be prevented by setting config.set("OTAActive", "false"); in setup(). Interestingly, an alternative definition of #define BASECAMP_NOOTA 1 at the top of the sketch (i.e., before any other code or include) does not prevent the error, despite full recompile.

merlinschumacher commented 6 years ago

Does this still happen with an updated version of the ESP32 Core for Arduino?

tobiasisenberg commented 6 years ago

Have not tested recently, all my projects now use deactivated OTA (handling OTA differently). I can test again, but not before well into September.

mimansamaheshwari commented 5 years ago

I am using MCP23017 IO expander with Esp32 for performing certain tasks. I am using the standard Adafruit MCP23017 library on Arduino IDE with a little modifications needed for esp32. Everything was working fine but from last few days I am facing the problem of esp reset. The following message appears on Serial Monitor

Rebooting... ets Jun 8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff0018,len:4 load:0x3fff001c,len:956 load:0x40078000,len:0 load:0x40078000,len:13076 entry 0x40078a58 Guru Meditation Error: Core 0 panic'ed (LoadProhibited) . Exception was unhandled. Register dump: PC : 0x400d0d63 PS : 0x00060930 A0 : 0x800d156d A1 : 0x3ffe3b60
A2 : 0x3ffc228c A3 : 0x00000000 A4 : 0x0000000d A5 : 0x00000000
A6 : 0x00000000 A7 : 0x00004e20 A8 : 0x800d0d5d A9 : 0x3ffe3b40
A10 : 0x3ffc228c A11 : 0x0000000c A12 : 0x0000000d A13 : 0x000186a0
A14 : 0x7ff00000 A15 : 0x00000000 SAR : 0x0000000d EXCCAUSE: 0x0000001c
EXCVADDR: 0x0000001c LBEG : 0x400d3b74 LEND : 0x400d3b93 LCOUNT : 0x00000000

Backtrace: 0x400d0d63:0x3ffe3b60 0x400d156a:0x3ffe3b80 0x400d1719:0x3ffe3ba0 0x400d175a:0x3ffe3bc0 0x400d63d7:0x3ffe3be0 0x40082e2d:0x3ffe3c00 0x40082fed:0x3ffe3c30 0x400788a6:0x3ffe3c50 0x4007890d:0x3ffe3c80 0x40078a52:0x3ffe3cb0 0x40078b7a:0x3ffe3e70 0x40007c31:0x3ffe3eb0 0x4000073d:0x3ffe3f20

Please tell me proper reason for this problem or the way how to troubleshoot this?

Javerre commented 5 years ago

I am also repeatedly getting "Guru Meditation Error: Core 0 panic'ed (LoadProhibited)" errors on boot after a deep sleep with Basecamp. This started to happen after I updated the ESP platform to 1.6.0.

Building with -D BASECAMP_NOOTA=1 has solved the problem for me so I think @tobiasisenberg is right, it's an OTA issue. I also get the same backtrace, in case that helps.