Help with Interrupt WDT Timeout Resets

felixcollins
Posts: 125
Joined: Fri May 24, 2019 2:02 am

Help with Interrupt WDT Timeout Resets

Postby felixcollins » 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.

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

felixcollins
Posts: 125
Joined: Fri May 24, 2019 2:02 am

Re: Help with Interrupt WDT Timeout Resets

Postby felixcollins » Mon Jul 17, 2023 10:48 pm

And another one...

Again, it is curious that the core 0 is in interrupt context when the WDT fires. I have it set at 300ms with a tick rate of 100Hz (defaults). I don't believe that the interrupts were actually busy that long. This smells much more like a deadlock bug to me. Is there any way to shift the i2c interrupt to core 1? Would that even help? The stack trace and register dump seem to be interleaved which is curious. It also does not seem to make much sense. Why would this be scrambled? Could this be a sign of memory corruption?

Code: Select all


Guru Meditation Error: Core  0 panic'ed (Interrupt wdt timeout on CPU0). 

Core  0 register dump:
PC      : 0x4008cddd  PS      : 0x00060f35  A0      : 0x40083394  A1      : 0x3ffbf440
0x4008cddd: i2c_isr_handler_default at C:/Users/felix/esp5/esp-idf/components/driver/i2c.c:539

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    : 0x40099a4c  EPC4    : 0x40099a4c
0x400d383f: uart_hal_write_txfifo at C:/Users/felix/esp5/esp-idf/components/hal/uart_hal_iram.c:35

0x40099a4c: i2c_hal_get_intsts_mask at C:/Users/felix/esp5/esp-idf/components/hal/i2c_hal_iram.c:67

0x40099a4c: i2c_hal_get_intsts_mask at C:/Users/felix/esp5/esp-idf/components/hal/i2c_hal_iram.c:67



Backtrace: 0x4008cdda:0x3ffbf440 0x40083391:0x3ffbf480 0x4008cf35:0x3ffbc390 0x4010f854:0x3ffbc3b0 0x400d32d4:0x3ffbc3d0 0x40096acd:0x3ffbc3f0
0x4008cdda: i2c_isr_handler_default at C:/Users/felix/esp5/esp-idf/components/driver/i2c.c:538

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



Core  1 register dump:
PC      : 0x4009299a  PS      : 0x00060135  A0      : 0x8010f857  A1      : 0x3ffbcaf0
0x4009299a: esp_cpu_wait_for_intr at C:/Users/felix/esp5/esp-idf/components/esp_hw_support/cpu.c:110

A2      : 0x00000003  A3      : 0x00060123  A4      : 0x00060120  A5      : 0x3ffd1727
A6      : 0x00000003  A7      : 0x00060023  A8      : 0xadf1131c  A9      : 0xadf1131c
A10     : 0x3ffc39dc  A11     : 0x3ffbcaeb  A12     : 0x00060120  A13     : 0x00060123
A14     : 0x00000003  A15     : 0x0000abab  SAR     : 0x0000001d  EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000


Backtrace: 0x40092997:0x3ffbcaf0 0x4010f854:0x3ffb0x40092997: xt_utils_wait_for_intr at C:/Users/felix/esp5/esp-idf/components/xtensa/include/xt_utils.h:81
 (inlined by) esp_cpu_wait_for_intr at C:/Users/felix/esp5/esp-idf/components/esp_hw_support/cpu.c:101

0x4010f854: esp_pm_impl_waiti at C:/Users/felix/esp5/esp-idf/components/esp_pm/pm_impl.c:847

cb10 0x400d32d4:0x3ffbcb30 0x40096acd:0x3ffbcb50
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

ESP_Sprite
Posts: 9739
Joined: Thu Nov 26, 2015 4:08 am

Re: Help with Interrupt WDT Timeout Resets

Postby ESP_Sprite » Tue Jul 18, 2023 1:12 am

What specific ESP-IDF version do you have? (E.g. run 'git describe' in the esp-idf directory)

felixcollins
Posts: 125
Joined: Fri May 24, 2019 2:02 am

Re: Help with Interrupt WDT Timeout Resets

Postby felixcollins » Wed Jul 19, 2023 10:41 pm

