Help with Interrupt WDT Timeout Resets
Posted: Mon Jul 17, 2023 10:29 pm
See also this post: https://esp32.com/viewtopic.php?f=13&t=34079
I too am experiencing a very similar problem. IDF 5. I have BT running with NIMBLE on core 0 pretty intensively sending data out. Continuous ADC and I2C running on the other core. It is a very occasional but annoying bug. Two example stack traces below... Note that the second one involves the i2c isr. In both cases core 1 is in idle.
Second stack trace example:
I too am experiencing a very similar problem. IDF 5. I have BT running with NIMBLE on core 0 pretty intensively sending data out. Continuous ADC and I2C running on the other core. It is a very occasional but annoying bug. Two example stack traces below... Note that the second one involves the i2c isr. In both cases core 1 is in idle.
Code: Select all
Guru Meditation Error: Core 0 panic'ed (Interrupt wdt timeout on CPU0).
Core 0 register dump:
PC : 0x400838cf PS : 0x00060c35 A0 : 0x80083a49 A1 : 0x3ffd7090
0x400838cf: timer_insert at C:/Users/felix/esp5/esp-idf/components/esp_timer/src/esp_timer.c:278
A2 : 0x3ffbb844 A3 : 0x00000000 A4 : 0xb9330000 A5 : 0x00000000
A6 : 0x3f407164 A7 : 0xffffffff A8 : 0x3ffbb844 A9 : 0x00000000
A10 : 0x00000000 A11 : 0x3ffb2c24 A12 : 0x00000000 A13 : 0x5a9e56ea
A14 : 0x5a9e56ea A15 : 0x0000cdcd SAR : 0x0000000a EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000 LBEG : 0x4000c2e0 LEND : 0x4000c2f6 LCOUNT : 0xffffffff
Backtrace: 0x400838cc:0x3ffd7090 0x40083a46:0x3ffd70b0 0x40084f1c:0x3ffd70d0 0x400e4219:0x3ffd70f0 0x400e425c:0x3ffd7110 0x400e434e:0x3ffd7130 0x400925fd:0x3ffd7150 0x400842dd:0x3ffd7170 0x400db73c:0x3ffd7190
0x400838cc: timer_insert at C:/Users/felix/esp5/esp-idf/components/esp_timer/src/esp_timer.c:278
0x40083a46: esp_timer_start_once at C:/Users/felix/esp5/esp-idf/components/esp_timer/src/esp_timer.c:205
0x40084f1c: npl_freertos_callout_reset at C:/Users/felix/esp5/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:809
0x400e4219: ble_npl_callout_reset at C:/Users/felix/esp5/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include/nimble/nimble_npl_os.h:288
(inlined by) ble_hs_timer_reset at C:/Users/felix/esp5/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:466
0x400e425c: ble_hs_timer_sched at C:/Users/felix/esp5/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:487
0x400e434e: ble_hs_timer_exp at C:/Users/felix/esp5/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:427
0x400925fd: npl_freertos_event_run at C:/Users/felix/esp5/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:450
0x400842dd: ble_npl_event_run at C:/Users/felix/esp5/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include/nimble/nimble_npl_os.h:185
(inlined by) nimble_port_run at C:/Users/felix/esp5/esp-idf/components/bt/host/nimble/nimble/porting/nimble/src/nimble_port.c:246
0x400db73c: ble_spp_server_host_task at C:/Users/felix/source/Thor/fw-sensor-hub/main/gl_ble_spp_server.c:520 (discriminator 2)
Second stack trace example:
Code: Select all
Guru Meditation Error: Core 0 panic'ed (Interrupt wdt timeout on CPU0).
Core 0 register dump:
PC : 0x4008cd94 PS : 0x00060f35 A0 : 0x40083394 A1 : 0x3ffbf440
0x4008cd94: i2c_isr_handler_default at C:/Users/felix/esp5/esp-idf/components/driver/i2c.c:531
0x40083394: _xt_lowint1 at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_vectors.S:1118
A2 : 0x3ffd5d40 A3 : 0x00000000 A4 : 0x00000000 A5 : 0x40095332
0x40095332: _frxt_int_enter at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/portasm.S:101
A6 : 0x3ffc39d8 A7 : 0x3ffbc38b A8 : 0x00000002 A9 : 0x3ffbf420
A10 : 0x3ffbe5d8 A11 : 0x3ffbf444 A12 : 0x00060f21 A13 : 0x00000000
A14 : 0x3ffb5840 A15 : 0x00060123 SAR : 0x0000001d EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000 LBEG : 0x4000c2e0 LEND : 0x4000c2f6 LCOUNT : 0xffffffff
Core 0 was running in ISR context:
EPC1 : 0x400d383f EPC2 : 0x00000000 EPC3 : 0x4008cd68 EPC4 : 0x4008cd68
0x400d383f: uart_hal_write_txfifo at C:/Users/felix/esp5/esp-idf/components/hal/uart_hal_iram.c:35
0x4008cd68: i2c_isr_handler_default at C:/Users/felix/esp5/esp-idf/components/driver/i2c.c:525
0x4008cd68: i2c_isr_handler_default at C:/Users/felix/esp5/esp-idf/components/driver/i2c.c:525
Backtrace: 0x4008cd91:0x3ffbf440 0x40083391:0x3ffbf480 0x4008cf35:0x3ffbc390 0x4010f854:0x3ffbc3b0 0x400d32d4:0x3ffbc3d0 0x40096acd:0x3ffbc3f0
0x4008cd91: i2c_isr_handler_default at C:/Users/felix/esp5/esp-idf/components/driver/i2c.c:530
0x40083391: _xt_lowint1 at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_vectors.S:1118
0x4008cf35: i2c_isr_handler_default at C:/Users/felix/esp5/esp-idf/components/driver/i2c.c:580
0x4010f854: esp_pm_impl_waiti at C:/Users/felix/esp5/esp-idf/components/esp_pm/pm_impl.c:847
0x400d32d4: esp_vApplicationIdleHook at C:/Users/felix/esp5/esp-idf/components/esp_system/freertos_hooks.c:57
0x40096acd: prvIdleTask at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/tasks.c:4157