Error reference
What ESP32 error messages mean and how to fix them. Find the line you saw, or paste a whole log into the crash translator on any error page or on the bench.
Crashes
Guru Meditation errors, aborts and watchdogs: the firmware hit something it could not recover from.
- Guru Meditation Error: Core 1 panic'ed (LoadProhibited)
Guru Meditation Error: Core 1 panic'ed (LoadProhibited). Exception was unhandled. - Guru Meditation Error: Core 1 panic'ed (StoreProhibited)
Guru Meditation Error: Core 1 panic'ed (StoreProhibited). Exception was unhandled. - Guru Meditation Error: Core 1 panic'ed (InstrFetchProhibited)
Guru Meditation Error: Core 1 panic'ed (InstrFetchProhibited). Exception was unhandled. - Guru Meditation Error: Core 1 panic'ed (IllegalInstruction)
Guru Meditation Error: Core 1 panic'ed (IllegalInstruction). Exception was unhandled. - Guru Meditation Error: Core 1 panic'ed (IntegerDivideByZero)
Guru Meditation Error: Core 1 panic'ed (IntegerDivideByZero). Exception was unhandled. - Stack canary watchpoint triggered (loopTask)
Debug exception reason: Stack canary watchpoint triggered (loopTask) - Guru Meditation Error: Core 0 panic'ed (Interrupt wdt timeout on CPU0)
Guru Meditation Error: Core 0 panic'ed (Interrupt wdt timeout on CPU0). - Cache disabled but cached memory region accessed
Guru Meditation Error: Core 0 panic'ed (Cache disabled but cached memory region accessed). - Task watchdog got triggered. The following tasks did not reset the watchdog in time
E (10321) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time: - abort() was called at PC 0x... on core 1
abort() was called at PC 0x400d5c2b on core 1 - Stack smashing protect failure!
Stack smashing protect failure! - CORRUPT HEAP: Bad head at 0x... Expected 0xabba1234
CORRUPT HEAP: Bad head at 0x3ffb8f2c. Expected 0xabba1234 got 0x3ffb8f40 - assert failed: xQueueSemaphoreTake queue.c (( pxQueue ))
assert failed: xQueueSemaphoreTake queue.c:1545 (( pxQueue )) - How to decode an ESP32 Backtrace
Backtrace: 0x400d1a2b:0x3ffb1f10 0x400d2c3d:0x3ffb1f30
Resets and power
The rst: line printed at every boot, and what each reason means.
- Brownout detector was triggered
Brownout detector was triggered - rst:0xc (SW_CPU_RESET)
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) - rst:0x7 (TG0WDT_SYS_RESET) and rst:0x8 (TG1WDT_SYS_RESET)
rst:0x7 (TG0WDT_SYS_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) - rst:0x10 (RTCWDT_RTC_RESET) boot loop
rst:0x10 (RTCWDT_RTC_RESET),boot:0x33 (SPI_FAST_FLASH_BOOT) - rst:0x5 (DEEPSLEEP_RESET)
rst:0x5 (DEEPSLEEP_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) - rst:0x15 (USB_UART_CHIP_RESET)
rst:0x15 (USB_UART_CHIP_RESET),boot:0x8 (SPI_FAST_FLASH_BOOT)
Boot and flash
The bootloader could not find or read the firmware, or is waiting for new firmware.
Upload and connection
Errors from esptool and the Arduino IDE while uploading.
- A fatal error occurred: Failed to connect to ESP32: No serial data received
A fatal error occurred: Failed to connect to ESP32: No serial data received. - Failed to connect to ESP32: Timed out waiting for packet header
A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header - Could not open /dev/ttyUSB0, the port is busy or doesn't exist
A fatal error occurred: Could not open /dev/ttyUSB0, the port is busy or doesn't exist. - Sketch too big: text section exceeds available space in board
Sketch too big; see https://support.arduino.cc/hc/en-us/articles/360013825179 for tips on reducing it.
No error matches. Try a shorter word, or paste the whole log into the bench's crash translator.