Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Watchdog triggering when starting OTA (IDFGH-9537) #10890

Open
3 tasks done
KaeLL opened this issue Mar 2, 2023 · 15 comments
Open
3 tasks done

Watchdog triggering when starting OTA (IDFGH-9537) #10890

KaeLL opened this issue Mar 2, 2023 · 15 comments
Assignees
Labels
Status: In Progress Work is in progress Type: Bug bugs in IDF

Comments

@KaeLL
Copy link
Contributor

KaeLL commented Mar 2, 2023

Answers checklist.

  • I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
  • I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
  • I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.

release/v4.4

Operating System used.

Linux

How did you build your project?

Command line with idf.py

If you are using Windows, please specify command line type.

None

Development Kit.

Custom Board

Power Supply used.

External 5V

What is the expected behavior?

Watchdog not trigger.

What is the actual behavior?

Watchdog triggers on IPC task after esp_ota_begin

Steps to reproduce.

defconfig
CONFIG_BOOTLOADER_LOG_LEVEL_WARN=y
CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
# CONFIG_ESPTOOLPY_FLASHSIZE_DETECT is not set
CONFIG_ESPTOOLPY_AFTER_NORESET=y
CONFIG_ESPTOOLPY_MONITOR_BAUD_CONSOLE=y
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_ota_encrypted.csv"
CONFIG_PARTITION_TABLE_OFFSET=0xC000
CONFIG_BT_ENABLED=y
CONFIG_BTDM_CTRL_BLE_MAX_CONN=1
# CONFIG_BTDM_CTRL_MODEM_SLEEP is not set
# CONFIG_BTDM_BLE_SCAN_DUPL is not set
# CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP is not set
# CONFIG_BT_BLE_SMP_ENABLE is not set
CONFIG_BT_STACK_NO_LOG=y
CONFIG_BT_ACL_CONNECTIONS=1
# CONFIG_BT_MULTI_CONNECTION_ENBALE is not set
CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY=y
CONFIG_BT_BLE_HOST_QUEUE_CONG_CHECK=y
CONFIG_SPI_MASTER_IN_IRAM=y
# CONFIG_SPI_SLAVE_ISR_IN_IRAM is not set
CONFIG_ESP32_REV_MIN_1=y
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
CONFIG_ESP32_ULP_COPROC_ENABLED=y
CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=128
# CONFIG_ESP32_DEBUG_OCDAWARE is not set
CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256=y
# CONFIG_ESP_ERR_TO_NAME_LOOKUP is not set
CONFIG_ETH_DMA_BUFFER_SIZE=256
CONFIG_ETH_DMA_RX_BUFFER_NUM=3
CONFIG_ETH_DMA_TX_BUFFER_NUM=3
# CONFIG_ETH_USE_SPI_ETHERNET is not set
# CONFIG_ESP_EVENT_POST_FROM_ISR is not set
CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH=y
# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set
CONFIG_HTTPD_MAX_REQ_HDR_LEN=2048
CONFIG_ESP_IPC_TASK_STACK_SIZE=2048
# CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE is not set
CONFIG_ESP_MAIN_TASK_STACK_SIZE=10240
CONFIG_ESP_CONSOLE_UART_CUSTOM=y
CONFIG_ESP_CONSOLE_UART_BAUDRATE=921600
CONFIG_ESP_INT_WDT_TIMEOUT_MS=30
CONFIG_ESP_TASK_WDT_PANIC=y
CONFIG_ESP_TASK_WDT_TIMEOUT_S=2
CONFIG_ESP_PANIC_HANDLER_IRAM=y
# CONFIG_ESP32_WIFI_NVS_ENABLED is not set
# CONFIG_ESP32_WIFI_IRAM_OPT is not set
# CONFIG_ESP32_WIFI_RX_IRAM_OPT is not set
CONFIG_ESP_COREDUMP_ENABLE_TO_UART=y
CONFIG_ESP_COREDUMP_CHECKSUM_SHA256=y
CONFIG_ESP_COREDUMP_MAX_TASKS_NUM=30
CONFIG_ESP_COREDUMP_STACK_SIZE=1024
CONFIG_FREERTOS_CORETIMER_1=y
CONFIG_FREERTOS_HZ=200
# CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION is not set
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_LOG_TIMESTAMP_SOURCE_SYSTEM=y
CONFIG_LWIP_TCPIP_TASK_AFFINITY_CPU0=y
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN=y
# CONFIG_MBEDTLS_HARDWARE_MPI is not set
CONFIG_MBEDTLS_TLS_CLIENT_ONLY=y
# CONFIG_MQTT_TRANSPORT_WEBSOCKET is not set
CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED=y
CONFIG_MQTT_TASK_CORE_SELECTION_ENABLED=y
CONFIG_NVS_ASSERT_ERROR_CHECK=y
CONFIG_EMAC_RECV_TASK_CORE=0

Debug Logs.

E (12000) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (12000) task_wdt:  - IDLE (CPU 0)
E (12000) task_wdt: Tasks currently running:
E (12000) task_wdt: CPU 0: ipc0
E (12000) task_wdt: CPU 1: IDLE
E (12000) task_wdt: Aborting.

abort() was called at PC 0x40135728 on core 0
0x40135728: task_wdt_isr at /esp-idf/components/esp_system/task_wdt.c:176 (discriminator 3)



Backtrace: 0x4008211a:0x3ffbeaa0 0x40093a21:0x3ffbeac0 0x4009cfaa:0x3ffbeae0 0x40135728:0x3ffbeb50 0x40083631:0x3ffbeb70 0x4000bfed:0x3ffb74a0 0x40099336:0x3ffb74b0 0x40082a6f:0x3ffb74d0 0x4008d45a:0x3ffb74f0 0x4008b54d:0x3ffb7510 0x40099082:0x3ffb7530
0x4008211a: panic_abort at /esp-idf/components/esp_system/panic.c:408

0x40093a21: esp_system_abort at /esp-idf/components/esp_system/esp_system.c:137

0x4009cfaa: abort at /esp-idf/components/newlib/abort.c:46

0x40135728: task_wdt_isr at /esp-idf/components/esp_system/task_wdt.c:176 (discriminator 3)

0x40083631: _xt_lowint1 at /esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1114

0x40099336: vPortClearInterruptMaskFromISR at /esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:571
 (inlined by) vPortExitCritical at /esp-idf/components/freertos/port/xtensa/port.c:332

0x40082a6f: vPortExitCriticalSafe at /esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:607
 (inlined by) esp_intr_noniram_enable at /esp-idf/components/esp_hw_support/intr_alloc.c:809

0x4008d45a: spi_flash_op_block_func at /esp-idf/components/spi_flash/cache_utils.c:130

0x4008b54d: ipc_task at /esp-idf/components/esp_ipc/src/esp_ipc.c:77

0x40099082: vPortTaskWrapper at /esp-idf/components/freertos/port/xtensa/port.c:142
@KaeLL KaeLL added the Type: Bug bugs in IDF label Mar 2, 2023
@espressif-bot espressif-bot added the Status: Opened Issue is new label Mar 2, 2023
@github-actions github-actions bot changed the title Watchdog triggering when starting OTA Watchdog triggering when starting OTA (IDFGH-9537) Mar 2, 2023
@kriegste
Copy link

kriegste commented Mar 2, 2023

What is your WiFi signal strength (rssi)? Does the problem go away with better signal quality?
We had occasional task WDT timeouts on bad signal quality. Not during OTA updates, but many other activities. Raising the timeout to 60 seconds is our workaround...

@KaeLL
Copy link
Contributor Author

KaeLL commented Mar 2, 2023

Interesting that you mentioned that because I'm doing bandwidth throttling tests, albeit on Ethernet. It doesn't look like it's directly network-related, though.
Among other tests, this one involves lowering the watchdog timeout to 2 or 3s in order to catch potentially problematic blocking code, and this one came up. Another one that pops up here and there is MbedTLS's MPI code.
It's not obviously clear to me whether these operations should indeed trigger a low timeout watchdog or if a workaround/circumvention is warranted.

@AxelLin
Copy link
Contributor

AxelLin commented Mar 18, 2023

We had occasional task WDT timeouts on bad signal quality. Not during OTA updates, but many other activities.

Could you post your debug log (backtrace) when the issue happened?

@kriegste
Copy link

This was in 4.4.2 or 4.4.3. Only when the rssi was really bad. Raising the task WDT timeout to 60 seconds "solved" the problem.

0x4008211e: panic_abort at /esp-idf/components/esp_system/panic.c:402
0x4008b129: esp_system_abort at /esp-idf/components/esp_system/esp_system.c:128
0x40094c5a: abort at /esp-idf/components/newlib/abort.c:46
0x400f74bc: task_wdt_isr at /esp-idf/components/esp_system/task_wdt.c:176 (discriminator 3)
0x40082f6d: _xt_lowint1 at /esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1111
0x40084a63: spi_device_polling_start at /esp-idf/components/driver/spi_master.c:930 (discriminator 5)
0x40084bbc: spi_device_polling_transmit at /esp-idf/components/driver/spi_master.c:1000
0x400e469c: panel_io_spi_tx_color at /esp-idf/components/esp_lcd/src/esp_lcd_panel_io_spi.c:315
0x400e458e: esp_lcd_panel_io_tx_color at /esp-idf/components/esp_lcd/src/esp_lcd_panel_io.c:29 (discriminator 2)
0x400e4dfd: panel_st7789_draw_bitmap at /esp-idf/components/esp_lcd/src/esp_lcd_panel_st7789.c:194
0x400e50ea: esp_lcd_panel_draw_bitmap at /esp-idf/components/esp_lcd/src/esp_lcd_panel_ops.c:34 (discriminator 2)
0x4008211e: panic_abort at /esp-idf/components/esp_system/panic.c:402
0x4008b129: esp_system_abort at /esp-idf/components/esp_system/esp_system.c:128
0x40094c5a: abort at /esp-idf/components/newlib/abort.c:46
0x400f74bc: task_wdt_isr at /esp-idf/components/esp_system/task_wdt.c:176 (discriminator 3)
0x40082f6d: _xt_lowint1 at /esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1111
0x4000bfed: ?? ??:0
0x4008ebe6: vPortClearInterruptMaskFromISR at /esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:571
 (inlined by) vPortExitCritical at /esp-idf/components/freertos/port/xtensa/port.c:319