@ESP_Sprite I was originally running release tag 5.0.2. As part of my attempts to fix I have updated to head of branch 5.0. Currently f2973dc4c6c7d4f7abdc3e274109fecd6ca3ee60

I am still getting this crash with this build. It sometimes happens after an hour and sometimes after a few minutes. The stack trace is confusing to me. (I can not show the full coredump as the version of monitor I have crashes on a core dump - if you have a clue how to fix that too, I would be grateful!).

One thing that does seem fairly consistent is that

Code: Select all

0x400d39bf: uart_hal_write_txfifo at C:/Users/felix/esp5/esp-df/components/hal/uart_hal_iram.c:35
shows up in the backtrace.

The crash appears to be occurring in about the same place in the cycle my code is going through. I know this because the debug logging just before it happens is always the same. It is a time in my code where a GPIO interrupt has just been enabled, but maybe that is not relevant it is a rising edge interrupt on GPIO21. There are any edge on GPIO17 and GPIO16 that are enabled all the time - no other gpio interrupts in system.

I have the following tasks running. I've tried to pin tasks to core 1 to free up 0 for btle.

Code: Select all

Name            State   Prity   StckMin TaskNum CoreID
debug_rx        X       11      1328    11      1
IDLE            R       0       968     5       0
IDLE            R       0       956     6       1
Tmr Svc         B       1       1424    7       0
debug_tx        S       10      1548    10      1
imu_rec         S       23      3112    12      1
adc_rec         S       24      2424    13      1
ipc1            B       24      1048    2       1
nimble_host     B       21      1884    9       0
gl_event        B       20      2180    8       1
esp_timer       S       22      3384    3       0
btController    B       23      2112    15      0
ipc0            B       1       1028    1       0
debug_tx is low priority redirect/buffering of the ESP_LOG to prevent logging slowing things down and allow access to log on crash.
debug_rx is a simple terminal to allow access to debug features (like the task listing above).
gl_event is an event loop using the idf lib.
adc_rec is using the continuous adc api of idf.
imu_rec is task notified by periodic esp_timer in interrupt context to do some i2c polling of accelerometer and gyro (using idf i2c).

Code: Select all

Guru Meditation Error: Core  0 panic'ed (Interrupt wdt timeout on CPU0). 

Core  0 register dump:
PC      : 0x4000bff0  PS      : 0x00060f35  A0      : 0x8008dcc7  A1      : 0x3ffbf420
A2      : 0x00000001  A3      : 0x00060f23  A4      : 0x00060f21  A5      : 0x00000000  
A6      : 0x3ffb5844  A7      : 0x00060123  A8      : 0x00000000  A9      : 0x3ffbf320
A10     : 0x00060123  A11     : 0x3ffb28f0  A12     : 0x00060123  A13     : 0x00060123
A14     : 0x00000000  A15     : 0x0000cdcd  SAR     : 0x0000001d  EXCCAUSE: 0x00000005  
EXCVADDR: 0x00000000  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0xffffffff
Core  0 was running in ISR context:
EPC1    : 0x400d39bf  EPC2    : 0x40092f02  EPC3    : 0x40083512  EPC4    : 0x40083512
0x400d39bf: uart_hal_write_txfifo at C:/Users/felix/esp5/esp-idf/components/hal/uart_hal_iram.c:35

0x40092f02: esp_cpu_wait_for_intr at C:/Users/felix/esp5/esp-idf/components/esp_hw_support/cpu.c:110

0x40083512: _xt_lowint1 at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_vectors.S:1118

0x40083512: _xt_lowint1 at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_vectors.S:1118



Backtrace: 0x4000bfed:0x3ffbf420 0x4008dcc4:0x3ffbf430 0x400834e9:0x3ffbf450 0x400843b1:0x3ffbc390 0x4010cc34:0x3ffbc3b0 0x400d3454:0x3ffbc3d0 0x40097069:0x3ffbc3f0
0x4008dcc4: vPortClearInterruptMaskFromISR at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/portmacro.h:566
 (inlined by) esp_pm_impl_isr_hook at C:/Users/felix/esp5/esp-idf/components/esp_pm/pm_impl.c:854

0x400834e9: _xt_lowint1 at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_vectors.S:1118

