esp-idf/components
Angus Gratton c725aa3ec1 freertos: Fix race condition using vTaskDelete() cross-core causing resource leak
Causes test added in parent commit to pass.

This race happens if the deleted task is running on the other CPU,
and is already spinning in a critical section waiting for xTaskQueueMutex
because it's about to be blocked for a resource.

The "deleted" task would end up blocked, possibly indefinitely, and
never actually deleted or its resources cleaned up by the idle tasks.

Details:

vTaskDelete() adds the target task to the xTasksWaitingTermination list,
expecting it to be yielded off CPU and then cleaned up later. However as soon as
vTaskDelete() releases xTaskQueueMutex, the target task runs and moves itself to the
xDelayedTaskList1. Because interrupts are already disabled on that CPU,
the "yield" to the other CPU sent by the vTaskDelete() comes afterward so
doesn't help.
2021-04-14 19:45:08 +10:00
..
app_trace components: fix ldgen check errors 2021-01-19 11:17:18 +08:00
app_update secure_boot: Secure Boot V2 verify app signature on update (without Secure boot) 2021-03-17 17:08:59 +08:00
asio Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
bootloader Merge branch 'bugfix/silent_asserts_v4.3' into 'release/v4.3' 2021-04-13 04:30:09 +00:00
bootloader_support gpio: Disable USB JTAG when setting pins 18 and 19 as GPIOs on ESP32C3 2021-04-12 17:45:06 +08:00
bt docs: fix doxygen compile warnings for doxygen 1.9.1 2021-04-12 08:46:06 +08:00
cbor
cmock Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
coap Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
console console: fix linenoiseProbe never timing out 2021-01-15 09:22:04 +01:00
cxx cxx: re-enable cxx init_priority unit test for C3 2021-01-14 04:06:06 +00:00
driver Merge branch 'bugfix/enable_gpio18_gpio19_esp32c3_v4.3' into 'release/v4.3' 2021-04-13 07:40:00 +00:00
efuse Merge branch 'feature/temp_v4.3' into 'release/v4.3' 2021-03-26 05:51:47 +00:00
esp32 gpio: Disable USB JTAG when setting pins 18 and 19 as GPIOs on ESP32C3 2021-04-12 17:45:06 +08:00
esp32c3 Merge branch 'bugfix/deep_sleep_skip_verify_rtc_mem_heap_v4.3' into 'release/v4.3' 2021-04-12 08:18:21 +00:00
esp32s2 esp32c3: memprot API upgrade and test application 2021-04-12 10:21:58 +10:00
esp32s3 gpio: Disable USB JTAG when setting pins 18 and 19 as GPIOs on ESP32C3 2021-04-12 17:45:06 +08:00
esp_adc_cal [cxx]: fixed extern "C" declarations 2021-03-15 17:48:23 +08:00
esp_common deep_sleep: on S2 disable the brown out detector before deep sleeping 2021-02-25 10:53:06 +08:00
esp_eth gpio: Disable USB JTAG when setting pins 18 and 19 as GPIOs on ESP32C3 2021-04-12 17:45:06 +08:00
esp_event esp_wifi: Fix some wifi bugs 2021-03-31 14:21:49 +08:00
esp_gdbstub gdbstub: C3 - protection for UART register region 2021-01-11 17:09:42 +08:00
esp_hid Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
esp_http_client esp_http_client: Fix some memory leak issues by coverity static analyzer. 2021-01-25 03:37:47 +00:00
esp_http_server components: Use CONFIG_LWIP_IPV6 to strip IPv6 function in components 2021-04-12 05:42:50 +00:00
esp_https_ota global: fix sign-compare warnings 2021-01-12 14:05:08 +08:00
esp_https_server Fixed ssl_ctx not being freed at the time of error. 2020-11-25 13:47:38 +05:30
esp_hw_support rtc: increase CI acceptance range for calc 8M test 2021-04-09 15:06:11 +08:00
esp_ipc global: fix sign-compare warnings 2021-01-12 14:05:08 +08:00
esp_local_ctrl style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
esp_netif components: Use CONFIG_LWIP_IPV6 to strip IPv6 function in components 2021-04-12 05:42:50 +00:00
esp_pm esp_pm: fix an issue and add an interface (backport to v4.3) 2021-04-13 17:16:23 +08:00
esp_ringbuf Merge branch 'feature/move_ringbuf_funcs_into_flash' into 'master' 2021-01-20 07:32:39 +08:00
esp_rom Support new section addr and wifi lib for ESP32C3-ECO3. 2021-03-30 16:05:13 +08:00
esp_serial_slave_link esp_serial_slave_link: Add essl_spi definitions for esp32c3 2020-12-24 13:40:01 +11:00
esp_system esp_pm: fix an issue and add an interface (backport to v4.3) 2021-04-13 17:16:23 +08:00
esp_timer docs: updated system api-reference chapters for C3 2021-03-30 14:28:02 +08:00
esp_websocket_client websocket: Add configurable ping interval 2021-02-02 14:01:29 +01:00
esp_wifi esp_wifi: close tsens when close phy (backport v4.3) 2021-03-31 21:04:29 +08:00
esp-tls components: Use CONFIG_LWIP_IPV6 to strip IPv6 function in components 2021-04-12 05:42:50 +00:00
espcoredump gpio: Disable USB JTAG when setting pins 18 and 19 as GPIOs on ESP32C3 2021-04-12 17:45:06 +08:00
esptool_py esptool: update to support flashing esp32c3 eco 3 2021-03-26 18:42:41 +08:00
expat
fatfs spi: remove HSPI macro on esp32c3 and esp32s3 2021-04-06 15:30:28 +08:00
freemodbus components: Use CONFIG_LWIP_IPV6 to strip IPv6 function in components 2021-04-12 05:42:50 +00:00
freertos freertos: Fix race condition using vTaskDelete() cross-core causing resource leak 2021-04-14 19:45:08 +10:00
hal Merge branch 'bugfix/enable_gpio18_gpio19_esp32c3_v4.3' into 'release/v4.3' 2021-04-13 07:40:00 +00:00
heap heap: add light poisoning configuration to the tests. 2021-02-01 11:58:42 +08:00
idf_test AES/SHA: use GDMA driver instead of LL 2021-01-19 11:02:51 +08:00
jsmn Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
json cJSON: update to v1.7.14 release 2021-01-06 17:21:53 +05:30
libsodium Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
log Merge branch 'feature/c3_IDF-2554' into 'master' 2021-01-13 12:55:21 +08:00
lwip Merge branch 'bugfix/silent_asserts_v4.3' into 'release/v4.3' 2021-04-13 04:30:09 +00:00
mbedtls mbedtls tests: Add optional debug log output to AES stream tests 2021-03-25 15:28:45 +11:00
mdns components: Use CONFIG_LWIP_IPV6 to strip IPv6 function in components 2021-04-12 05:42:50 +00:00
mqtt style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
newlib Merge branch 'bugfix/silent_asserts_v4.3' into 'release/v4.3' 2021-04-13 04:30:09 +00:00
nghttp Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
nvs_flash [doc]: elaborated nvs encryption comments in nvs 2021-03-22 13:02:35 +00:00
openssl Whitespace: Automated whitespace fixes (large commit) 2020-11-11 07:36:35 +00:00
partition_table style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
perfmon esp32c3: Disable components that are not yet supported 2020-12-31 09:27:38 +11:00
protobuf-c
protocomm protocomm: Fixed NULL check of allocated memory 2021-03-05 10:04:45 +05:30
pthread pthread: fix the priority inheritance 2020-11-13 06:30:11 +00:00
riscv system: enable shared stack watchpoint 2021-02-19 16:59:29 +08:00
sdmmc Fix minor documentation issue 2020-12-25 15:46:36 +08:00
soc fix: reduce the consumption of touch sensor during deep sleep 2021-04-12 12:24:53 +08:00
spi_flash gpio: Disable USB JTAG when setting pins 18 and 19 as GPIOs on ESP32C3 2021-04-12 17:45:06 +08:00
spiffs style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
tcp_transport tcp_transport: Fix some memory leak issues by coverity static analyzer. 2021-01-25 03:37:47 +00:00
tcpip_adapter components: Use CONFIG_LWIP_IPV6 to strip IPv6 function in components 2021-04-12 05:42:50 +00:00
tinyusb Update tinyusb to the latest upstream version 2021-01-15 15:06:20 +01:00
touch_element touch_element: fix event callback parameter type, change it into pointer 2021-03-05 11:45:47 +08:00
ulp Merge branch 'style/python_isort_double_quote_fixer' into 'master' 2021-01-27 12:25:39 +08:00
unity spi_flash: mocking should be possible now 2020-12-14 18:53:14 +08:00
vfs vfs: use sys/dirent.h from newlib 2021-03-16 10:33:31 +08:00
wear_levelling docs: update api-reference chapters for C3 2021-03-02 15:00:56 +08:00
wifi_provisioning style: format python files with isort and double-quote-string-fixer 2021-01-26 10:49:01 +08:00
wpa_supplicant CI: enable example builds for C3 2021-02-09 12:04:02 +08:00
xtensa system: enable shared stack watchpoint 2021-02-19 16:59:29 +08:00