0x4008af39: vRingbufferReturnItem at /esp-idf/components/esp_ringbuf/ringbuf.c:1296
0x400f2045: uart_read_bytes at /esp-idf/components/driver/uart.c:1328
0x4008211e: panic_abort at esp-idf/components/esp_system/panic.c:402
0x4008b129: esp_system_abort at esp-idf/components/esp_system/esp_system.c:128
0x40094c5a: abort at esp-idf/components/newlib/abort.c:46
0x400f74bc: task_wdt_isr at esp-idf/components/esp_system/task_wdt.c:176 (discriminator 3)
0x40082f6d: _xt_lowint1 at esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1111
0x4000bfed: ?? ??:0
0x4008ebe6: vPortClearInterruptMaskFromISR at esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:571
 (inlined by) vPortExitCritical at esp-idf/components/freertos/port/xtensa/port.c:319
0x4008c101: xQueueGenericSend at esp-idf/components/freertos/queue.c:946
0x40092fe9: sys_mutex_unlock at esp-idf/components/lwip/port/esp32/freertos/sys_arch.c:96
0x40092ebc: sock_inc_used_locked at esp-idf/components/lwip/lwip/src/api/sockets.c:391
 (inlined by) tryget_socket_unconn_locked at esp-idf/components/lwip/lwip/src/api/sockets.c:489
0x401693ad: lwip_select_inc_sockets_used_set at esp-idf/components/lwip/lwip/src/api/sockets.c:1977
0x40092907: lwip_select_inc_sockets_used_set at esp-idf/components/lwip/lwip/src/api/sockets.c:1970
 (inlined by) lwip_select_inc_sockets_used at esp-idf/components/lwip/lwip/src/api/sockets.c:1997
 (inlined by) lwip_select at esp-idf/components/lwip/lwip/src/api/sockets.c:2051
0x40107b55: select at esp-idf/components/lwip/port/esp32/no_vfs_syscalls.c:77
0x4010e4d4: httpd_server at esp-idf/components/esp_http_server/src/httpd_main.c:205
 (inlined by) httpd_thread at esp-idf/components/esp_http_server/src/httpd_main.c:250

@higaski
Copy link
Contributor

higaski commented Sep 19, 2023

What do you pass as image_size to esp_ota_begin? Deleting the entire partition up-front (e.g. by passing OTA_SIZE_UNKNOWN) can lead to quite some delays which might trigger the watchdog.

@hmalpani
Copy link
Contributor

Hello @KaeLL
Erasing the whole partition at once can be the cause of the watchdog getting triggered. There are two ways you can try to solve this issue:

  1. Setting bulk_flash_erase in esp_https_ota_config_t structure as false.
  2. Increasing the watchdog timeout before starting the OTA process, and the resetting timeout to its original value once the OTA process is complete.

Please let me know if these suggestions helps you solve the issue.
Thanks!

@espressif-bot espressif-bot added Status: In Progress Work is in progress and removed Status: Opened Issue is new labels Dec 18, 2023
@AxelLin
Copy link
Contributor

AxelLin commented Dec 18, 2023

@hmalpani
What's your comment about this issue: #6096

@AxelLin
Copy link
Contributor

AxelLin commented Dec 21, 2023

Hello @KaeLL Erasing the whole partition at once can be the cause of the watchdog getting triggered. There are two ways you can try to solve this issue:

  1. Setting bulk_flash_erase in esp_https_ota_config_t structure as false.

In my case, the bulk_flash_erase is false.
BTW, if you confirm bulk_flash_erase=true can cause this issue, this needs fix. (Why do you provide a config option that can cause watchdog timeout?)

  1. Increasing the watchdog timeout before starting the OTA process, and the resetting timeout to its original value once the OTA process is complete.

The purpose of watchdog timeout is to prevent any task occupies CPU for a long period which is likely to be a mis-behavior or bug.
But now you ask increasing the watchdog timeout rather than try to figure out
why the OTA process can cause watchdog timeout?
This seems does not make sense.

@KaeLL
Copy link
Contributor Author

KaeLL commented Jan 3, 2024

@AxelLin is right. Acting as if the flash and watchdog components are this unaware of each other doesn't really make sense. What's weird to me is that spi_flash already accounts for long erases by optionally yielding, but not writes. Forgive my ignorance, but why?

@igrr
Copy link
Member

igrr commented Jan 3, 2024

What's weird to me is that spi_flash already accounts for long erases by optionally yielding, but not writes. Forgive my ignorance, but why?

When this option (yield during an erase operations) was added, we have considered that the in the typical usage of spi_flash API, erase and programming operations are alternating, and since erase operations take much longer it is sufficient to yield only when erasing. We didn't consider usage such as when the OTA process performs a bulk erase and then the bulk write.