0x400843b1: queue_isr_handler at C:/Users/felix/esp5/esp-idf/components/bt/controller/esp32/hli_api.c:161

0x4010cc34: esp_pm_impl_waiti at C:/Users/felix/esp5/esp-idf/components/esp_pm/pm_impl.c:864

0x400d3454: esp_vApplicationIdleHook at C:/Users/felix/esp5/esp-idf/components/esp_system/freertos_hooks.c:57

0x40097069: prvIdleTask at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/tasks.c:4157



Core  1 register dump:
PC      : 0x40092f02  PS      : 0x00060835  A0      : 0x8010cc37  A1      : 0x3ffbcaf0
0x40092f02: esp_cpu_wait_for_intr at C:/Users/felix/esp5/esp-idf/components/esp_hw_support/cpu.c:110

A2      : 0x00000003  A3      : 0x00060823  A4      : 0x00060820  A5      : 0x3ffd176b
A6      : 0x00000003  A7      : 0x00060023  A8      : 0x3d9a590a  A9      : 0x3d9a590a
A10     : 0x3ffc3a10  A11     : 0x3ffbcaeb  A12     : 0x00060820  A13     : 0x00060823
A14     : 0x00000003  A15     : 0x0000abab  SAR     : 0x0000001d  EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000


Backtrace: 0x40092eff:0x3ffbcaf0 0x4010cc34:0x3ffbcb10 0x400d3454:0x3ffbcb30 0x40097069:0x3ffbcb50
0x40092eff: xt_utils_wait_for_intr at C:/Users/felix/esp5/esp-idf/components/xtensa/include/xt_utils.h:81
 (inlined by) esp_cpu_wait_for_intr at C:/Users/felix/esp5/esp-idf/components/esp_hw_support/cpu.c:101

0x4010cc34: esp_pm_impl_waiti at C:/Users/felix/esp5/esp-idf/components/esp_pm/pm_impl.c:864

0x400d3454: esp_vApplicationIdleHook at C:/Users/felix/esp5/esp-idf/components/esp_system/freertos_hooks.c:57

0x40097069: prvIdleTask at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/tasks.c:4157


felixcollins
Posts: 125
Joined: Fri May 24, 2019 2:02 am

Re: Help with Interrupt WDT Timeout Resets

Postby felixcollins » Wed Jul 19, 2023 11:52 pm

I'm running a custom board with WROOM32E.
Here is another stack trace.

Code: Select all

Guru Meditation Error: Core  0 panic'ed (Interrupt wdt timeout on CPU0). 

Core  0 register dump:
PC      : 0x4008353f  PS      : 0x00050535  A0      : 0x400843e4  A1      : 0x3ffbf450
0x4008353f: _xt_lowint1 at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_vectors.S:1118

0x400843e4: queue_isr_handler at C:/Users/felix/esp5/esp-idf/components/bt/controller/esp32/hli_api.c:161

A2      : 0x00000000  A3      : 0x00000018  A4      : 0x00000013  A5      : 0x3ffbf430
A6      : 0x00000000  A7      : 0x00050521  A8      : 0x00000000  A9      : 0x40095a7e
0x40095a7e: _frxt_int_enter at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/portasm.S:101

A10     : 0x00060e23  A11     : 0x00000000  A12     : 0x00000000  A13     : 0x3ffbf420
A14     : 0x00000003  A15     : 0x00060523  SAR     : 0x00000010  EXCCAUSE: 0x00000005
EXCVADDR: 0x00000000  LBEG    : 0x4000c2e0  LEND    : 0x4000c2f6  LCOUNT  : 0xffffffff
Core  0 was running in ISR context:
EPC1    : 0x400d39cb  EPC2    : 0x4000bff0  EPC3    : 0x4008d42c  EPC4    : 0x4008d42c
0x400d39cb: uart_hal_write_txfifo at C:/Users/felix/esp5/esp-idf/components/hal/uart_hal_iram.c:35

0x4008d42c: i2c_isr_handler_default at C:/Users/felix/esp5/esp-idf/components/driver/i2c.c:508

0x4008d42c: i2c_isr_handler_default at C:/Users/felix/esp5/esp-idf/components/driver/i2c.c:508



