collin80/esp32_can

Interrupt wdt timeout on CPU1 when trying to switch between UART and CAN

Opened this issue · 0 comments

Reproduction case:

// serial init
while(!Serial2) {}
Serial2.begin(250000, SERIAL_8N1, GPIO_NUM_16, GPIO_NUM_17);
Serial2.flush();
// serial end
Serial2.end();

// can init
CAN0.setCANPins(GPIO_NUM_16, GPIO_NUM_17);
CAN0.begin(500000);
CAN0.watchFor();
// can end
CAN0.disable();

// serial init again
while(!Serial2) {}
Serial2.begin(250000, SERIAL_8N1, GPIO_NUM_16, GPIO_NUM_17);
Guru Meditation Error: Core  1 panic'ed (Interrupt wdt timeout on CPU1). 

Core  1 register dump:
PC      : 0x400e19eb  PS      : 0x00050034  A0      : 0x40081a70  A1      : 0x3ffb0c40  
0x400e19eb: _uart_isr at /Users/brandonros/Desktop/foo/components/arduino-esp32/cores/esp32/esp32-hal-uart.c:120

0x40081a70: _xt_lowint1 at /Users/brandonros/Desktop/esp-idf-v4.3/components/freertos/port/xtensa/xtensa_vectors.S:1105

A2      : 0x00000002  A3      : 0x00000002  A4      : 0x00000000  A5      : 0x40088544  
0x40088544: _frxt_int_enter at /Users/brandonros/Desktop/esp-idf-v4.3/components/freertos/port/xtensa/portasm.S:119

A6      : 0x00000004  A7      : 0x3ffb59d4  A8      : 0x0000000a  A9      : 0x00000014  
A10     : 0x00000180  A11     : 0x00000000  A12     : 0x8008adbc  A13     : 0x3ffbadd0  
A14     : 0x3ffb30e4  A15     : 0x0000000c  SAR     : 0x00000017  EXCCAUSE: 0x00000006  
EXCVADDR: 0x00000000  LBEG    : 0x400029ac  LEND    : 0x400029cb  LCOUNT  : 0x00000000  
Core  1 was running in ISR context:
EPC1    : 0x400d19ab  EPC2    : 0x00000000  EPC3    : 0x00000000  EPC4    : 0x400e19eb
0x400d19ab: uart_hal_write_txfifo at /Users/brandonros/Desktop/esp-idf-v4.3/components/hal/uart_hal_iram.c:35

0x400e19eb: _uart_isr at /Users/brandonros/Desktop/foo/components/arduino-esp32/cores/esp32/esp32-hal-uart.c:120


Backtrace:0x400e19e8:0x3ffb0c40 0x40081a6d:0x3ffb0c70 0x4000bfed:0x3ffbae20 0x40088fd2:0x3ffbae30 0x400e5c87:0x3ffbae50 0x400e5ce9:0x3ffbae90 0x400e1974:0x3ffbaec0 0x400e19ad:0x3ffbaee0 0x400e1f99:0x3ffbaf00 0x400e8805:0x3ffbaf30 0x400e61ec:0x3ffbaf70 0x400e14c2:0x3ffbafa0 0x40088d71:0x3ffbafc0
0x400e19e8: _uart_isr at /Users/brandonros/Desktop/foo/components/arduino-esp32/cores/esp32/esp32-hal-uart.c:120

0x40081a6d: _xt_lowint1 at /Users/brandonros/Desktop/esp-idf-v4.3/components/freertos/port/xtensa/xtensa_vectors.S:1105

0x40088fd2: vPortExitCritical at /Users/brandonros/Desktop/esp-idf-v4.3/components/freertos/port/xtensa/port.c:472

0x400e5c87: esp_intr_alloc_intrstatus at /Users/brandonros/Desktop/esp-idf-v4.3/components/esp_system/intr_alloc.c:600

0x400e5ce9: esp_intr_alloc at /Users/brandonros/Desktop/esp-idf-v4.3/components/esp_system/intr_alloc.c:620

0x400e1974: uartEnableInterrupt at /Users/brandonros/Desktop/foo/components/arduino-esp32/cores/esp32/esp32-hal-uart.c:160 (discriminator 12)

0x400e19ad: uartAttachRx at /Users/brandonros/Desktop/foo/components/arduino-esp32/cores/esp32/esp32-hal-uart.c:200

0x400e1f99: uartBegin at /Users/brandonros/Desktop/foo/components/arduino-esp32/cores/esp32/esp32-hal-uart.c:275

0x400e8805: HardwareSerial::begin(unsigned long, unsigned int, signed char, signed char, bool, unsigned long, unsigned char) at /Users/brandonros/Desktop/foo/components/arduino-esp32/cores/esp32/HardwareSerial.cpp:84 (discriminator 4)

0x400e61ec: setup() at /Users/brandonros/Desktop/foo/main/main.cpp:946

0x400e14c2: loopTask(void*) at /Users/brandonros/Desktop/foo/components/arduino-esp32/cores/esp32/main.cpp:31

0x40088d71: vPortTaskWrapper at /Users/brandonros/Desktop/esp-idf-v4.3/components/freertos/port/xtensa/port.c:168

Core  0 register dump:
PC      : 0x400ed2ba  PS      : 0x00060434  A0      : 0x800e4f86  A1      : 0x3ffb73d0  
0x400ed2ba: esp_pm_impl_waiti at /Users/brandonros/Desktop/esp-idf-v4.3/components/esp_pm/pm_impl.c:827

A2      : 0x00000000  A3      : 0x00000001  A4      : 0x00000001  A5      : 0x80000001  
A6      : 0x3ff000e0  A7      : 0x00000001  A8      : 0x80086d70  A9      : 0x3ffb73b0  
A10     : 0x3ffb6a5c  A11     : 0x40001d48  A12     : 0x00060d20  A13     : 0x00060d23  
A14     : 0x00000001  A15     : 0x40082318  SAR     : 0x00000015  EXCCAUSE: 0x00000006  
0x40082318: spi_flash_op_block_func at /Users/brandonros/Desktop/esp-idf-v4.3/components/spi_flash/cache_utils.c:104

EXCVADDR: 0x00000000  LBEG    : 0x00000000  LEND    : 0x00000000  LCOUNT  : 0x00000000  

Backtrace:0x400ed2b7:0x3ffb73d0 0x400e4f83:0x3ffb73f0 0x40086f06:0x3ffb7410 0x40088d71:0x3ffb7430
0x400ed2b7: cpu_ll_waiti at /Users/brandonros/Desktop/esp-idf-v4.3/components/hal/esp32/include/hal/cpu_ll.h:183
 (inlined by) esp_pm_impl_waiti at /Users/brandonros/Desktop/esp-idf-v4.3/components/esp_pm/pm_impl.c:825

0x400e4f83: esp_vApplicationIdleHook at /Users/brandonros/Desktop/esp-idf-v4.3/components/esp_common/src/freertos_hooks.c:63

0x40086f06: prvIdleTask at /Users/brandonros/Desktop/esp-idf-v4.3/components/freertos/tasks.c:3835 (discriminator 1)

0x40088d71: vPortTaskWrapper at /Users/brandonros/Desktop/esp-idf-v4.3/components/freertos/port/xtensa/port.c:168



ELF file SHA256: db7bc8ffc5ba2872

Rebooting...