However it should be noted that during the OTA, TCP/IP and Wi-Fi tasks may also be active, and with sufficient network throughput it might not be sufficient to yield in the task calling spi_flash API only. (While spi_flash_write yields, other high priority tasks may run, and the idle task won't get a chance to run.)

In the end, it becomes a system level decision: if the whole system is busy enough that the idle task doesn't get a chance to run, is the idle task watchdog triggering still the expected behavior? I think it is probably a simpler option to assume such behavior than adding a "yield occasionally" type of setting to every component which may occupy a lot of CPU time.

However, we don't illustrate the way to deal with this problem anywhere in the examples or the docs, and it's definitely something to improve.

All that said, I don't think the original issue reported by @KaeLL is the "real" task watchdog timeout (idle task starvation) which could be treated by yielding:

E (12000) task_wdt: CPU 0: ipc0
E (12000) task_wdt: CPU 1: IDLE

looks like some race condition in spi_flash driver has caused us to get stuck in the ipc task forever. If this was a real watchdog timeout, one of the cores would be running the OTA task and the other one the IPC task.

(Some of the other backtraces posted in subsequent comments do point to the idle task being starved by network/flash operations, so that point is also valid. It's probably better to split the two types of failures into separate issues, though.)

@AxelLin
Copy link
Contributor

AxelLin commented Jan 4, 2024

All that said, I don't think the original issue reported by @KaeLL is the "real" task watchdog timeout (idle task starvation) which could be treated by yielding:

E (12000) task_wdt: CPU 0: ipc0
E (12000) task_wdt: CPU 1: IDLE

Similar issues:
#7335 (comment)
#4984 (comment)

@KaeLL
Copy link
Contributor Author

KaeLL commented Jan 5, 2024

we don't illustrate the way to deal with this problem anywhere in the examples or the docs and it's definitely something to improve

👍
Which way is that, btw?
Edit:

looks like some race condition in spi_flash driver has caused us to get stuck in the ipc task forever

Yey, my favorite type of bug

@KonstantinKondrashov
Copy link
Collaborator

Hi @KaeLL!
Could you try this fix and give feedback if it helps?
28515.zip
This fix helps in cases when an unpinned to a certain CPU task runs a flash operation and gets stuck due to the IPC task not call the callback function which the flash task is waiting for.

@KaeLL
Copy link
Contributor Author

KaeLL commented Jan 24, 2024

@KonstantinKondrashov I just tested with and without the patch, and I'm not sure about the results.
On one hand, I got the error again, with the same backtrace, both with and without the patch. On the other, considering igrr's description of what it would look like if this was a real watchdog timeout, it's different this time since the APP_CPU is running the LwIP task. With that said, it's worth remembering that the error goes away if I set the watchdog timeout to something greater than 2 seconds.

Here are the (filtered) logs with the patch
I (70) cpu_start: Pro cpu up.
D (70) efuse: In EFUSE_BLK0__DATA3_REG is used 3 bits starting with 9 bit
D (70) efuse: In EFUSE_BLK0__DATA3_REG is used 1 bits starting with 2 bit
I (71) cpu_start: Starting app cpu, entry point is 0x400814b0
0x400814b0: call_start_cpu1 at /esp-idf/components/esp_system/port/cpu_start.c:151

I (0) cpu_start: App cpu up.
D (163) clk: RTC_SLOW_CLK calibration value: 15855653
I (164) cpu_start: Pro cpu start user code
I (164) cpu_start: cpu freq: 240000000
I (164) cpu_start: Application information:
I (165) cpu_start: Project name:     project
I (165) cpu_start: App version:      1.1.0
I (166) cpu_start: Compile time:     Jan 24 2024 15:26:37
I (167) cpu_start: ELF file SHA256:  923b6f27645f703b...
I (167) cpu_start: ESP-IDF:          v4.4.6-374-gbb8dd9d35b-dirty
I (168) cpu_start: Min chip rev:     v1.0
I (169) cpu_start: Max chip rev:     v3.99 
I (169) cpu_start: Chip rev:         v1.0
D (170) memory_layout: Checking 12 reserved memory ranges:
D (171) memory_layout: Reserved memory range 0x3ff81ff0 - 0x3ff82000
D (172) memory_layout: Reserved memory range 0x3ffae000 - 0x3ffae6e0
I (37) cpu_start: Multicore app
I (37) cpu_start: Pro cpu up.
D (37) efuse: In EFUSE_BLK0__DATA3_REG is used 3 bits starting with 9 bit
D (37) efuse: In EFUSE_BLK0__DATA3_REG is used 1 bits starting with 2 bit
I (38) cpu_start: Starting app cpu, entry point is 0x400814b0
0x400814b0: call_start_cpu1 at /esp-idf/components/esp_system/port/cpu_start.c:151

I (0) cpu_start: App cpu up.
D (130) clk: RTC_SLOW_CLK calibration value: 15859100
I (131) cpu_start: Pro cpu start user code
I (131) cpu_start: cpu freq: 240000000
I (131) cpu_start: Application information:
I (132) cpu_start: Project name:     project
I (132) cpu_start: App version:      1.1.0
I (133) cpu_start: Compile time:     Jan 24 2024 15:26:37
I (134) cpu_start: ELF file SHA256:  923b6f27645f703b...
I (135) cpu_start: ESP-IDF:          v4.4.6-374-gbb8dd9d35b-dirty
I (135) cpu_start: Min chip rev:     v1.0
I (136) cpu_start: Max chip rev:     v3.99 
I (137) cpu_start: Chip rev:         v1.0
D (137) memory_layout: Checking 12 reserved memory ranges:
D (138) memory_layout: Reserved memory range 0x3ff81ff0 - 0x3ff82000
D (139) memory_layout: Reserved memory range 0x3ffae000 - 0x3ffae6e0
D (139) memory_layout: Reserved memory range 0x3ffae6e0 - 0x3ffaff10
D (140) memory_layout: Reserved memory range 0x3ffb0000 - 0x3ffb6388
D (141) memory_layout: Reserved memory range 0x3ffb8000 - 0x3ffb9a20
D (142) memory_layout: Reserved memory range 0x3ffbdb28 - 0x3ffbdb5c
D (143) memory_layout: Reserved memory range 0x3ffbdb60 - 0x3ffcb090
D (143) memory_layout: Reserved memory range 0x3ffe0000 - 0x3ffe0440
D (144) memory_layout: Reserved memory range 0x3ffe3f20 - 0x3ffe4350
D (145) memory_layout: Reserved memory range 0x40070000 - 0x40078000
D (146) memory_layout: Reserved memory range 0x40078000 - 0x40080000
0x40080000: _WindowOverflow4 at /esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1743

D (147) memory_layout: Reserved memory range 0x40080000 - 0x4009c6bc
0x40080000: _WindowOverflow4 at /esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1743

D (148) memory_layout: Building list of available memory regions:
D (148) memory_layout: Available memory region 0x3ffaff10 - 0x3ffb0000
D (149) memory_layout: Available memory region 0x3ffb6388 - 0x3ffb8000
D (150) memory_layout: Available memory region 0x3ffb9a20 - 0x3ffbdb28
D (151) memory_layout: Available memory region 0x3ffcb090 - 0x3ffcc000
D (152) memory_layout: Available memory region 0x3ffcc000 - 0x3ffce000
D (152) memory_layout: Available memory region 0x3ffce000 - 0x3ffd0000
D (153) memory_layout: Available memory region 0x3ffd0000 - 0x3ffd2000
D (154) memory_layout: Available memory region 0x3ffd2000 - 0x3ffd4000
D (155) memory_layout: Available memory region 0x3ffd4000 - 0x3ffd6000
D (156) memory_layout: Available memory region 0x3ffd6000 - 0x3ffd8000
D (157) memory_layout: Available memory region 0x3ffd8000 - 0x3ffda000
D (157) memory_layout: Available memory region 0x3ffda000 - 0x3ffdc000
D (158) memory_layout: Available memory region 0x3ffdc000 - 0x3ffde000
D (159) memory_layout: Available memory region 0x3ffde000 - 0x3ffe0000
D (160) memory_layout: Available memory region 0x3ffe0440 - 0x3ffe3f20
D (161) memory_layout: Available memory region 0x3ffe4350 - 0x3ffe8000
D (161) memory_layout: Available memory region 0x3ffe8000 - 0x3fff0000
D (162) memory_layout: Available memory region 0x3fff0000 - 0x3fff8000
D (163) memory_layout: Available memory region 0x3fff8000 - 0x3fffc000
D (164) memory_layout: Available memory region 0x3fffc000 - 0x40000000
D (165) memory_layout: Available memory region 0x4009c6bc - 0x4009e000
D (166) memory_layout: Available memory region 0x4009e000 - 0x400a0000
I (166) heap_init: Initializing. RAM available for dynamic allocation:
D (167) heap_init: New heap initialised at 0x3ffaff10
I (168) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
D (169) heap_init: New heap initialised at 0x3ffb6388
I (169) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM
D (170) heap_init: New heap initialised at 0x3ffb9a20
I (171) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM
D (172) heap_init: New heap initialised at 0x3ffcb090
I (172) heap_init: At 3FFCB090 len 00014F70 (83 KiB): DRAM
I (173) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (174) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
D (175) heap_init: New heap initialised at 0x4009c6bc
I (175) heap_init: At 4009C6BC len 00003944 (14 KiB): IRAM
D (176) FLASH_HAL: extra_dummy: 2
D (177) spi_flash: trying chip: issi
D (177) spi_flash: trying chip: gd
D (177) spi_flash: trying chip: mxic
D (178) spi_flash: trying chip: winbond
D (178) spi_flash: trying chip: generic
I (179) spi_flash: detected chip: generic
I (179) spi_flash: flash io: qio
D (180) chip_generic: set_io_mode: status before 0x200
D (180) cpu_start: calling init function: 0x401b3790
0x401b3790: _GLOBAL__sub_I___cxa_get_globals_fast at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gcc/libstdc++-v3/libsupc++/eh_globals.cc:145

D (181) cpu_start: calling init function: 0x401421e8
0x401421e8: s_set_default_wifi_log_level at /esp-idf/components/esp_wifi/src/wifi_init.c:65

D (182) cpu_start: calling init function: 0x4013b7f0
0x4013b7f0: esp_reset_reason_init at /esp-idf/components/esp_system/port/soc/esp32/reset_reason.c:68

D (182) cpu_start: calling init function: 0x4012c2e8
0x4012c2e8: esp_ipc_init at /esp-idf/components/esp_ipc/src/esp_ipc.c:106

D (183) cpu_start: calling init function: 0x400d2688
0x400d2688: esp_ota_init_app_elf_sha256 at /esp-idf/components/app_update/esp_app_desc.c:68

D (184) intr_alloc: Connected src 17 to int 2 (cpu 0)
I (184) esp_core_dump_uart: Init core dump to UART
D (185) intr_alloc: Connected src 24 to int 3 (cpu 0)
I (186) cpu_start: Starting scheduler on PRO CPU.
D (0) intr_alloc: Connected src 25 to int 2 (cpu 1)
I (0) cpu_start: Starting scheduler on APP CPU.
D (188) heap_init: New heap initialised at 0x3ffe0440
D (188) heap_init: New heap initialised at 0x3ffe4350
D (188) intr_alloc: Connected src 16 to int 9 (cpu 0)

E (14573) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (14573) task_wdt:  - IDLE0 (CPU 0)
E (14573) task_wdt: Tasks currently running:
E (14573) task_wdt: CPU 0: ipc0
E (14573) task_wdt: CPU 1: tiT
E (14573) task_wdt: Aborting.

abort() was called at PC 0x4013b4cc on core 0
0x4013b4cc: task_wdt_isr at /esp-idf/components/esp_system/task_wdt.c:176 (discriminator 3)



Backtrace: 0x40081e66:0x3ffbeaa0 0x400940f1:0x3ffbeac0 0x4009a8ca:0x3ffbeae0 0x4013b4cc:0x3ffbeb50 0x4008347d:0x3ffbeb70 0x4000bfed:0x3ffb72c0 0x40097bae:0x3ffb72d0 0x400828a3:0x3ffb72f0 0x4008d8d6:0x3ffb7310 0x4008b7c5:0x3ffb7330
0x40081e66: panic_abort at /esp-idf/components/esp_system/panic.c:408

0x400940f1: esp_system_abort at /esp-idf/components/esp_system/esp_system.c:137

0x4009a8ca: abort at /esp-idf/components/newlib/abort.c:46

0x4013b4cc: task_wdt_isr at /esp-idf/components/esp_system/task_wdt.c:176 (discriminator 3)

0x4008347d: _xt_lowint1 at /esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1118

0x40097bae: vPortClearInterruptMaskFromISR at /esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:571
 (inlined by) vPortExitCritical at /esp-idf/components/freertos/port/xtensa/port.c:332

0x400828a3: vPortExitCriticalSafe at /esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:607
 (inlined by) esp_intr_noniram_enable at /esp-idf/components/esp_hw_support/intr_alloc.c:809

0x4008d8d6: spi_flash_op_block_func at /esp-idf/components/spi_flash/cache_utils.c:127

0x4008b7c5: ipc_task at /esp-idf/components/esp_ipc/src/esp_ipc.c:62





ELF file SHA256: 923b6f27645f703b

Initiating core dump!
I (14578) esp_core_dump_uart: Press Enter to print core dump to UART...
I (14579) esp_core_dump_uart: Print core dump to uart...
I (14580) esp_core_dump_common: Backing up stack @ 0x3ffbe870 and use core dump stack @ 0x3ffc5a80
Core dump started (further output muted)
Received  26 kB...
Core dump finished!
espcoredump.py v0.4-dev
===============================================================
==================== ESP32 CORE DUMP START ====================

Crashed task handle: 0x3ffb73bc, name: 'ipc0', GDB name: 'process 1073443772'

================== CURRENT THREAD REGISTERS ===================
exccause       0x1d (StoreProhibitedCause)
excvaddr       0x0
epc1           0x4013ad8b
epc2           0x0
epc3           0x4008d8be
epc4           0x0
epc5           0x4008d8b5
epc6           0x0
eps2           0x0
eps3           0x60720
eps4           0x0
eps5           0x60120
eps6           0x0
pc             0x40081e69          0x40081e69 <panic_abort+21>
lbeg           0x4000c349          1073791817
lend           0x4000c36b          1073791851
lcount         0x0                 0
sar            0x10                16
ps             0x60021             393249
threadptr      <unavailable>
br             <unavailable>
scompare1      <unavailable>
acclo          <unavailable>
acchi          <unavailable>
m0             <unavailable>
m1             <unavailable>
m2             <unavailable>
m3             <unavailable>
expstate       <unavailable>
f64r_lo        <unavailable>
f64r_hi        <unavailable>
f64s           <unavailable>
fcr            <unavailable>
fsr            <unavailable>
a0             0x800940f4          -2146877196
a1             0x3ffbeaa0          1073474208
a2             0x3ffbeaeb          1073474283
a3             0x3ffbeb18          1073474328
a4             0xa                 10
a5             0x1000              4096
a6             0x3ffbea74          1073474164
a7             0x3ffc52b8          1073500856
a8             0x0                 0
a9             0x1                 1
a10            0x3ffbeae9          1073474281
a11            0x3ffbeae9          1073474281
a12            0x0                 0
a13            0x3ffb7310          1073443600
a14            0x0                 0
a15            0x4008d894          1074321556

==================== CURRENT THREAD STACK =====================
#0  0x40081e69 in panic_abort (details=0x3ffbeaeb \"abort() was called at PC 0x4013b4cc on core 0\") at /esp-idf/components/esp_system/panic.c:408
#1  0x400940f4 in esp_system_abort (details=0x3ffbeaeb \"abort() was called at PC 0x4013b4cc on core 0\") at /esp-idf/components/esp_system/esp_system.c:137
#2  0x4009a8cd in abort () at /esp-idf/components/newlib/abort.c:46
#3  0x4013b4cf in task_wdt_isr (arg=<optimized out>) at /esp-idf/components/esp_system/task_wdt.c:176
#4  0x40083480 in _xt_lowint1 () at /esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1118
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

======================== THREADS INFO =========================
  Id   Target Id          Frame 
* 1    process 1073443772 0x40081e69 in panic_abort (details=0x3ffbeaeb \"abort() was called at PC 0x4013b4cc on core 0\") at /esp-idf/components/esp_system/panic.c:408
  2    process 1073549036 xTaskGetTickCount () at /esp-idf/components/freertos/tasks.c:2748
  3    process 1073552292 0x4000bff0 in ?? ()
  4    process 1073606280 0x4000bff0 in ?? ()
  5    process 1073543916 xTaskDelayUntil (pxPreviousWakeTime=0x3ffcfa40, xTimeIncrement=<optimized out>) at /esp-idf/components/freertos/tasks.c:1557
  6    process 1073469544 0x401c8c32 in esp_pm_impl_waiti () at /esp-idf/components/esp_pm/pm_impl.c:850
  7    process 1073469892 0x401c8c32 in esp_pm_impl_waiti () at /esp-idf/components/esp_pm/pm_impl.c:850
  8    process 1073565868 0x4008eb40 in esp_crosscore_int_send_yield (core_id=1) at /esp-idf/components/esp_system/crosscore_int.c:145
  9    process 1073445924 0x4009536c in xQueueSemaphoreTake (xQueue=0x3ffb75c8, xTicksToWait=<optimized out>) at /esp-idf/components/hal/esp32/include/hal/cpu_ll.h:39
  10   process 1073536548 0x4000bff0 in ?? ()
  11   process 1073533736 0x4008eb40 in esp_crosscore_int_send_yield (core_id=0) at /esp-idf/components/esp_system/crosscore_int.c:145
  12   process 1073446272 0x4000bff0 in ?? ()

==================== THREAD 1 (TCB: 0x3ffb73bc, name: 'ipc0') =====================
#0  0x40081e69 in panic_abort (details=0x3ffbeaeb \"abort() was called at PC 0x4013b4cc on core 0\") at /esp-idf/components/esp_system/panic.c:408
#1  0x400940f4 in esp_system_abort (details=0x3ffbeaeb \"abort() was called at PC 0x4013b4cc on core 0\") at /esp-idf/components/esp_system/esp_system.c:137
#2  0x4009a8cd in abort () at /esp-idf/components/newlib/abort.c:46
#3  0x4013b4cf in task_wdt_isr (arg=<optimized out>) at /esp-idf/components/esp_system/task_wdt.c:176
#4  0x40083480 in _xt_lowint1 () at /esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1118
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

==================== THREAD 2 (TCB: 0x3ffd0eec, name: 'tiT') =====================
#0  xTaskGetTickCount () at /esp-idf/components/freertos/tasks.c:2748
#1  0x4008cb64 in spi_device_polling_end (handle=0x3ffd1e60, ticks_to_wait=4294967295) at /esp-idf/components/driver/spi_master.c:1001
#2  0x4008cbcc in spi_device_polling_transmit (handle=0x3ffd1e60, trans_desc=0x3ffd0ae0) at /esp-idf/components/driver/spi_master.c:1031
#3  0x40123d31 in w5100_write (addr=20114, data_tx=0x3ffbad36 <error: Cannot access memory at address 0x3ffbad36>, size=54) at /project/components/w5100/port/src/w5100_ll.c:91
#4  0x40124a11 in wiz_w_cont (addr=20114, buf=0x3ffbad36 <error: Cannot access memory at address 0x3ffbad36>, len=54) at /project/components/w5100/w5100_esp32/src/w5100_internal.c:35
#5  0x40124fcc in send_data_processing (data=0x3ffbad36 <error: Cannot access memory at address 0x3ffbad36>, len=54) at /project/components/w5100/w5100_esp32/src/w5100_socket.c:44
#6  0x4012507f in w5100_socket_send (buf=0x3ffbad36 <error: Cannot access memory at address 0x3ffbad36>, len=54) at /project/components/w5100/w5100_esp32/src/w5100_socket.c:112
#7  0x40124c8c in emac_w5100_transmit (mac=0x3ffd1344, buf=0x3ffbad36 <error: Cannot access memory at address 0x3ffbad36>, length=54) at /project/components/w5100/w5100_esp32/src/eth_mac.c:191
#8  0x4013cd31 in esp_eth_transmit (hdl=<optimized out>, buf=0x3ffbad36, length=54) at /esp-idf/components/esp_eth/src/esp_eth.c:334
#9  0x401c949a in esp_netif_transmit (esp_netif=0x3ffd115c, data=0x3ffbad36, len=54) at /esp-idf/components/esp_netif/lwip/esp_netif_lwip.c:965
#10 0x40158620 in ethernet_low_level_output (netif=<optimized out>, p=0x3ffbad08) at /esp-idf/components/lwip/port/esp32/netif/ethernetif.c:124
#11 0x40157e70 in ethernet_output (netif=0x3ffd11dc, p=0x3ffbad08, src=<optimized out>, dst=0x3ffc68b0 <arp_table+12>, eth_type=<optimized out>) at /esp-idf/components/lwip/lwip/src/netif/ethernet.c:312
#12 0x40151a6d in etharp_output_to_arp_index (netif=0x3ffd11dc, q=0x3ffbad08, arp_idx=<optimized out>) at /esp-idf/components/lwip/lwip/src/core/ipv4/etharp.c:785
#13 0x40151d6d in etharp_output (netif=0x3ffd11dc, q=0x3ffbad08, ipaddr=<optimized out>) at /esp-idf/components/lwip/lwip/src/core/ipv4/etharp.c:884
#14 0x40152ce4 in ip4_output_if_opt_src (p=0x3ffbad08, src=<optimized out>, dest=0x3ffd5c8c, ttl=255 '\\377', tos=0 '\\000', proto=<optimized out>, netif=netif@entry=0x3ffd11dc, ip_options=ip_options@entry=0x0, optlen=optlen@entry=0) at /esp-idf/components/lwip/lwip/src/core/ipv4/ip4.c:1108
#15 0x40152d38 in ip4_output_if_opt (p=0x3ffbad08, src=0x3ffd5c74, dest=0x3ffd5c8c, ttl=255 '\\377', tos=0 '\\000', proto=<optimized out>, netif=netif@entry=0x3ffd11dc, ip_options=ip_options@entry=0x0, optlen=optlen@entry=0) at /esp-idf/components/lwip/lwip/src/core/ipv4/ip4.c:909
#16 0x40152d60 in ip4_output_if (p=0x3ffbad08, src=0x3ffd5c74, dest=0x3ffd5c8c, ttl=255 '\\377', tos=0 '\\000', proto=6 '\\006', netif=netif@entry=0x3ffd11dc) at /esp-idf/components/lwip/lwip/src/core/ipv4/ip4.c:886
#17 0x4014d9cc in tcp_output_control_segment (pcb=<optimized out>, p=0x3ffbad08, src=0x3ffd5c74, dst=0x3ffd5c8c) at /esp-idf/components/lwip/lwip/src/core/tcp_out.c:1951
#18 0x4014e34c in tcp_send_empty_ack (pcb=0x3ffd5c74) at /esp-idf/components/lwip/lwip/src/core/tcp_out.c:2057
#19 0x4014e3c8 in tcp_output (pcb=0x3ffd5c74) at /esp-idf/components/lwip/lwip/src/core/tcp_out.c:1277
#20 0x4014abc8 in tcp_fasttmr () at /esp-idf/components/lwip/lwip/src/core/tcp.c:1501
#21 0x4014b142 in tcp_tmr () at /esp-idf/components/lwip/lwip/src/core/tcp.c:237
#22 0x4014ea6e in tcpip_tcp_timer (arg=0x0) at /esp-idf/components/lwip/lwip/src/core/timeouts.c:161
#23 0x4014eb30 in sys_check_timeouts () at /esp-idf/components/lwip/lwip/src/core/timeouts.c:411
#24 0x40145869 in tcpip_timeouts_mbox_fetch (mbox=0x3ffc6158 <tcpip_mbox>, msg=0x3ffd0e50) at /esp-idf/components/lwip/lwip/src/api/tcpip.c:115
#25 0x40145925 in tcpip_thread (arg=0x0) at /esp-idf/components/lwip/lwip/src/api/tcpip.c:148

==================== THREAD 3 (TCB: 0x3ffd1ba4, name: 'w5100_tsk') =====================
#0  0x4000bff0 in ?? ()
#1  0x40097bb1 in vPortClearInterruptMaskFromISR (prev_level=<optimized out>) at /esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:571
#2  vPortExitCritical (mux=<optimized out>) at /esp-idf/components/freertos/port/xtensa/port.c:332
#3  0x40094d32 in xQueueGenericSend (xQueue=0x3ffcfc48, pvItemToQueue=<optimized out>, xTicksToWait=<optimized out>, xCopyPosition=0) at /esp-idf/components/freertos/queue.c:946
#4  0x400d8c08 in ar_spi_unlock () at /project/components/spi/spi.c:27
#5  0x40123c82 in w5100_read (addr=<optimized out>, data_rx=0x3ffbadc8 <error: Cannot access memory at address 0x3ffbadc8>, size=342) at /project/components/w5100/port/src/w5100_ll.c:78
#6  0x40124a29 in wiz_r_cont (addr=28561, buf=0x3ffbadc8 <error: Cannot access memory at address 0x3ffbadc8>, len=342) at /project/components/w5100/w5100_esp32/src/w5100_internal.c:40
#7  0x40124f14 in read_data (src_addr=<optimized out>, dst=0x3ffbadc8 <error: Cannot access memory at address 0x3ffbadc8>, len=342) at /project/components/w5100/w5100_esp32/src/w5100_socket.c:63
#8  0x401250f7 in w5100_socket_recv (buf=0x3ffd1b00) at /project/components/w5100/w5100_esp32/src/w5100_socket.c:139
#9  0x40124c70 in emac_w5100_receive (mac=0x3ffd1344, buf=0x3ffd1b00 \"\310\255\\373?W\", length=0x3ffd1b04) at /project/components/w5100/w5100_esp32/src/eth_mac.c:199
#10 0x40124a9e in emac_w5100_task (arg=0x3ffd1344) at /project/components/w5100/w5100_esp32/src/eth_mac.c:115

==================== THREAD 4 (TCB: 0x3ffdee88, name: 'update_cb') =====================
#0  0x4000bff0 in ?? ()
#1  0x40097bb1 in vPortClearInterruptMaskFromISR (prev_level=<optimized out>) at /esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:571
#2  vPortExitCritical (mux=<optimized out>) at /esp-idf/components/freertos/port/xtensa/port.c:332
#3  0x40096d12 in xTaskResumeAll () at /esp-idf/components/freertos/tasks.c:2741
#4  0x4008d981 in spi_flash_enable_interrupts_caches_and_other_cpu () at /esp-idf/components/spi_flash/cache_utils.c:223
#5  0x4008e844 in cache_enable (arg=0x0) at /esp-idf/components/spi_flash/spi_flash_os_func_app.c:68
#6  0x4008e8e9 in spi1_end (arg=0x3ffc0c94 <main_flash_arg>) at /esp-idf/components/spi_flash/spi_flash_os_func_app.c:131
#7  0x40092324 in spiflash_end_default (chip=0x3ffc0c28 <default_chip>, err=0) at /esp-idf/components/spi_flash/esp_flash_api.c:154
#8  0x4008e54c in esp_flash_erase_region (chip=<optimized out>, start=1769472, len=1638400) at /esp-idf/components/spi_flash/esp_flash_api.c:651
#9  0x40135c22 in esp_partition_erase_range (partition=0x3ffcc288, offset=0, size=1638400) at /esp-idf/components/spi_flash/partition.c:540
#10 0x40134a76 in esp_ota_begin (partition=0x3ffcc288, image_size=4294967295, out_handle=0x3ffc7c98 <update_handle>) at /esp-idf/components/app_update/esp_ota_ops.c:149
#11 0x40122d60 in request_get_update_firmware (discrete_update=false) at /project/components/requests_ar/requests_ar.c:204
#12 0x400dc730 in update_cb (p=<optimized out>) at /project/components/mqtt_ar/mqtt_ar_cb.c:58

==================== THREAD 5 (TCB: 0x3ffcfaec, name: 'gpi_task') =====================
#0  xTaskDelayUntil (pxPreviousWakeTime=0x3ffcfa40, xTimeIncrement=<optimized out>) at /esp-idf/components/freertos/tasks.c:1557
#1  0x400d8a71 in gpi_ar_task (arg=0x3ffbf458 <gpi_ar_config>) at /project/components/gpi_ar/gpi_ar.c:63

==================== THREAD 6 (TCB: 0x3ffbd868, name: 'IDLE0') =====================
#0  0x401c8c32 in esp_pm_impl_waiti () at /esp-idf/components/esp_pm/pm_impl.c:850
#1  0x400d3549 in esp_vApplicationIdleHook () at /esp-idf/components/esp_system/freertos_hooks.c:63
#2  0x40095a44 in prvIdleTask (pvParameters=0x0) at /esp-idf/components/freertos/tasks.c:4099

==================== THREAD 7 (TCB: 0x3ffbd9c4, name: 'IDLE1') =====================
#0  0x401c8c32 in esp_pm_impl_waiti () at /esp-idf/components/esp_pm/pm_impl.c:850
#1  0x400d3549 in esp_vApplicationIdleHook () at /esp-idf/components/esp_system/freertos_hooks.c:63
#2  0x40095a44 in prvIdleTask (pvParameters=0x0) at /esp-idf/components/freertos/tasks.c:4099

==================== THREAD 8 (TCB: 0x3ffd50ac, name: 'mqtt_task') =====================
#0  0x4008eb40 in esp_crosscore_int_send_yield (core_id=1) at /esp-idf/components/esp_system/crosscore_int.c:145
#1  0x4009536c in xQueueSemaphoreTake (xQueue=0x3ffd5a0c, xTicksToWait=<optimized out>) at /esp-idf/components/hal/esp32/include/hal/cpu_ll.h:39
#2  0x401580f6 in sys_arch_sem_wait (sem=0x3ffd59fc, timeout=1000) at /esp-idf/components/lwip/port/esp32/freertos/sys_arch.c:188
#3  0x401453c5 in lwip_select (maxfdp1=55, readset=0x3ffd4fa8, writeset=0x0, exceptset=0x3ffd4fb0, timeout=0x3ffd4fa0) at /esp-idf/components/lwip/lwip/src/api/sockets.c:2153
#4  0x400d4ae2 in esp_vfs_select (nfds=55, readfds=0x3ffd4fa8, writefds=0x0, errorfds=0x3ffd4fb0, timeout=0x3ffd4fa0) at /esp-idf/components/vfs/vfs.c:1023
#5  0x401620ed in base_poll_read (t=0x3ffd2580, timeout_ms=1000) at /esp-idf/components/tcp_transport/transport_ssl.c:150
#6  0x401ca174 in esp_transport_poll_read (t=0x3ffd2580, timeout_ms=1000) at /esp-idf/components/tcp_transport/transport.c:156
#7  0x401286f5 in esp_mqtt_task (pv=0x3ffd239c) at /esp-idf/components/mqtt/esp-mqtt/mqtt_client.c:1564

==================== THREAD 9 (TCB: 0x3ffb7c24, name: 'ipc1') =====================
#0  0x4009536c in xQueueSemaphoreTake (xQueue=0x3ffb75c8, xTicksToWait=<optimized out>) at /esp-idf/components/hal/esp32/include/hal/cpu_ll.h:39
#1  0x4008b78c in ipc_task (arg=0x1) at /esp-idf/components/esp_ipc/src/esp_ipc.c:56

==================== THREAD 10 (TCB: 0x3ffcde24, name: 'relay_task') =====================
#0  0x4000bff0 in ?? ()
#1  0x40097bb1 in vPortClearInterruptMaskFromISR (prev_level=<optimized out>) at /esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:571
#2  vPortExitCritical (mux=<optimized out>) at /esp-idf/components/freertos/port/xtensa/port.c:332
#3  0x400970b1 in ulTaskGenericNotifyTake (uxIndexToWait=0, xClearCountOnExit=1, xTicksToWait=<optimized out>) at /esp-idf/components/freertos/tasks.c:5513
#4  0x401235e4 in relay_task (p=<optimized out>) at /project/components/ar_relay/ar_relay_main.c:30

==================== THREAD 11 (TCB: 0x3ffcd328, name: 'sys_evt') =====================
#0  0x4008eb40 in esp_crosscore_int_send_yield (core_id=0) at /esp-idf/components/esp_system/crosscore_int.c:145
#1  0x400951dd in xQueueReceive (xQueue=0x3ffcc5f4, pvBuffer=0x3ffcd260, xTicksToWait=<optimized out>) at /esp-idf/components/hal/esp32/include/hal/cpu_ll.h:39
#2  0x401403a4 in esp_event_loop_run (event_loop=0x3ffcc5d8, ticks_to_run=4294967295) at /esp-idf/components/esp_event/esp_event.c:566
#3  0x401403d7 in esp_event_loop_run_task (args=0x3ffcc5d8) at /esp-idf/components/esp_event/esp_event.c:115

==================== THREAD 12 (TCB: 0x3ffb7d80, name: 'esp_timer') =====================
#0  0x4000bff0 in ?? ()
#1  0x40097bb1 in vPortClearInterruptMaskFromISR (prev_level=<optimized out>) at /esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:571
#2  vPortExitCritical (mux=<optimized out>) at /esp-idf/components/freertos/port/xtensa/port.c:332
#3  0x400970b1 in ulTaskGenericNotifyTake (uxIndexToWait=0, xClearCountOnExit=1, xTicksToWait=<optimized out>) at /esp-idf/components/freertos/tasks.c:5513
#4  0x400d792f in timer_task (arg=0x0) at /esp-idf/components/esp_timer/src/esp_timer.c:420

===================== ESP32 CORE DUMP END =====================
===============================================================
Done!
Coredump checksum='b41da15f'
I (14882) esp_core_dump_common: Core dump used 672 bytes on stack. 436 bytes left free.
I (14883) esp_core_dump_common: Restoring stack @ 0x3ffbe870
I (14883) esp_core_dump_uart: Core dump has been written to uart.
CPU halted. 
Same, but without the patch
I (37) cpu_start: Multicore app
I (37) cpu_start: Pro cpu up.
D (37) efuse: In EFUSE_BLK0__DATA3_REG is used 3 bits starting with 9 bit
D (37) efuse: In EFUSE_BLK0__DATA3_REG is used 1 bits starting with 2 bit
I (38) cpu_start: Starting app cpu, entry point is 0x400814b4
0x400814b4: call_start_cpu1 at /esp-idf/components/esp_system/port/cpu_start.c:151

I (0) cpu_start: App cpu up.
D (130) clk: RTC_SLOW_CLK calibration value: 15856361
I (131) cpu_start: Pro cpu start user code
I (131) cpu_start: cpu freq: 240000000
I (131) cpu_start: Application information:
I (132) cpu_start: Project name:     project
I (132) cpu_start: App version:      1.1.0
I (133) cpu_start: Compile time:     Jan 24 2024 16:19:55
I (134) cpu_start: ELF file SHA256:  19b65a4d55356829...
I (135) cpu_start: ESP-IDF:          v4.4.6-374-gbb8dd9d35b-dirty
I (135) cpu_start: Min chip rev:     v1.0
I (136) cpu_start: Max chip rev:     v3.99 
I (137) cpu_start: Chip rev:         v1.0
D (137) memory_layout: Checking 12 reserved memory ranges:
D (138) memory_layout: Reserved memory range 0x3ff81ff0 - 0x3ff82000
D (139) memory_layout: Reserved memory range 0x3ffae000 - 0x3ffae6e0
D (139) memory_layout: Reserved memory range 0x3ffae6e0 - 0x3ffaff10
D (140) memory_layout: Reserved memory range 0x3ffb0000 - 0x3ffb6388
D (141) memory_layout: Reserved memory range 0x3ffb8000 - 0x3ffb9a20
D (142) memory_layout: Reserved memory range 0x3ffbdb28 - 0x3ffbdb5c
D (143) memory_layout: Reserved memory range 0x3ffbdb60 - 0x3ffcb078
D (143) memory_layout: Reserved memory range 0x3ffe0000 - 0x3ffe0440
D (144) memory_layout: Reserved memory range 0x3ffe3f20 - 0x3ffe4350
D (145) memory_layout: Reserved memory range 0x40070000 - 0x40078000
D (146) memory_layout: Reserved memory range 0x40078000 - 0x40080000
0x40080000: _WindowOverflow4 at /esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1743

D (147) memory_layout: Reserved memory range 0x40080000 - 0x4009c7cc
0x40080000: _WindowOverflow4 at /esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1743

D (147) memory_layout: Building list of available memory regions:
D (148) memory_layout: Available memory region 0x3ffaff10 - 0x3ffb0000
D (149) memory_layout: Available memory region 0x3ffb6388 - 0x3ffb8000
D (150) memory_layout: Available memory region 0x3ffb9a20 - 0x3ffbdb28
D (151) memory_layout: Available memory region 0x3ffcb078 - 0x3ffcc000
D (152) memory_layout: Available memory region 0x3ffcc000 - 0x3ffce000
D (152) memory_layout: Available memory region 0x3ffce000 - 0x3ffd0000
D (153) memory_layout: Available memory region 0x3ffd0000 - 0x3ffd2000
D (154) memory_layout: Available memory region 0x3ffd2000 - 0x3ffd4000
D (155) memory_layout: Available memory region 0x3ffd4000 - 0x3ffd6000
D (156) memory_layout: Available memory region 0x3ffd6000 - 0x3ffd8000
D (156) memory_layout: Available memory region 0x3ffd8000 - 0x3ffda000
D (157) memory_layout: Available memory region 0x3ffda000 - 0x3ffdc000
D (158) memory_layout: Available memory region 0x3ffdc000 - 0x3ffde000
D (159) memory_layout: Available memory region 0x3ffde000 - 0x3ffe0000
D (160) memory_layout: Available memory region 0x3ffe0440 - 0x3ffe3f20
D (161) memory_layout: Available memory region 0x3ffe4350 - 0x3ffe8000
D (161) memory_layout: Available memory region 0x3ffe8000 - 0x3fff0000
D (162) memory_layout: Available memory region 0x3fff0000 - 0x3fff8000
D (163) memory_layout: Available memory region 0x3fff8000 - 0x3fffc000
D (164) memory_layout: Available memory region 0x3fffc000 - 0x40000000
D (165) memory_layout: Available memory region 0x4009c7cc - 0x4009e000
D (166) memory_layout: Available memory region 0x4009e000 - 0x400a0000
I (166) heap_init: Initializing. RAM available for dynamic allocation:
D (167) heap_init: New heap initialised at 0x3ffaff10
I (168) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
D (169) heap_init: New heap initialised at 0x3ffb6388
I (169) heap_init: At 3FFB6388 len 00001C78 (7 KiB): DRAM
D (170) heap_init: New heap initialised at 0x3ffb9a20
I (171) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM
D (172) heap_init: New heap initialised at 0x3ffcb078
I (172) heap_init: At 3FFCB078 len 00014F88 (83 KiB): DRAM
I (173) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (174) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
D (175) heap_init: New heap initialised at 0x4009c7cc
I (175) heap_init: At 4009C7CC len 00003834 (14 KiB): IRAM
D (176) FLASH_HAL: extra_dummy: 2
D (177) spi_flash: trying chip: issi
D (177) spi_flash: trying chip: gd
D (177) spi_flash: trying chip: mxic
D (178) spi_flash: trying chip: winbond
D (178) spi_flash: trying chip: generic
I (179) spi_flash: detected chip: generic
I (179) spi_flash: flash io: qio
D (180) chip_generic: set_io_mode: status before 0x200
D (180) cpu_start: calling init function: 0x401b36c4
0x401b36c4: _GLOBAL__sub_I___cxa_get_globals_fast at /builds/idf/crosstool-NG/.build/xtensa-esp32-elf/src/gcc/libstdc++-v3/libsupc++/eh_globals.cc:145

D (181) cpu_start: calling init function: 0x4014211c
0x4014211c: s_set_default_wifi_log_level at /esp-idf/components/esp_wifi/src/wifi_init.c:65

D (182) cpu_start: calling init function: 0x4013b724
0x4013b724: esp_reset_reason_init at /esp-idf/components/esp_system/port/soc/esp32/reset_reason.c:68

D (182) cpu_start: calling init function: 0x4012c2d8
0x4012c2d8: esp_ipc_init at /esp-idf/components/esp_ipc/src/esp_ipc.c:105

D (183) cpu_start: calling init function: 0x400d2688
0x400d2688: esp_ota_init_app_elf_sha256 at /esp-idf/components/app_update/esp_app_desc.c:68

D (184) intr_alloc: Connected src 17 to int 2 (cpu 0)
I (184) esp_core_dump_uart: Init core dump to UART
D (185) intr_alloc: Connected src 24 to int 3 (cpu 0)
I (186) cpu_start: Starting scheduler on PRO CPU.
D (0) intr_alloc: Connected src 25 to int 2 (cpu 1)
I (0) cpu_start: Starting scheduler on APP CPU.
D (188) heap_init: New heap initialised at 0x3ffe0440
D (188) heap_init: New heap initialised at 0x3ffe4350
D (188) intr_alloc: Connected src 16 to int 9 (cpu 0)

E (14668) task_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:
E (14668) task_wdt:  - IDLE0 (CPU 0)
E (14668) task_wdt: Tasks currently running:
E (14668) task_wdt: CPU 0: ipc0
E (14668) task_wdt: CPU 1: tiT
E (14668) task_wdt: Aborting.

abort() was called at PC 0x4013b400 on core 0
0x4013b400: task_wdt_isr at /esp-idf/components/esp_system/task_wdt.c:176 (discriminator 3)



Backtrace: 0x40081e6a:0x3ffbeaa0 0x400940b5:0x3ffbeac0 0x4009a9da:0x3ffbeae0 0x4013b400:0x3ffbeb50 0x40083481:0x3ffbeb70 0x4000bfed:0x3ffb72c0 0x40097cbe:0x3ffb72d0 0x400828a7:0x3ffb72f0 0x4008d89a:0x3ffb7310 0x4008b7e1:0x3ffb7330
0x40081e6a: panic_abort at /esp-idf/components/esp_system/panic.c:408

0x400940b5: esp_system_abort at /esp-idf/components/esp_system/esp_system.c:137

0x4009a9da: abort at /esp-idf/components/newlib/abort.c:46

0x4013b400: task_wdt_isr at /esp-idf/components/esp_system/task_wdt.c:176 (discriminator 3)

0x40083481: _xt_lowint1 at /esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1118

0x40097cbe: vPortClearInterruptMaskFromISR at /esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:571
 (inlined by) vPortExitCritical at /esp-idf/components/freertos/port/xtensa/port.c:332

0x400828a7: vPortExitCriticalSafe at /esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:607
 (inlined by) esp_intr_noniram_enable at /esp-idf/components/esp_hw_support/intr_alloc.c:809

0x4008d89a: spi_flash_op_block_func at /esp-idf/components/spi_flash/cache_utils.c:127

0x4008b7e1: ipc_task at /esp-idf/components/esp_ipc/src/esp_ipc.c:77





ELF file SHA256: 19b65a4d55356829

Initiating core dump!
I (14675) esp_core_dump_uart: Press Enter to print core dump to UART...
I (14676) esp_core_dump_uart: Print core dump to uart...
I (14676) esp_core_dump_common: Backing up stack @ 0x3ffbe870 and use core dump stack @ 0x3ffc5a70
Core dump started (further output muted)
Received  26 kB...
Core dump finished!
espcoredump.py v0.4-dev
===============================================================
==================== ESP32 CORE DUMP START ====================

Crashed task handle: 0x3ffb73bc, name: 'ipc0', GDB name: 'process 1073443772'

================== CURRENT THREAD REGISTERS ===================
exccause       0x1d (StoreProhibitedCause)
excvaddr       0x0
epc1           0x4013acbf
epc2           0x0
epc3           0x4008d879
epc4           0x0
epc5           0x4008d879
epc6           0x0
eps2           0x0
eps3           0x60120
eps4           0x0
eps5           0x60920
eps6           0x0
pc             0x40081e6d          0x40081e6d <panic_abort+21>
lbeg           0x4000c349          1073791817
lend           0x4000c36b          1073791851
lcount         0x0                 0
sar            0x10                16
ps             0x60021             393249
threadptr      <unavailable>
br             <unavailable>
scompare1      <unavailable>
acclo          <unavailable>
acchi          <unavailable>
m0             <unavailable>
m1             <unavailable>
m2             <unavailable>
m3             <unavailable>
expstate       <unavailable>
f64r_lo        <unavailable>
f64r_hi        <unavailable>
f64s           <unavailable>
fcr            <unavailable>
fsr            <unavailable>
a0             0x800940b8          -2146877256
a1             0x3ffbeaa0          1073474208
a2             0x3ffbeaeb          1073474283
a3             0x3ffbeb18          1073474328
a4             0xa                 10
a5             0x1000              4096
a6             0x3ffbea74          1073474164
a7             0x4008d858          1074321496
a8             0x0                 0
a9             0x1                 1
a10            0x3ffbeae9          1073474281
a11            0x3ffbeae9          1073474281
a12            0x0                 0
a13            0x3ffb7310          1073443600
a14            0x0                 0
a15            0x1                 1

==================== CURRENT THREAD STACK =====================
#0  0x40081e6d in panic_abort (details=0x3ffbeaeb \"abort() was called at PC 0x4013b400 on core 0\") at /esp-idf/components/esp_system/panic.c:408
#1  0x400940b8 in esp_system_abort (details=0x3ffbeaeb \"abort() was called at PC 0x4013b400 on core 0\") at /esp-idf/components/esp_system/esp_system.c:137
#2  0x4009a9dd in abort () at /esp-idf/components/newlib/abort.c:46
#3  0x4013b403 in task_wdt_isr (arg=<optimized out>) at /esp-idf/components/esp_system/task_wdt.c:176
#4  0x40083484 in _xt_lowint1 () at /esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1118
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

======================== THREADS INFO =========================
  Id   Target Id          Frame 
* 1    process 1073443772 0x40081e6d in panic_abort (details=0x3ffbeaeb \"abort() was called at PC 0x4013b400 on core 0\") at /esp-idf/components/esp_system/panic.c:408
  2    process 1073549012 xTaskGetTickCount () at /esp-idf/components/freertos/tasks.c:2748
  3    process 1073552268 0x4000bff0 in ?? ()
  4    process 1073592300 0x4000bff0 in ?? ()
  5    process 1073543892 0x4008eb04 in esp_crosscore_int_send_yield (core_id=1) at /esp-idf/components/esp_system/crosscore_int.c:145
  6    process 1073565844 0x4008eb04 in esp_crosscore_int_send_yield (core_id=1) at /esp-idf/components/esp_system/crosscore_int.c:145
  7    process 1073469544 0x401c8b66 in esp_pm_impl_waiti () at /esp-idf/components/esp_pm/pm_impl.c:850
  8    process 1073469892 0x401c8b66 in esp_pm_impl_waiti () at /esp-idf/components/esp_pm/pm_impl.c:850
  9    process 1073445924 0x40095330 in xQueueSemaphoreTake (xQueue=0x3ffb75c8, xTicksToWait=<optimized out>) at /esp-idf/components/hal/esp32/include/hal/cpu_ll.h:39
  10   process 1073536524 0x4000bff0 in ?? ()
  11   process 1073533712 0x4008eb04 in esp_crosscore_int_send_yield (core_id=0) at /esp-idf/components/esp_system/crosscore_int.c:145
  12   process 1073446272 0x4000bff0 in ?? ()

==================== THREAD 1 (TCB: 0x3ffb73bc, name: 'ipc0') =====================
#0  0x40081e6d in panic_abort (details=0x3ffbeaeb \"abort() was called at PC 0x4013b400 on core 0\") at /esp-idf/components/esp_system/panic.c:408
#1  0x400940b8 in esp_system_abort (details=0x3ffbeaeb \"abort() was called at PC 0x4013b400 on core 0\") at /esp-idf/components/esp_system/esp_system.c:137
#2  0x4009a9dd in abort () at /esp-idf/components/newlib/abort.c:46
#3  0x4013b403 in task_wdt_isr (arg=<optimized out>) at /esp-idf/components/esp_system/task_wdt.c:176
#4  0x40083484 in _xt_lowint1 () at /esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1118
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

==================== THREAD 2 (TCB: 0x3ffd0ed4, name: 'tiT') =====================
#0  xTaskGetTickCount () at /esp-idf/components/freertos/tasks.c:2748
#1  0x4008cb18 in spi_device_polling_end (handle=0x3ffd1e48, ticks_to_wait=4294967295) at /esp-idf/components/driver/spi_master.c:1001
#2  0x4008cb80 in spi_device_polling_transmit (handle=0x3ffd1e48, trans_desc=0x3ffd0ab0) at /esp-idf/components/driver/spi_master.c:1031
#3  0x40123d21 in w5100_write (addr=19940, data_tx=0x3ffce99e <error: Cannot access memory at address 0x3ffce99e>, size=87) at /project/components/w5100/port/src/w5100_ll.c:91
#4  0x40124a01 in wiz_w_cont (addr=19940, buf=0x3ffce99e <error: Cannot access memory at address 0x3ffce99e>, len=87) at /project/components/w5100/w5100_esp32/src/w5100_internal.c:35
#5  0x40124fbc in send_data_processing (data=0x3ffce99e <error: Cannot access memory at address 0x3ffce99e>, len=87) at /project/components/w5100/w5100_esp32/src/w5100_socket.c:44
#6  0x4012506f in w5100_socket_send (buf=0x3ffce99e <error: Cannot access memory at address 0x3ffce99e>, len=87) at /project/components/w5100/w5100_esp32/src/w5100_socket.c:112
#7  0x40124c7c in emac_w5100_transmit (mac=0x3ffd132c, buf=0x3ffce99e <error: Cannot access memory at address 0x3ffce99e>, length=87) at /project/components/w5100/w5100_esp32/src/eth_mac.c:191
#8  0x4013cc65 in esp_eth_transmit (hdl=<optimized out>, buf=0x3ffce99e, length=87) at /esp-idf/components/esp_eth/src/esp_eth.c:334
#9  0x401c93ce in esp_netif_transmit (esp_netif=0x3ffd1144, data=0x3ffce99e, len=87) at /esp-idf/components/esp_netif/lwip/esp_netif_lwip.c:965
#10 0x40158554 in ethernet_low_level_output (netif=<optimized out>, p=0x3ffce970) at /esp-idf/components/lwip/port/esp32/netif/ethernetif.c:124
#11 0x40157da4 in ethernet_output (netif=0x3ffd11c4, p=0x3ffce970, src=<optimized out>, dst=0x3ffc6898 <arp_table+12>, eth_type=<optimized out>) at /esp-idf/components/lwip/lwip/src/netif/ethernet.c:312
#12 0x401519a1 in etharp_output_to_arp_index (netif=0x3ffd11c4, q=0x3ffce970, arp_idx=<optimized out>) at /esp-idf/components/lwip/lwip/src/core/ipv4/etharp.c:785
#13 0x40151ca1 in etharp_output (netif=0x3ffd11c4, q=0x3ffce970, ipaddr=<optimized out>) at /esp-idf/components/lwip/lwip/src/core/ipv4/etharp.c:884
#14 0x40152c18 in ip4_output_if_opt_src (p=0x3ffce970, src=<optimized out>, dest=0x3ffd5c74, ttl=255 '\\377', tos=0 '\\000', proto=<optimized out>, netif=netif@entry=0x3ffd11c4, ip_options=ip_options@entry=0x0, optlen=optlen@entry=0) at /esp-idf/components/lwip/lwip/src/core/ipv4/ip4.c:1108
#15 0x40152c6c in ip4_output_if_opt (p=0x3ffce970, src=0x3ffd5c5c, dest=0x3ffd5c74, ttl=255 '\\377', tos=0 '\\000', proto=<optimized out>, netif=netif@entry=0x3ffd11c4, ip_options=ip_options@entry=0x0, optlen=optlen@entry=0) at /esp-idf/components/lwip/lwip/src/core/ipv4/ip4.c:909
#16 0x40152c94 in ip4_output_if (p=0x3ffce970, src=0x3ffd5c5c, dest=0x3ffd5c74, ttl=255 '\\377', tos=0 '\\000', proto=6 '\\006', netif=netif@entry=0x3ffd11c4) at /esp-idf/components/lwip/lwip/src/core/ipv4/ip4.c:886
#17 0x4014d875 in tcp_output_segment (seg=0x3ffdde58, pcb=0x3ffd5c5c, netif=0x3ffd11c4) at /esp-idf/components/lwip/lwip/src/core/tcp_out.c:1607
#18 0x4014e4c4 in tcp_output (pcb=0x3ffd5c5c) at /esp-idf/components/lwip/lwip/src/core/tcp_out.c:1360
#19 0x4014e6e3 in tcp_rexmit_rto_commit (pcb=0x3ffd5c5c) at /esp-idf/components/lwip/lwip/src/core/tcp_out.c:1695
#20 0x4014adaa in tcp_slowtmr () at /esp-idf/components/lwip/lwip/src/core/tcp.c:1314
#21 0x4014b08a in tcp_tmr () at /esp-idf/components/lwip/lwip/src/core/tcp.c:242
#22 0x4014e9a2 in tcpip_tcp_timer (arg=0x0) at /esp-idf/components/lwip/lwip/src/core/timeouts.c:161
#23 0x4014ea64 in sys_check_timeouts () at /esp-idf/components/lwip/lwip/src/core/timeouts.c:411
#24 0x4014579d in tcpip_timeouts_mbox_fetch (mbox=0x3ffc6140 <tcpip_mbox>, msg=0x3ffd0e30) at /esp-idf/components/lwip/lwip/src/api/tcpip.c:115
#25 0x40145859 in tcpip_thread (arg=0x0) at /esp-idf/components/lwip/lwip/src/api/tcpip.c:148

==================== THREAD 3 (TCB: 0x3ffd1b8c, name: 'w5100_tsk') =====================
#0  0x4000bff0 in ?? ()
#1  0x40097cc1 in vPortClearInterruptMaskFromISR (prev_level=<optimized out>) at /esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:571
#2  vPortExitCritical (mux=<optimized out>) at /esp-idf/components/freertos/port/xtensa/port.c:332
#3  0x40094cf6 in xQueueGenericSend (xQueue=0x3ffcfc30, pvItemToQueue=<optimized out>, xTicksToWait=<optimized out>, xCopyPosition=0) at /esp-idf/components/freertos/queue.c:946
#4  0x400d8c08 in ar_spi_unlock () at /project/components/spi/spi.c:27
#5  0x40123c72 in w5100_read (addr=<optimized out>, data_rx=0x3ffbaea0 <error: Cannot access memory at address 0x3ffbaea0>, size=34) at /project/components/w5100/port/src/w5100_ll.c:78
#6  0x40124a19 in wiz_r_cont (addr=24576, buf=0x3ffbaea0 <error: Cannot access memory at address 0x3ffbaea0>, len=34) at /project/components/w5100/w5100_esp32/src/w5100_internal.c:40
#7  0x40124f2c in read_data (src_addr=<optimized out>, dst=0x3ffbad6c <error: Cannot access memory at address 0x3ffbad6c>, len=342) at /project/components/w5100/w5100_esp32/src/w5100_socket.c:71
#8  0x401250e7 in w5100_socket_recv (buf=0x3ffd1af0) at /project/components/w5100/w5100_esp32/src/w5100_socket.c:139
#9  0x40124c60 in emac_w5100_receive (mac=0x3ffd132c, buf=0x3ffd1af0 \"l\\255\\373?W\", length=0x3ffd1af4) at /project/components/w5100/w5100_esp32/src/eth_mac.c:199
#10 0x40124a8e in emac_w5100_task (arg=0x3ffd132c) at /project/components/w5100/w5100_esp32/src/eth_mac.c:115

==================== THREAD 4 (TCB: 0x3ffdb7ec, name: 'update_cb') =====================
#0  0x4000bff0 in ?? ()
#1  0x40097cc1 in vPortClearInterruptMaskFromISR (prev_level=<optimized out>) at /esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:571
#2  vPortExitCritical (mux=<optimized out>) at /esp-idf/components/freertos/port/xtensa/port.c:332
#3  0x40096cd6 in xTaskResumeAll () at /esp-idf/components/freertos/tasks.c:2741
#4  0x4008d945 in spi_flash_enable_interrupts_caches_and_other_cpu () at /esp-idf/components/spi_flash/cache_utils.c:217
#5  0x4008e808 in cache_enable (arg=0x0) at /esp-idf/components/spi_flash/spi_flash_os_func_app.c:68
#6  0x4008e8ad in spi1_end (arg=0x3ffc0c94 <main_flash_arg>) at /esp-idf/components/spi_flash/spi_flash_os_func_app.c:131
#7  0x400922e8 in spiflash_end_default (chip=0x3ffc0c28 <default_chip>, err=0) at /esp-idf/components/spi_flash/esp_flash_api.c:154
#8  0x4008e510 in esp_flash_erase_region (chip=<optimized out>, start=1769472, len=1638400) at /esp-idf/components/spi_flash/esp_flash_api.c:651
#9  0x40135b56 in esp_partition_erase_range (partition=0x3ffcc270, offset=0, size=1638400) at /esp-idf/components/spi_flash/partition.c:540
#10 0x401349aa in esp_ota_begin (partition=0x3ffcc270, image_size=4294967295, out_handle=0x3ffc7c80 <update_handle>) at /esp-idf/components/app_update/esp_ota_ops.c:149
#11 0x40122d50 in request_get_update_firmware (discrete_update=false) at /project/components/requests_ar/requests_ar.c:204
#12 0x400dc730 in update_cb (p=<optimized out>) at /project/components/mqtt_ar/mqtt_ar_cb.c:58

==================== THREAD 5 (TCB: 0x3ffcfad4, name: 'gpi_task') =====================
#0  0x4008eb04 in esp_crosscore_int_send_yield (core_id=1) at /esp-idf/components/esp_system/crosscore_int.c:145
#1  0x40096a88 in xTaskDelayUntil (pxPreviousWakeTime=0x3ffcfa20, xTimeIncrement=<optimized out>) at /esp-idf/components/hal/esp32/include/hal/cpu_ll.h:39
#2  0x400d8a71 in gpi_ar_task (arg=0x3ffbf458 <gpi_ar_config>) at /project/components/gpi_ar/gpi_ar.c:63

==================== THREAD 6 (TCB: 0x3ffd5094, name: 'mqtt_task') =====================
#0  0x4008eb04 in esp_crosscore_int_send_yield (core_id=1) at /esp-idf/components/esp_system/crosscore_int.c:145
#1  0x40095330 in xQueueSemaphoreTake (xQueue=0x3ffd59f4, xTicksToWait=<optimized out>) at /esp-idf/components/hal/esp32/include/hal/cpu_ll.h:39
#2  0x4015802a in sys_arch_sem_wait (sem=0x3ffd59e4, timeout=1000) at /esp-idf/components/lwip/port/esp32/freertos/sys_arch.c:188
#3  0x401452f9 in lwip_select (maxfdp1=55, readset=0x3ffd4f88, writeset=0x0, exceptset=0x3ffd4f90, timeout=0x3ffd4f80) at /esp-idf/components/lwip/lwip/src/api/sockets.c:2153
#4  0x400d4ae2 in esp_vfs_select (nfds=55, readfds=0x3ffd4f88, writefds=0x0, errorfds=0x3ffd4f90, timeout=0x3ffd4f80) at /esp-idf/components/vfs/vfs.c:1023
#5  0x40162021 in base_poll_read (t=0x3ffd2568, timeout_ms=1000) at /esp-idf/components/tcp_transport/transport_ssl.c:150
#6  0x401ca0a8 in esp_transport_poll_read (t=0x3ffd2568, timeout_ms=1000) at /esp-idf/components/tcp_transport/transport.c:156
#7  0x401286e5 in esp_mqtt_task (pv=0x3ffd2384) at /esp-idf/components/mqtt/esp-mqtt/mqtt_client.c:1564

==================== THREAD 7 (TCB: 0x3ffbd868, name: 'IDLE0') =====================
#0  0x401c8b66 in esp_pm_impl_waiti () at /esp-idf/components/esp_pm/pm_impl.c:850
#1  0x400d3549 in esp_vApplicationIdleHook () at /esp-idf/components/esp_system/freertos_hooks.c:63
#2  0x40095a08 in prvIdleTask (pvParameters=0x0) at /esp-idf/components/freertos/tasks.c:4099

==================== THREAD 8 (TCB: 0x3ffbd9c4, name: 'IDLE1') =====================
#0  0x401c8b66 in esp_pm_impl_waiti () at /esp-idf/components/esp_pm/pm_impl.c:850
#1  0x400d3549 in esp_vApplicationIdleHook () at /esp-idf/components/esp_system/freertos_hooks.c:63
#2  0x40095a08 in prvIdleTask (pvParameters=0x0) at /esp-idf/components/freertos/tasks.c:4099

==================== THREAD 9 (TCB: 0x3ffb7c24, name: 'ipc1') =====================
#0  0x40095330 in xQueueSemaphoreTake (xQueue=0x3ffb75c8, xTicksToWait=<optimized out>) at /esp-idf/components/hal/esp32/include/hal/cpu_ll.h:39
#1  0x4008b78e in ipc_task (arg=0x1) at /esp-idf/components/esp_ipc/src/esp_ipc.c:54

==================== THREAD 10 (TCB: 0x3ffcde0c, name: 'relay_task') =====================
#0  0x4000bff0 in ?? ()
#1  0x40097cc1 in vPortClearInterruptMaskFromISR (prev_level=<optimized out>) at /esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:571
#2  vPortExitCritical (mux=<optimized out>) at /esp-idf/components/freertos/port/xtensa/port.c:332
#3  0x40097075 in ulTaskGenericNotifyTake (uxIndexToWait=0, xClearCountOnExit=1, xTicksToWait=<optimized out>) at /esp-idf/components/freertos/tasks.c:5513
#4  0x401235d4 in relay_task (p=<optimized out>) at /project/components/ar_relay/ar_relay_main.c:30

==================== THREAD 11 (TCB: 0x3ffcd310, name: 'sys_evt') =====================
#0  0x4008eb04 in esp_crosscore_int_send_yield (core_id=0) at /esp-idf/components/esp_system/crosscore_int.c:145
#1  0x400951a1 in xQueueReceive (xQueue=0x3ffcc5dc, pvBuffer=0x3ffcd240, xTicksToWait=<optimized out>) at /esp-idf/components/hal/esp32/include/hal/cpu_ll.h:39
#2  0x401402d8 in esp_event_loop_run (event_loop=0x3ffcc5c0, ticks_to_run=4294967295) at /esp-idf/components/esp_event/esp_event.c:566
#3  0x4014030b in esp_event_loop_run_task (args=0x3ffcc5c0) at /esp-idf/components/esp_event/esp_event.c:115

==================== THREAD 12 (TCB: 0x3ffb7d80, name: 'esp_timer') =====================
#0  0x4000bff0 in ?? ()
#1  0x40097cc1 in vPortClearInterruptMaskFromISR (prev_level=<optimized out>) at /esp-idf/components/freertos/port/xtensa/include/freertos/portmacro.h:571
#2  vPortExitCritical (mux=<optimized out>) at /esp-idf/components/freertos/port/xtensa/port.c:332
#3  0x40097075 in ulTaskGenericNotifyTake (uxIndexToWait=0, xClearCountOnExit=1, xTicksToWait=<optimized out>) at /esp-idf/components/freertos/tasks.c:5513
#4  0x400d792f in timer_task (arg=0x0) at /esp-idf/components/esp_timer/src/esp_timer.c:420

===================== ESP32 CORE DUMP END =====================
===============================================================
Done!
Coredump checksum='efc8a511'
I (14979) esp_core_dump_common: Core dump used 672 bytes on stack. 440 bytes left free.
I (14980) esp_core_dump_common: Restoring stack @ 0x3ffbe870
I (14981) esp_core_dump_uart: Core dump has been written to uart.
CPU halted.
Again, here's the defconfig
defconfig
CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_PERF=y
CONFIG_BOOTLOADER_LOG_LEVEL_NONE=y
CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE=y
CONFIG_BOOTLOADER_SKIP_VALIDATE_ALWAYS=y
CONFIG_ESPTOOLPY_FLASHMODE_QIO=y
CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
CONFIG_ESPTOOLPY_FLASHSIZE_4MB=y
# CONFIG_ESPTOOLPY_FLASHSIZE_DETECT is not set
CONFIG_ESPTOOLPY_AFTER_NORESET=y
CONFIG_ESPTOOLPY_MONITOR_BAUD_CONSOLE=y
CONFIG_PARTITION_TABLE_CUSTOM=y
CONFIG_PARTITION_TABLE_CUSTOM_FILENAME="partitions_ota.csv"
CONFIG_PARTITION_TABLE_OFFSET=0xC000
CONFIG_COMPILER_WARN_WRITE_STRINGS=y
CONFIG_BT_ENABLED=y
CONFIG_BTDM_CTRL_BLE_MAX_CONN=1
# CONFIG_BTDM_CTRL_MODEM_SLEEP is not set
# CONFIG_BTDM_BLE_SCAN_DUPL is not set
# CONFIG_BTDM_BLE_ADV_REPORT_FLOW_CTRL_SUPP is not set
# CONFIG_BT_BLE_SMP_ENABLE is not set
CONFIG_BT_STACK_NO_LOG=y
CONFIG_BT_ACL_CONNECTIONS=1
# CONFIG_BT_MULTI_CONNECTION_ENBALE is not set
CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY=y
CONFIG_BT_BLE_HOST_QUEUE_CONG_CHECK=y
CONFIG_SPI_MASTER_IN_IRAM=y
# CONFIG_SPI_SLAVE_ISR_IN_IRAM is not set
CONFIG_ESP_TLS_INSECURE=y
CONFIG_ESP_TLS_SKIP_SERVER_CERT_VERIFY=y
CONFIG_ESP32_REV_MIN_1=y
CONFIG_ESP32_DEFAULT_CPU_FREQ_240=y
CONFIG_ESP32_ULP_COPROC_ENABLED=y
CONFIG_ESP32_ULP_COPROC_RESERVE_MEM=128
# CONFIG_ESP32_DEBUG_OCDAWARE is not set
CONFIG_ESP32_RTC_CLK_SRC_INT_8MD256=y
CONFIG_ETH_DMA_BUFFER_SIZE=256
CONFIG_ETH_DMA_RX_BUFFER_NUM=3
CONFIG_ETH_DMA_TX_BUFFER_NUM=3
# CONFIG_ETH_USE_SPI_ETHERNET is not set
# CONFIG_ESP_EVENT_POST_FROM_ISR is not set
CONFIG_ESP_HTTP_CLIENT_ENABLE_BASIC_AUTH=y
# CONFIG_ESP_HTTP_CLIENT_ENABLE_DIGEST_AUTH is not set
CONFIG_OTA_ALLOW_HTTP=y
# CONFIG_ESP_PHY_CALIBRATION_AND_DATA_STORAGE is not set
CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
CONFIG_ESP_MAIN_TASK_STACK_SIZE=10240
CONFIG_ESP_CONSOLE_UART_CUSTOM=y
CONFIG_ESP_CONSOLE_UART_BAUDRATE=921600
CONFIG_ESP_INT_WDT_TIMEOUT_MS=30
CONFIG_ESP_TASK_WDT_PANIC=y
CONFIG_ESP_TASK_WDT_TIMEOUT_S=2
# CONFIG_ESP32_WIFI_NVS_ENABLED is not set
# CONFIG_ESP32_WIFI_IRAM_OPT is not set
# CONFIG_ESP32_WIFI_RX_IRAM_OPT is not set
CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE=y
CONFIG_ESP_COREDUMP_ENABLE_TO_UART=y
CONFIG_ESP_COREDUMP_MAX_TASKS_NUM=30
CONFIG_ESP_COREDUMP_STACK_SIZE=1024
CONFIG_FREERTOS_CORETIMER_1=y
CONFIG_FREERTOS_HZ=200
CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK=y
# CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER is not set
CONFIG_HEAP_ABORT_WHEN_ALLOCATION_FAILS=y
CONFIG_LOG_DEFAULT_LEVEL_DEBUG=y
CONFIG_LWIP_TCP_SND_BUF_DEFAULT=5744
CONFIG_LWIP_TCP_WND_DEFAULT=5744
CONFIG_LWIP_SNTP_MAX_SERVERS=4
CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_CMN=y
CONFIG_MBEDTLS_TLS_CLIENT_ONLY=y
# CONFIG_MQTT_TRANSPORT_WEBSOCKET is not set
CONFIG_NVS_ASSERT_ERROR_CHECK=y
# CONFIG_SPI_FLASH_ENABLE_ENCRYPTED_READ_WRITE is not set
CONFIG_WIFI_PROV_BLE_BONDING=y
CONFIG_WIFI_PROV_BLE_FORCE_ENCRYPTION=y
CONFIG_EMAC_RECV_TASK_CORE=0

@AxelLin
Copy link
Contributor

AxelLin commented May 8, 2024

@KonstantinKondrashov
Any follow up regarding the feedback in #10890 (comment) ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: In Progress Work is in progress Type: Bug bugs in IDF
Projects
None yet
Development

No branches or pull requests

8 participants