espressif / esp-idf

Espressif IoT Development Framework. Official development framework for Espressif SoCs.
Apache License 2.0
13.28k stars 7.2k forks source link

ESP32 not restarting after Guru Meditation Error: Core 1 panic'ed (Interrupt wdt timeout on CPU1) (IDFGH-2815) #4877

Closed FrGrQuim closed 1 month ago

FrGrQuim commented 4 years ago

Environment

Problem Description

After a "Guru Meditation Error: Core 1 panic'ed (Interrupt wdt timeout on CPU1)" the esp doesn't restart even if the Panic handler behaviour (in sdkconfig) = Print registers and reboot

Expected Behavior

The esp32 reboot after all Guru Meditation Error

Actual Behavior

The esp is blocked on Guru Meditation Error: Core 1 panic'ed (Interrupt wdt timeout on CPU1.

Debug Logs

periodic_task 232705839 5% music_play_task 899168351 22% Tmr Svc 5346569 <1% IDLE1 3546688256 88% IDLE0 2870422359 71% i2s_read_task 1064949000 26% band_tmp_data_t 308455069 7% tiT 43113710 1% main 585483 <1% ipc1 214275 <1% ipc0 92902 <1% uart_event_task 50 <1% sys_evt 9512388 <1% mqtt_log_task 742794 <1% httpd 1617 <1% wifi 280604090 7% hciT 1565494113 39% btuT 1346213055 33% BTC_TASK 538554129 13% esp_timer 84063093 2% btController 4093607157 102% dl_task 103 <1% update_manager 30 <1% Guru Meditation Error: Core 1 panic'ed (Interrupt wdt timeout on CPU1)

After manual restart: Core 1 register dump: PC : 0x40090c56 PS : 0x00060034 A0 : 0x80099d79 A1 : 0x3f8379f0
A2 : 0x3f837078 A3 : 0x3f40bf38 A4 : 0x00000014 A5 : 0x00000001
A6 : 0x000000fe A7 : 0x00000001 A8 : 0x3f40bf38 A9 : 0x3f837078
A10 : 0x00000001 A11 : 0x00060023 A12 : 0x00060023 A13 : 0x3f40bb5e
A14 : 0x3ff47024 A15 : 0x00000000 SAR : 0x0000001b EXCCAUSE: 0x00000006
EXCVADDR: 0x00000000 LBEG : 0x400932a9 LEND : 0x400932b9 LCOUNT : 0xfffffff8

holubcsongor commented 4 years ago

You have to set it in the menuconfig

FrGrQuim commented 4 years ago

if you talk about "Panic handler behaviour = Print registers and reboot" it is already done in menuconfig. The esp restart automatically for all type of panic error except this one.

Dazza0 commented 4 years ago

@FrGrQuim

I ran the following code and could not recreate your issue.

#include <stdio.h>
#include <stdlib.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"

void cpu1task(void *arg)
{
    printf("cpu1task running\n");
    portDISABLE_INTERRUPTS();
    while(1) {
        ;    //Diasble interrupts and loop to trigger INT WDT
    }
}

void app_main()
{
    printf("hello world\n");
    xTaskCreatePinnedToCore(cpu1task, "cpu1", 2048, NULL, 2, NULL, 1);
}

Could you please provide decode the backtraces printed by the panic handler, and also provide the sdkconfig of your application

KonstantinKondrashov commented 4 years ago

Hi @FrGrQuim! If you are not able to see the backtrace and it locks up in the panic handler on ELF file SHA256: then please look at https://github.com/espressif/esp-idf/issues/1853#issuecomment-597065189. Maybe that patch can help in your case. Thanks.

Alvin1Zhang commented 4 years ago

@FrGrQuim Thanks for reporting, would you please help check if any updates for the issue? Thanks.

Alvin1Zhang commented 4 years ago

@FrGrQuim Thanks for reporting, would you please help check if any updates for the issue? Thanks.

AxelLin commented 2 years ago

@FrGrQuim I just test with v4.3 branch but I cannot reproduce this issue. v4.0 is EOL, could you try with newer esp-idf releases? BTW, if you can reproduce it please also provide your sdkconfig.

ESP-Marius commented 1 month ago

Closing this one due to lack of activity. Feel free to reopen if there is still any issues here.