Backtrace: 0x4008353c:0x3ffbf450 0x400843e1:0x3ffdba60 0x40099b63:0x3ffdba70 0x400963d7:0x3ffdba90 0x40084c77:0x3ffdbad0 0x400e4615:0x3ffdbb10 0x400ebd91:0x3ffdbb30 0x400eea09:0x3ffdbb50 0x400eebd3:0x3ffdbb70 0x40105c06:0x3ffdbba0 0x400f469a:0x3ffdbbc0 0x4001791d:0x3ffdbbe0 0x400f4ffd:0x3ffdbc00 0x400f50da:0x3ffdbc40 0x400188f5:0x3ffdbc70 0x400f4919:0x3ffdbcb0 0x400fbee5:0x3ffdbcd0 0x4004651d:0x3ffdbcf0 0x401000a2:0x3ffdbd10 0x400fd1a2:0x3ffdbd60 0x40019d11:0x3ffdbda0 0x40055b4d:0x3ffdbdc0 0x400f2f8b:0x3ffdbde0 0x400f35c5:0x3ffdbe00
0x4008353c: _xt_lowint1 at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_vectors.S:1118

0x400843e1: queue_isr_handler at C:/Users/felix/esp5/esp-idf/components/bt/controller/esp32/hli_api.c:161

0x40099b63: vPortClearInterruptMaskFromISR at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/include/freertos/portmacro.h:566
 (inlined by) vPortExitCritical at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/port.c:342

0x400963d7: xQueueGenericSend at C:/Users/felix/esp5/esp-idf/components/freertos/FreeRTOS-Kernel/queue.c:953

0x40084c77: npl_freertos_eventq_put at C:/Users/felix/esp5/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/src/npl_os_freertos.c:316

0x400e4615: ble_npl_eventq_put at C:/Users/felix/esp5/esp-idf/components/bt/host/nimble/nimble/porting/npl/freertos/include/nimble/nimble_npl_os.h:173
 (inlined by) ble_hs_enqueue_hci_event at C:/Users/felix/esp5/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs.c:609

0x400ebd91: ble_hs_hci_rx_evt at C:/Users/felix/esp5/esp-idf/components/bt/host/nimble/nimble/nimble/host/src/ble_hs_hci.c:402

0x400eea09: ble_hci_trans_ll_evt_tx at C:/Users/felix/esp5/esp-idf/components/bt/host/nimble/esp-hci/src/esp_nimble_hci.c:101

0x400eebd3: host_rcv_pkt at C:/Users/felix/esp5/esp-idf/components/bt/host/nimble/esp-hci/src/esp_nimble_hci.c:378

0x40105c06: vhci_send at ??:?

0x400f469a: r_eif_send at ??:?

0x400f4ffd: hci_tx_start at hci_tl.c:?

0x400f50da: r_hci_tl_send at ??:?

0x400f4919: r_hci_send_2_host_hack at ??:?

0x400fbee5: r_llc_common_nb_of_pkt_comp_evt_send at ??:?

0x401000a2: r_lld_pdu_check at ??:?

0x400fd1a2: r_lld_evt_deffered_elt_handler at ??:?

0x400f2f8b: r_rw_schedule at ??:?

0x400f35c5: btdm_controller_task at ??:?


ESP_Sprite
Posts: 9739
Joined: Thu Nov 26, 2015 4:08 am

Re: Help with Interrupt WDT Timeout Resets

Postby ESP_Sprite » Thu Jul 20, 2023 2:37 am

Agree that it's a weird crash; it seems to occur somewhere early in the interrupt handler. I'm also scratching my head here. Possibly memory corruption of some spinlock, but I'd expect that to show up in the backtrace...

felixcollins
Posts: 125
Joined: Fri May 24, 2019 2:02 am

Re: Help with Interrupt WDT Timeout Resets

Postby felixcollins » Thu Jul 27, 2023 12:12 am

I managed to make it stop happening (notice I did not say I fixed it!) by shifting the interrupt handling and as much load as possible to core1. I suspect there is a bug in there somewhere in a timer, uart, or gpio isr.

Who is online

Users browsing this forum: Google [Bot] and 75 guests